Laucien Posted March 29, 2018 Share Posted March 29, 2018 Hello!. Did some searching around on this topic and found this thread but for a different CPU and old so figured I could post again instead of resurrecting it. I have a server running on a Skylake 6700 (non-K) with Linuxserver's Plex container. I've been using it for more than a year already and works great but just started running into issues when trying to transcode full quality BD movies to my TV or my computer. It just plays a bit, buffers, plays, buffers, repeat. I've set Plex's logs to DEBUG+VERBOSE and this is what I get when trying to stream content like this to my TV: Mar 29, 2018 03:59:17.133 [0x14eb2bffd700] VERBOSE - * speed => 0.6 Mar 29, 2018 03:59:17.623 [0x14eb2d9fe700] VERBOSE - * speed => 0.0 Mar 29, 2018 03:59:18.224 [0x14eb2bffd700] VERBOSE - * speed => 0.8 Mar 29, 2018 03:59:18.787 [0x14eb2d9fe700] VERBOSE - * speed => 0.7 Mar 29, 2018 03:59:19.362 [0x14eb273ff700] VERBOSE - * speed => 0.8 Mar 29, 2018 03:59:19.754 [0x14eb2d9fe700] VERBOSE - * speed => 0.5 Mar 29, 2018 03:59:20.288 [0x14eb2d9fe700] VERBOSE - * speed => 0.7 Mar 29, 2018 03:59:20.877 [0x14eb2e3c8700] VERBOSE - * speed => 0.7 Mar 29, 2018 03:59:21.365 [0x14eb287ff700] VERBOSE - * speed => 0.6 Mar 29, 2018 03:59:21.851 [0x14eb287ff700] VERBOSE - * speed => 0.7 Mar 29, 2018 03:59:22.388 [0x14eb2dbff700] VERBOSE - * speed => 0.6 Mar 29, 2018 03:59:22.958 [0x14eb2bffd700] VERBOSE - * speed => 0.6 Mar 29, 2018 03:59:23.477 [0x14eb2bffd700] VERBOSE - * speed => 0.6 Mar 29, 2018 03:59:23.989 [0x14eb2d9fe700] VERBOSE - * speed => 0.7 Mar 29, 2018 03:59:24.544 [0x14eb273ff700] VERBOSE - * speed => 0.7 Mar 29, 2018 03:59:25.102 [0x14eb2e3c8700] VERBOSE - * speed => 0.8 From the Plex documentation a value of 1.0 or above is needed for real-time smooth playback so that's obviously the issue here. I've been trying to enable HW transcoding by doing the steps in that thread above and what I found online but to no luck. Here's what I've done so far. Set the container like this: Executed these commands and there were no errors when using the `modprobe` command. modprobe i915 chmod -R 777 /dev/dri chown -R nobody:users /dev/dri Checked the `/dev/dri/` folder in unRAID just to check all the needed files were there root@Vault:~# ls -las /dev/dri/ total 0 0 drwxrwxrwx 3 nobody users 100 Mar 29 03:43 ./ 0 drwxr-xr-x 15 root root 3800 Mar 29 03:43 ../ 0 drwxrwxrwx 2 nobody users 80 Mar 29 03:43 by-path/ 0 crwxrwxrwx 1 nobody users 226, 0 Mar 29 03:43 card0 0 crwxrwxrwx 1 nobody users 226, 128 Mar 29 03:43 renderD128 Then started the Plex container back up and -> Transcoding -> Advanced -> Enabled HW transcoding. Then I tried to stream the same movie and noticed absolutely no change so I dived into the logs and found this: Mar 29, 2018 03:12:13.909 [0x14ace6bfb700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument Mar 29, 2018 03:12:13.912 [0x14ace6bfb700] DEBUG - TPU: hardware transcoding: enabled, but no hardware decode accelerator found Mar 29, 2018 03:12:13.913 [0x14ace6bfb700] DEBUG - TPU: hardware transcoding: zero-copy support not present Mar 29, 2018 03:12:13.913 [0x14ace6bfb700] DEBUG - TPU: hardware transcoding: final decoder: , final encoder: The 6700 has an iGPU and from Intel's site it supports quicksync so I'm clearly screwing up somewhere... any thoughts?. Quote Link to comment
John_M Posted March 29, 2018 Share Posted March 29, 2018 Do you have a Plex Pass? Quote Link to comment
TheBlackPitcher Posted March 29, 2018 Share Posted March 29, 2018 (edited) I have a 8700 intel CPU. i had to set i915.alpha_support=1 in syslinux.cfg to support my IGPU. Edited March 29, 2018 by TheBlackPitcher Quote Link to comment
Laucien Posted March 29, 2018 Author Share Posted March 29, 2018 6 hours ago, John_M said: Do you have a Plex Pass? Yes. 6 hours ago, TheBlackPitcher said: I have a 8700 intel CPU. i had to set i915.alpha_support=1 in syslinux.cfg to support my IGPU. Will give that a try. I just edit that file and add/modify that line?. Quote Link to comment
TheBlackPitcher Posted March 29, 2018 Share Posted March 29, 2018 (edited) 24 minutes ago, Laucien said: Yes. Will give that a try. I just edit that file and add/modify that line?. default menu.c32 menu title Lime Technology, Inc. prompt 0 timeout 50 label unRAID OS menu default kernel /bzimage append initrd=/bzroot i915.alpha_support=1 label unRAID OS GUI Mode kernel /bzimage append initrd=/bzroot,/bzroot-gui i915.alpha_support=1 label unRAID OS Safe Mode (no plugins, no GUI) kernel /bzimage append initrd=/bzroot unraidsafemode label unRAID OS GUI Safe Mode (no plugins) kernel /bzimage append initrd=/bzroot,/bzroot-gui unraidsafemode label Memtest86+ kernel /memtest Yes like this. After that, reboot. Edited March 29, 2018 by TheBlackPitcher Quote Link to comment
Hoopster Posted March 29, 2018 Share Posted March 29, 2018 11 hours ago, Laucien said: Checked the `/dev/dri/` folder in unRAID just to check all the needed files were there root@Vault:~# ls -las /dev/dri/ total 0 0 drwxrwxrwx 3 nobody users 100 Mar 29 03:43 ./ 0 drwxr-xr-x 15 root root 3800 Mar 29 03:43 ../ 0 drwxrwxrwx 2 nobody users 80 Mar 29 03:43 by-path/ 0 crwxrwxrwx 1 nobody users 226, 0 Mar 29 03:43 card0 0 crwxrwxrwx 1 nobody users 226, 128 Mar 29 03:43 renderD128 OK, looks like the appropriate drivers are there, but, just to make sure, do you have "onboard", "iGFX" or whatever your BIOS calls it set as the primary graphics adapter? If not, the drivers may be present, but, they will not be loaded at system boot. If you have a PCIe graphics card and it is set as the primary, hardware transcoding is a no-go. Also, if your BIOS has an AUTO option for the primary graphics adapter, make sure that is not selected. Your iGPU must be the primary graphics adapter. Quote Link to comment
Laucien Posted March 29, 2018 Author Share Posted March 29, 2018 23 minutes ago, TheBlackPitcher said: default menu.c32 menu title Lime Technology, Inc. prompt 0 timeout 50 label unRAID OS menu default kernel /bzimage append initrd=/bzroot i915.alpha_support=1 label unRAID OS GUI Mode kernel /bzimage append initrd=/bzroot,/bzroot-gui i915.alpha_support=1 label unRAID OS Safe Mode (no plugins, no GUI) kernel /bzimage append initrd=/bzroot unraidsafemode label unRAID OS GUI Safe Mode (no plugins) kernel /bzimage append initrd=/bzroot,/bzroot-gui unraidsafemode label Memtest86+ kernel /memtest Yes like this. After that, reboot. Thanks!. I did that but I'm not sure if it fixed anything. Playback is still a no-go. If it's any help I'm trying to transcode HEVC to H264. But I think I'm getting a bit of contradictory info from Plex (probably just me not understanding what it means). According to that, the stream is using HW encoding. From the logs, however, I get a `HW device failed` error but then it looks like it starts with hardware decoding. Maybe the 6700 iGPU isn't fast enough?. root@Vault:/config/Library/Application Support/Plex Media Server/Logs# cat * | grep "hardware transcoding" Mar 29, 2018 15:52:56.652 [0x14b1737ff700] DEBUG - Codecs: hardware transcoding: testing API qsv Mar 29, 2018 15:52:56.678 [0x14b1737ff700] DEBUG - Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Unknown error occurred Mar 29, 2018 15:52:56.678 [0x14b1737ff700] DEBUG - Codecs: hardware transcoding: testing API vaapi Mar 29, 2018 15:52:56.681 [0x14b1737ff700] DEBUG - Codecs: hardware transcoding: testing API vaapi Mar 29, 2018 15:52:56.682 [0x14b1737ff700] DEBUG - Codecs: hardware transcoding: testing API vaapi Mar 29, 2018 15:52:56.788 [0x14b17a3fd700] DEBUG - TPU: hardware transcoding: using hardware decode accelerator vaapi Mar 29, 2018 15:52:56.792 [0x14b17a3fd700] DEBUG - TPU: hardware transcoding: zero-copy support present Mar 29, 2018 15:52:56.792 [0x14b17a3fd700] DEBUG - TPU: hardware transcoding: not using zero-copy because subtitle burning is required Mar 29, 2018 15:52:56.792 [0x14b17a3fd700] DEBUG - TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi 9 minutes ago, Hoopster said: OK, looks like the appropriate drivers are there, but, just to make sure, do you have "onboard", "iGFX" or whatever your BIOS calls it set as the primary graphics adapter? If not, the drivers may be present, but, they will not be loaded at system boot. If you have a PCIe graphics card and it is set as the primary, hardware transcoding is a no-go. Also, if your BIOS has an AUTO option for the primary graphics adapter, make sure that is not selected. Your iGPU must be the primary graphics adapter. 1 There's no dedicated GPU in that server but I'll check later to see if the BIOS is set to auto or something other than specifically selecting the iGPU. Thanks!. Quote Link to comment
TheBlackPitcher Posted March 29, 2018 Share Posted March 29, 2018 (edited) Skylake can only decode hevc up to 8bit in hardware. H264(hw) means that it encodes the video in hardware, but the decoding is not hardware, thats why you dont have hevc(hw). Edited March 29, 2018 by TheBlackPitcher Quote Link to comment
Laucien Posted March 29, 2018 Author Share Posted March 29, 2018 (edited) 43 minutes ago, TheBlackPitcher said: Skylake can only decode hevc up to 8bit in hardware. H264(hw) means that it encodes the video in hardware, but the decoding is not hardware, thats why you dont have hevc(hw). Ah, I didn't know that. Then that's most likely the issue as the info for what I'm trying to decode says... Codec HEVC Bitrate 53049 kbps Bit Depth 10 Well, at least I got actual HW acceleration in Plex working for other stuff... I think haha. I will still look into making sure the iGPU is set as the primary device in BIOS once I figure out where I left that keyboard I had around. Thanks guys!. Edited March 29, 2018 by Laucien Quote Link to comment
Recommended Posts
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.