• [6.7.x] Intel iGPU Hardware Transcoding does not work with Plex + Docker


    switch
    • Solved Minor

    Hi,

     

    I've posted this already, but into an incorrect forum where it remained unnoticed. So sorry for the x-post.

     

    Symptoms:

     

    Plex HW transcoding does not work with Docker on unRAID 6.7.x (0 through 2), although it is working fine when downgrading to 6.6.7 without any change in unRAID or Docker container configuration.

     

    go file:

    #!/bin/bash
    #Setup drivers for hardware transcoding in Plex
    modprobe i915
    chmod -R 777 /dev/dri
    #Start the Management Utility
    /usr/local/sbin/emhttp &

     

    syslinux.cfg untouched as i915 support is included OOB for some time now, however during my troubleshooting attempts, I've tried to force i915 support by modifying the aforementioned config file like this (with no effect of course):

     

    label Unraid OS
      menu default
      kernel /bzimage
      append pci=realloc=off initrd=/bzroot i915.alpha_support=1

    /dev/dri is being passed to the Plex docker container as a device and is visible to the container:

     

    root@532cd6092721:/# ls -la /dev/dri
    total 0
    drwxr-xr-x 2 root root        80 Jun 19 11:05 .
    drwxr-xr-x 6 root root       360 Jun 19 11:05 ..
    crw-rw---- 1 root video 226,   0 Jun 19 11:05 card0
    crwxrwxrwx 1   99 users 226, 128 Jun 19 11:05 renderD128

     

    Plex transcoder does appear to see the iGPU device, Plex dashboard shows that a HW transcode session is ongoing, however video keeps buffering and playback is never initiated.

     

    image.png.69113bbeeac7beb273042ec6845c0e7a.png

     

    I've checked Plex log quite extensively and they do IMO confirm what I've stated above - the transcoder sees the iGPU, transcode session starts, but there is no video being output.

     

    Jun 19, 2019 15:38:32.248 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: using hardware decode accelerator vaapi
    Jun 19, 2019 15:38:32.248 [0x15102bbfd700] DEBUG - [Universal] Using local file path instead of URL: /movies/Captain Marvel (2019)/Captain Marvel (2019) - Bluray-1080p.mkv
    Jun 19, 2019 15:38:32.249 [0x15102bbfd700] DEBUG - HTTP requesting GET http://127.0.0.1:32400/library/streams/181?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx
    Jun 19, 2019 15:38:32.249 [0x151093dfe700] DEBUG - Auth: authenticated user 1 as obfuscated
    Jun 19, 2019 15:38:32.249 [0x15102b1f8700] DEBUG - Request: [127.0.0.1:34844 (Loopback)] GET /library/streams/181 (14 live) GZIP Signed-in Token (obfuscated)
    Jun 19, 2019 15:38:32.252 [0x15102b1f8700] DEBUG - Content-Length of /movies/Captain Marvel (2019)/Captain Marvel (2019) - Bluray-1080p.en.srt is 91753.
    Jun 19, 2019 15:38:32.253 [0x151093dfe700] DEBUG - Completed: [127.0.0.1:34844] 200 GET /library/streams/181 (14 live) GZIP 3ms 91753 bytes
    Jun 19, 2019 15:38:32.253 [0x15102bbfd700] DEBUG - HTTP 200 response from GET http://127.0.0.1:32400/library/streams/181?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx
    Jun 19, 2019 15:38:32.253 [0x15102bbfd700] DEBUG - Detected character set of UTF-8.
    Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - Downloaded stream from [http://127.0.0.1:32400/library/streams/181?X-Plex-Token=xxxxxxxxxxxxxxxxxxxx] (codec: srt) to temporary file [/transcode/Transcode/Sessions/plex-transcode-jk19rtdgc5dtot7fu88d8gsy-ef1b128f-4370-4808-a01d-07825b462435/temp-0.srt]
    Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: zero-copy support present
    Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: using zero-copy transcoding
    Jun 19, 2019 15:38:32.254 [0x15102bbfd700] DEBUG - TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi
    Jun 19, 2019 15:38:32.255 [0x15102bbfd700] DEBUG - Job running: EAE_ROOT='/tmp/pms-85736070-8352-49fb-956e-d7be9ba4a099/EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/config/Library/Application\ Support/Plex\ Media\ Server/Codecs/21b5515-2321-linux-x86_64/' XDG_CACHE_HOME='/config/Library/Application Support/Plex Media Server/Cache' XDG_DATA_HOME='/usr/lib/plexmediaserver/Resources' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/usr/lib/plexmediaserver/Plex Transcoder' '-codec:0' 'h264' '-hwaccel:0' 'vaapi' '-hwaccel_fallback_threshold:0' '10' '-hwaccel_output_format:0' 'vaapi' '-codec:1' 'dca' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/movies/Captain Marvel (2019)/Captain Marvel (2019) - Bluray-1080p.mkv' '-analyzeduration' '20000000' '-probesize' '20000000' '-i' '/transcode/Transcode/Sessions/plex-transcode-jk19rtdgc5dtot7fu88d8gsy-ef1b128f-4370-4808-a01d-07825b462435/temp-0.srt' '-filter_complex' '[0:0]hwupload[0];[0]scale_vaapi=w=1278:h=538:format=nv12[1];[1]hwupload[2]' '-filter_complex' '[0:1] aresample=async=1:ocl='\''stereo'\'':osr=48000[3]' '-map' '[2]' '-metadata:s:0' 'language=eng' '-codec:0' 'h264_vaapi' '-b:0' '2717k' '-maxrate:0' '3623k' '-bufsize:0' '7246k' '-r:0' '23.975999999999999' '-force_key_frames:0' 'expr:gte(t,0+n_forced*5)' '-map' '[3]' '-metadata:s:1' 'language=eng' '-codec:1' 'aac' '-b:1' '148k' '-f' 'dash' '-min_seg_duration' '5000000' '-skip_to_segment' '1' '-time_delta' '0.0625' '-manifest_name' 'http://127.0.0.1:32400/video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/manifest' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'dash' '-map' '1:s:0' '-metadata:s:0' 'language=eng' '-codec:0' 'ass' '-f' 'segment' '-segment_format' 'ass' '-segment_time' '1' '-segment_header_filename' 'sub-header' '-segment_start_number' '0' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/seglist?stream=subtitles' '-segment_list_type' 'csv' '-segment_list_size' '2147483647' '-segment_list_separate_stream_times' '1' '-segment_format_options' 'ignore_readorder=1' 'sub-chunk-%05d' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-vaapi_device' '/dev/dri/renderD128' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress'
    Jun 19, 2019 15:38:32.256 [0x15102bbfd700] DEBUG - Jobs: Starting child process with pid 586
    Jun 19, 2019 15:38:32.281 [0x15102adf6700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=startup (15 live) Signed-in Token (obfuscated)
    Jun 19, 2019 15:38:32.282 [0x151093dfe700] DEBUG - Completed: [127.0.0.1:34846] 204 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=startup (15 live) 0ms 203 bytes (pipelined: 1) (range: bytes=0-) 
    Jun 19, 2019 15:38:32.282 [0x1510916b8700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opening (15 live) Signed-in Token (obfuscated)
    Jun 19, 2019 15:38:32.282 [0x151093dfe700] DEBUG - Completed: [127.0.0.1:34846] 204 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opening (15 live) 0ms 203 bytes (pipelined: 2) (range: bytes=0-) 
    Jun 19, 2019 15:38:32.284 [0x15102aff7700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opened (15 live) Signed-in Token (obfuscated)
    Jun 19, 2019 15:38:32.284 [0x151093fff700] DEBUG - Completed: [127.0.0.1:34846] 204 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress?status=opened (15 live) 0ms 203 bytes (pipelined: 3) (range: bytes=0-) 
    Jun 19, 2019 15:38:32.284 [0x15102b9fc700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=0&id=0&codec=h264&type=video (14 live) Signed-in Token (obfuscated)
    Jun 19, 2019 15:38:32.285 [0x151093fff700] DEBUG - Completed: [127.0.0.1:34846] 206 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=0&id=0&codec=h264&type=video (14 live) 0ms 256 bytes (pipelined: 4) (range: bytes=0-) 
    Jun 19, 2019 15:38:32.285 [0x15102adf6700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=1&id=0&codec=dts&type=audio (14 live) Signed-in Token (obfuscated)
    Jun 19, 2019 15:38:32.285 [0x151093fff700] DEBUG - Completed: [127.0.0.1:34846] 206 PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/stream?index=1&id=0&codec=dts&type=audio (14 live) 0ms 256 bytes (pipelined: 5) (range: bytes=0-) 
    Jun 19, 2019 15:38:32.340 [0x1510916b8700] DEBUG - Request: [127.0.0.1:34846 (Loopback)] PUT /video/:/transcode/session/jk19rtdgc5dtot7fu88d8gsy/ef1b128f-4370-4808-a01d-07825b462435/progress/streamDetail?index=0&id=0&codec=h264&type=video&profile=High&language=eng&width=1920&height=808&interlaced=0&level=41&frameRate=23.9

    Affected systems:

     

    As evidenced by other users, it appears only 7th gen Intel processors including UHD600 iGPU are affected, namely Celeron J4105 (Gemini Lake)

     

    Thanks in advance for looking into this.

    • Like 2



    User Feedback

    Recommended Comments



    I can confirm that's happen in TVheadend too, not only in Plex. I think its related with Unraid,l and not with dockers.

    • Upvote 1
    Link to comment

    I'm using an E3-1275v6 with P630 in a Handbrake docker doing QuickSync-based h.265 conversions and it seems to be working fine.  I had been using it for Plex as well but there was something that would happen where the box would lock up randomly when using both so I disabled it for Plex for now.   May have been a thermal issue, and I've upgraded cooling since as well.

     

    Not sure if that helps, but it's another data point.

    Link to comment

    I am passing the iGPU to Plex exclusively, nothing else is using it.

     

    On another note, I know this is a minor issue but it is 10 days today since I've opened this report and there has been zero response from anyone from the unRAID team. A simple "we will look into it" would be just fine. This is not how you do customer support.

    Edited by switch
    typo
    Link to comment

    I am having the exact same issue. I posted about it here: 

    and here: 

    We don't seem to be the only ones experiencing this problem. As Switch points out, the problem does not occur on UnRaid 6.6.7. So I'm thinking it's most likely a kernel issue. 

     

    Even when downgrading I still experience the "Failed to wrapper hybrid_drv_video.so" error in the Plex Docker log. However the hardware transcoding DOES seem to be functioning. The "kernel: i915 0000:00:02.0: Resetting vecs0 for hang on vecs0" error which potentially locks up the entire UnRaid system -- if I don't stop the docker fast enough -- does not occur on UnRaid 6.6.7. 

     

    Specs:

    M/B: Supermicro - X10SLH-F/X10SLM+-F

    CPU: Intel® Xeon® CPU E3-1285L v4 @ 3.40GHz

    Edited by semmtex
    Typo
    • Like 1
    Link to comment

    Can please somebody write a short summary which commands are needed to check if the igpu is used for transcoding?

    Link to comment


    I recently built my second Unraid server to host Plex Media Server – this build Intel-based. I am expecting this server will serve mostly video media that doesn't require transcoding. For media that does requires transcoding I'm expecting to favour using software transcoding instead of hardware transcoding. I am however curious to evaluate Intel Quick Sync Video for hardware transcoding. For now, hardware transcoding is not a priority for me.

     

    Reading through this forum thread I understand Plex Media Server (Plex Pass) running on Unraid 6.7.2 to leverage Intel Quick Sync Video hardware transcoding is currently not working. This seems to be the case for me – when transcoding the "(hw)" identifier is not appearing in Plex Dashboard.

     

    I can contribute one small bit of troubleshooting information that may (or may not) assist developers and/or users (below).


    PLATFORM
    Unraid OS Plus 6.7.2, ASRock Z270 Gaming-ITX/ac (Bios Version P2.50), Intel Core i7-7700 CPU @ 3.60GHz, 8 GIB DDR4, binhex-plexpass (Plex Media Server, Version 1.16.2.1297), tautulli.

    Array: Parity 1x 2TB (Hitachi_HDS722020ALA330), Storage 5x 2TB (Hitachi_HDS722020ALA330). 
    Cache: Samsung SSD 970 EVO Plus 500GB (nvme)

    The iGPU is identified by Unraid.

     

    System Devices:
    IOMMU group 2:    [8086:5912] 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)

     

    The presence or absence of a fit-Headless (1080p) connected to the motherboard's HDMI port (iGPU) does NOT seem to support enabling hardware transcoding. 

     

    The presence or absence of a fit-Headless (1080p) connected to the motherboard's HDMI port (iGPU) produces the same result when entering the following terminal commands

     

    Linux 4.19.56-Unraid.
    Last login: Sun Jul 14 15:55:51 +1000 2019 on /dev/pts/0.
    root@SilverStone:~# cd /dev/dri
    -bash: cd: /dev/dri: No such file or directory
    root@SilverStone:~# ls -la /dev/dri
    /bin/ls: cannot access '/dev/dri': No such file or directory
    root@SilverStone:~# 
    

    I look forward to evaluating Intel Quick Sync Video for hardware transcoding at some point (but it is not a high priority for me).

    Edited by Maxrad
    Link to comment

    If you get a "Failed to wrapper hybrid_drv_video.so", this is because plex didn't include the library in their binary package.

    This error we also got from the users of our plex container and not running unraid. So it's a plex issue and should be reported there.

     

    @Maxrad

    Your post doesn't really belong in this bug report. Better to open your own normal thread. But you are probably not adding modprobe i915 in your go file.

     

    As for you guys using the J4105, it doesn't look like it support quick sync from a quick Google search.

    Link to comment
    2 hours ago, saarg said:

    As for you guys using the J4105, it doesn't look like it support quick sync from a quick Google search.

    I know that ARK does not specifically mention QuickSync support, BUT... J4105 has a UHD600 graphics built in and UHD600 does indeed support QuickSync. This is further evidenced by HW transcoding working perfectly fine on unRAID 6.6.7

     

    https://en.wikichip.org/wiki/intel/celeron/j4105#Graphics

    https://en.wikichip.org/wiki/intel/uhd_graphics/600#Hardware_Accelerated_Video

    Link to comment

    So since I haven’t seen a whole lot of complaints from a large number of people, it looks like it’s limited to just a couple of CPU’s. I’ve seen no complaints from those using 8th gen iGPU’s or really anything other than the J4105. With the amount of people using Plex in Docker, UnRAID 6.7.x, and QuickSync, you’d think we’d have seen way more people looking for help with this.

    Link to comment
    5 hours ago, switch said:

    I know that ARK does not specifically mention QuickSync support, BUT... J4105 has a UHD600 graphics built in and UHD600 does indeed support QuickSync. This is further evidenced by HW transcoding working perfectly fine on unRAID 6.6.7

     

    https://en.wikichip.org/wiki/intel/celeron/j4105#Graphics

    https://en.wikichip.org/wiki/intel/uhd_graphics/600#Hardware_Accelerated_Video

     

    Then it's probably kernel related. Do you get the entr  in the plex log that the hybrid_drv_video.so is missing?

     

    You have confirmed in 6.6.7 that cpu usage is less and it's not only plex thinking it uses hw?

    in case the chip doesn't support quicksync and there was an error in the earlier kernel.

    Link to comment
    9 hours ago, saarg said:

    If you get a "Failed to wrapper hybrid_drv_video.so", this is because plex didn't include the library in their binary package.

    This error we also got from the users of our plex container and not running unraid. So it's a plex issue and should be reported there.

    I know that this has to do with Plex. And multiple users have already reported this at the Plex Forums. I was just stating that this error occurs in the Plex log, but that it doesn't seem to impair the HW transcoding ability. 

     

    1 hour ago, saarg said:

    You have confirmed in 6.6.7 that cpu usage is less and it's not only plex thinking it uses hw?

    in case the chip doesn't support quicksync and there was an error in the earlier kernel.

    Yes. On 6.7.X I have a lot more CPU usage when transcoding than on 6.6.7 utilising QuickSync HW Transcoding.

    EDIT: If there's another way to double check that i915 is really utilised while transcoding, I'm all ears...

    Edited by semmtex
    Link to comment
    12 hours ago, semmtex said:

    Yes. On 6.7.X I have a lot more CPU usage when transcoding than on 6.6.7 utilising QuickSync HW Transcoding.

    I can confirm this. Plus, running vainfo clearly shows the supported encode/decode formats:

    root@7011518d444b:/# vainfo
    error: XDG_RUNTIME_DIR not set in the environment.
    error: can't connect to X server!
    libva info: VA-API version 1.1.0
    libva info: va_getDriverName() returns 0
    libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
    libva info: Found init function __vaDriverInit_1_1
    libva info: va_openDriver() returns 0
    vainfo: VA-API version: 1.1 (libva 2.1.0)
    vainfo: Driver version: Intel i965 driver for Intel(R) Gemini Lake - 2.1.0
    vainfo: Supported profile and entrypoints
          VAProfileMPEG2Simple            : VAEntrypointVLD
          VAProfileMPEG2Main              : VAEntrypointVLD
          VAProfileH264ConstrainedBaseline: VAEntrypointVLD
          VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
          VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
          VAProfileH264Main               : VAEntrypointVLD
          VAProfileH264Main               : VAEntrypointEncSlice
          VAProfileH264Main               : VAEntrypointEncSliceLP
          VAProfileH264High               : VAEntrypointVLD
          VAProfileH264High               : VAEntrypointEncSlice
          VAProfileH264High               : VAEntrypointEncSliceLP
          VAProfileH264MultiviewHigh      : VAEntrypointVLD
          VAProfileH264MultiviewHigh      : VAEntrypointEncSlice
          VAProfileH264StereoHigh         : VAEntrypointVLD
          VAProfileH264StereoHigh         : VAEntrypointEncSlice
          VAProfileVC1Simple              : VAEntrypointVLD
          VAProfileVC1Main                : VAEntrypointVLD
          VAProfileVC1Advanced            : VAEntrypointVLD
          VAProfileNone                   : VAEntrypointVideoProc
          VAProfileJPEGBaseline           : VAEntrypointVLD
          VAProfileJPEGBaseline           : VAEntrypointEncPicture
          VAProfileVP8Version0_3          : VAEntrypointVLD
          VAProfileVP8Version0_3          : VAEntrypointEncSlice
          VAProfileHEVCMain               : VAEntrypointVLD
          VAProfileHEVCMain               : VAEntrypointEncSlice
          VAProfileHEVCMain10             : VAEntrypointVLD
          VAProfileHEVCMain10             : VAEntrypointEncSlice
          VAProfileVP9Profile0            : VAEntrypointVLD
          VAProfileVP9Profile0            : VAEntrypointEncSlice
          VAProfileVP9Profile2            : VAEntrypointVLD

    So can we please stop focusing on the hardware, which is clearly capable of HW transcoding and instead focus on the real issue - unRAID ver. 6.7.0 and up?

    Edited by switch
    Link to comment
    14 hours ago, switch said:

    @limetech any chance of a reply from you guys? "We will look into it" at least?

    Well it's either kernel, driver, docker, weird bios interaction (and use of hacks like that fit-headless), or something else.  Hard to know where to begin.

    Link to comment
    8 hours ago, limetech said:

    Well it's either kernel, driver, docker, weird bios interaction (and use of hacks like that fit-headless), or something else.  Hard to know where to begin.

    I think we can rule "weird bios interactions and use of hacks" out, since HW transcoding works perfectly fine on 6.6.7. I am not using any HDMI headless dongles, I have a proper HDMI cable attached to the iGPU output and connected to a real monitor (transcoding works fine on 6.6.7 even without the iGPU being connected to anything). No other GPU in my system. Is there a way to "transplant" the Docker engine used in 6.6.7 to a later stable build so we can potentially rule it out as well? Does anyone know if there perhaps were any changes to the mainline kernel between 6.6.7 and 6.7.x that could break this? Would it be of any use to test the HW transcoding on a Slackware distro with the same kernel version or is unRAID's kernel too heavily modified for a test like this to have any value?

    2 hours ago, GHunter said:

    Not a single diagnostics posted in this thread either.

    My mistake. I'm pretty new to unRAID and it didn't occur to me there's the option to download the diagnostics. I will provide that as soon as possible, but since I'll need to upgrade to 6.7.x to actually make transcoding not work again so there is something to troubleshoot, it's going to be a PITA. Maybe some of the other affected guys currently on 6.7.x will be kind enough to post their diagnostics in the meantime? Anyone? :)

    Link to comment

    Fresh install on Odroid H2 (J4105) using 6.7.2, setup my modprobe, added /dev/dri to Plex. Play any video requiring transcoding and it just hangs on a black screen indefinitely.

     

    Downgraded to 6.6.7 using Unraid Nvidia plugin, touched absolutely nothing else on a fresh boot, open Plex and play any of the videos that would hang, all instantly play without issue.

     

    EDIT: I've attached screenshots of the same video on 6.6.7 and 6.7.2 with diagnostics.

     

    6.6.7-plex.png

     

    6.7.2-plex.png

    6.6.7-foxbrain-diagnostics-20190720-0216.zip 6.7.2-foxbrain-diagnostics-20190719-1626.zip

    Edited by mgoodings
    Added attachments
    • Like 1
    Link to comment
    On 7/14/2019 at 12:51 AM, Maxrad said:


    I recently built my second Unraid server to host Plex Media Server – this build Intel-based. I am expecting this server will serve mostly video media that doesn't require transcoding. For media that does requires transcoding I'm expecting to favour using software transcoding instead of hardware transcoding. I am however curious to evaluate Intel Quick Sync Video for hardware transcoding. For now, hardware transcoding is not a priority for me.

     

    Reading through this forum thread I understand Plex Media Server (Plex Pass) running on Unraid 6.7.2 to leverage Intel Quick Sync Video hardware transcoding is currently not working. This seems to be the case for me – when transcoding the "(hw)" identifier is not appearing in Plex Dashboard.

     

    I can contribute one small bit of troubleshooting information that may (or may not) assist developers and/or users (below).


    PLATFORM
    Unraid OS Plus 6.7.2, ASRock Z270 Gaming-ITX/ac (Bios Version P2.50), Intel Core i7-7700 CPU @ 3.60GHz, 8 GIB DDR4, binhex-plexpass (Plex Media Server, Version 1.16.2.1297), tautulli.

    Array: Parity 1x 2TB (Hitachi_HDS722020ALA330), Storage 5x 2TB (Hitachi_HDS722020ALA330). 
    Cache: Samsung SSD 970 EVO Plus 500GB (nvme)

    The iGPU is identified by Unraid.

     

    System Devices:
    IOMMU group 2:    [8086:5912] 00:02.0 VGA compatible controller: Intel Corporation HD Graphics 630 (rev 04)

     

    The presence or absence of a fit-Headless (1080p) connected to the motherboard's HDMI port (iGPU) does NOT seem to support enabling hardware transcoding. 

     

    The presence or absence of a fit-Headless (1080p) connected to the motherboard's HDMI port (iGPU) produces the same result when entering the following terminal commands

     

    
    Linux 4.19.56-Unraid.
    Last login: Sun Jul 14 15:55:51 +1000 2019 on /dev/pts/0.
    root@SilverStone:~# cd /dev/dri
    -bash: cd: /dev/dri: No such file or directory
    root@SilverStone:~# ls -la /dev/dri
    /bin/ls: cannot access '/dev/dri': No such file or directory
    root@SilverStone:~# 
    

    I look forward to evaluating Intel Quick Sync Video for hardware transcoding at some point (but it is not a high priority for me).

    you are missing a few steps sir

    I have both my i3 8100 and i7 7700K using quick sync and I'll tell you its the bees knees!

    first you get a ton of transcodes if needed and the CPU barely gets used. using software all my i7 can handle is about 8 transcodes before nearly pinning to 100%

    first put this in your go file

    #enable module for iGPU and perms for the render device
    modprobe i915
    chown -R nobody:users /dev/dri
    chmod -R 777 /dev/dri

    to avoid rebooting run each line below the "#enable " in CLI and hit enter between them (if you prefer you can just add to your go file and reboot also

    then in your plex docker you need to edit it and under extra parameters you need to add "--device /dev/dri:/dev/dri" exactly without the quotes.

    once done you should get hardware transcoding providing you have a plex pass account (plex pass is required to get hardware transcoding)

    Screen Shot 2019-07-20 at 8.39.59 PM.png

    Link to comment
    On 7/14/2019 at 12:51 AM, Maxrad said:

    Reading through this forum thread I understand Plex Media Server (Plex Pass) running on Unraid 6.7.2 to leverage Intel Quick Sync Video hardware transcoding is currently not working. This seems to be the case for me – when transcoding the "(hw)" identifier is not appearing in Plex Dashboard.

     

    Works fine for me and many others with unRAID 6.7.2  Those who have issues seem to have certain 7th generation CPUs/iGPUs with QSV.  Not ALL systems with 7th gen Intel CPUs have the issue.

     

    Have you done all the required setup in unRAID go file, Plex Docker container and and Plex Media Server as documented in this Plex hw transcoding setup guide?  It's what @Can0nfan mentioned you need to do with lots of screenshots and explanations.

     

    It doesn't just work without following all of the configuration steps.

     

    The absence of /dev/dri folder is an indication that you do not have your system properly configured for hardware transcoding.

    Edited by Hoopster
    Link to comment

    I should add I’ve had this running since 6.4 and it continues to work with 6.7.2 as per my screenshot is what it’s taken from I’ve even swapped CPUs from My original i7 6700k to this 7700k and no configurable changes at all and hw transcoding works

     

    what docker are you using ? I’m using binhex-plexpass with no issues

    Link to comment

    I give up. Since LimeTech provides zero support, I'll just stay on 6.6.7 or upgrade to a CPU that is not affected by this issue some time in the future. /shrug

    Edited by switch
    • Like 1
    Link to comment
    7 minutes ago, switch said:

    I give up. Since LimeTech provides zero support, I'll just stay on 6.6.7 or upgrade to a CPU that is not affected by this issue some time in the future. /shrug

    Did you try the 6.7.3 RC and see if one of the downgrades work for this?

    • Like 1
    Link to comment
    On 7/27/2019 at 9:21 PM, saarg said:

    Did you try the 6.7.3 RC and see if one of the downgrades work for this?

    I am using the linuxserver.io Plex docker and can confirm 6.7.3 RC2 does not fix any of the issues with the J4105 / UHD600. Rolled back to 6.6.7, transcoding works again.

     

    I have attached diagnostics and a screenshot for 6.7.3 RC2.

     

    I'm still on my trial period for my J4105 machine, I will not be purchasing Unraid if there is no upgrade path forward for this chip, the support seems non-existent from what I've seen here.

     

    545633254_ScreenShot2019-07-29at1_05_24am.png.517e1f99eadd98f44f9d110cdc2a6d04.png

    foxbrain-diagnostics-20190728-1504.zip

    • Like 1
    Link to comment

    Hi mgoodings, i have purchased the unraid and i can confirm that's not works on any version after update 6.6.7.
    No other version above 6.6.7 with transcoding working. I downgrade to 6.6.7 and waiting for support...

    Link to comment

    Have you i915.alpha_support=1 in the syslinux.cfg?

    Then please test to remove it.

     

    This was only only required on older Linux Kernels this is maybe the issue with the unraid update

    because a newer kernel is used.

     

    I use only the modprobe i915 in the go script and

    In my setup an Intel Asrock J3455 the hardware transcoding with absolute flawless.

     

    It is a different GPU but give it a try.

    Link to comment



    Join the conversation

    You can post now and register later. If you have an account, sign in now to post with your account.
    Note: Your post will require moderator approval before it will be visible.

    Guest
    Add a comment...

    ×   Pasted as rich text.   Restore formatting

      Only 75 emoji are allowed.

    ×   Your link has been automatically embedded.   Display as a link instead

    ×   Your previous content has been restored.   Clear editor

    ×   You cannot paste images directly. Upload or insert images from URL.


  • Status Definitions

     

    Open = Under consideration.

     

    Solved = The issue has been resolved.

     

    Solved version = The issue has been resolved in the indicated release version.

     

    Closed = Feedback or opinion better posted on our forum for discussion. Also for reports we cannot reproduce or need more information. In this case just add a comment and we will review it again.

     

    Retest = Please retest in latest release.


    Priority Definitions

     

    Minor = Something not working correctly.

     

    Urgent = Server crash, data loss, or other showstopper.

     

    Annoyance = Doesn't affect functionality but should be fixed.

     

    Other = Announcement or other non-issue.