huntjules Posted October 31, 2020 Posted October 31, 2020 On 2/13/2019 at 4:16 PM, lotetreemedia said: cd /dev/dri Fab guidance and works well. Appreciated Quote
mmz06 Posted November 26, 2020 Posted November 26, 2020 (edited) Hi There, Whether this configuration has been and still is working perfectly well for my all the content of my plex / unraid server since a bit more than a year now, leveraging my intel UHD630 integrated GPU from my Intel Coffee Lake Core i5-9600K for transcoding 1080p flawlessly to whatever needed. Now it seems that 4K transcode with tone mapping is (at least) available from Plex and it can leverage Coffee Lake or newer GPU assist to make it happening: https://support.plex.tv/articles/hdr-to-sdr-tone-mapping/ Reading this post, it seems linux/unraid/docker/intel is supported for HW transcode, so I followed the recommended path: Upgrade to UNRAID OS VERSION 6.9.0-BETA35 Create the specified /boot/modprobe.d/i915.conf empty file Reboot Install last plex pass version (Version 1.21.0.3616), which is easy using linuxserver/plex, Enable "Enable HDR tone mapping" option and double check that "Enable Hardware Transcode" option is still checked Check the deployment of the required “libOpenCL” library and “Beignet” GPU driver in my Plex container, and they were: beignet-opencl-icd is already the newest version (1.3.2-7build1). ocl-icd-libopencl1 is already the newest version (2.2.11-1ubuntu1). Now while hardware transcode still works for 1080p content, it seems that it goes back to software mode for 4K, as I see no GPU use in my intel-gpu-tools container, and about 80% of CPU use for a single 4K stream content, which is understandable in software mode. I'm a bit surprised as 4K hardware transcode is working well if I disable tone mapping, so it's not just a configuration issue from unraid/docker/plex but it looks more like a plex or driver issue. Well my simplest bet is to wait and see and expect an update probably coming from Plex side, but at least if someone has a comment, feel free to do so.... Edited November 26, 2020 by mmz06 Quote
Zonediver Posted November 27, 2020 Posted November 27, 2020 (edited) Thanks for this Guide - works fine on my old owl 👍 ...but now, the CPU-Power is obsolete WAAAHAHA 🤣 Edited November 27, 2020 by Zonediver Quote
BenP511 Posted November 28, 2020 Posted November 28, 2020 On 11/26/2020 at 8:38 AM, mmz06 said: Hi There, Whether this configuration has been and still is working perfectly well for my all the content of my plex / unraid server since a bit more than a year now, leveraging my intel UHD630 integrated GPU from my Intel Coffee Lake Core i5-9600K for transcoding 1080p flawlessly to whatever needed. Now it seems that 4K transcode with tone mapping is (at least) available from Plex and it can leverage Coffee Lake or newer GPU assist to make it happening: https://support.plex.tv/articles/hdr-to-sdr-tone-mapping/ Reading this post, it seems linux/unraid/docker/intel is supported for HW transcode, so I followed the recommended path: Upgrade to UNRAID OS VERSION 6.9.0-BETA35 Create the specified /boot/modprobe.d/i915.conf empty file Reboot Install last plex pass version (Version 1.21.0.3616), which is easy using linuxserver/plex, Enable "Enable HDR tone mapping" option and double check that "Enable Hardware Transcode" option is still checked Check the deployment of the required “libOpenCL” library and “Beignet” GPU driver in my Plex container, and they were: beignet-opencl-icd is already the newest version (1.3.2-7build1). ocl-icd-libopencl1 is already the newest version (2.2.11-1ubuntu1). Now while hardware transcode still works for 1080p content, it seems that it goes back to software mode for 4K, as I see no GPU use in my intel-gpu-tools container, and about 80% of CPU use for a single 4K stream content, which is understandable in software mode. I'm a bit surprised as 4K hardware transcode is working well if I disable tone mapping, so it's not just a configuration issue from unraid/docker/plex but it looks more like a plex or driver issue. Well my simplest bet is to wait and see and expect an update probably coming from Plex side, but at least if someone has a comment, feel free to do so.... Currently having the exact same issue thought I had messed up somewhere as I was only trying 4k movies and was only standard transcode no HW but then tried 1080p and thats hw transcoding... running i3 10100.... dont know where to go from here Quote
nickp85 Posted November 29, 2020 Posted November 29, 2020 On 11/26/2020 at 3:38 AM, mmz06 said: Hi There, Whether this configuration has been and still is working perfectly well for my all the content of my plex / unraid server since a bit more than a year now, leveraging my intel UHD630 integrated GPU from my Intel Coffee Lake Core i5-9600K for transcoding 1080p flawlessly to whatever needed. Now it seems that 4K transcode with tone mapping is (at least) available from Plex and it can leverage Coffee Lake or newer GPU assist to make it happening: https://support.plex.tv/articles/hdr-to-sdr-tone-mapping/ Reading this post, it seems linux/unraid/docker/intel is supported for HW transcode, so I followed the recommended path: Upgrade to UNRAID OS VERSION 6.9.0-BETA35 Create the specified /boot/modprobe.d/i915.conf empty file Reboot Install last plex pass version (Version 1.21.0.3616), which is easy using linuxserver/plex, Enable "Enable HDR tone mapping" option and double check that "Enable Hardware Transcode" option is still checked Check the deployment of the required “libOpenCL” library and “Beignet” GPU driver in my Plex container, and they were: beignet-opencl-icd is already the newest version (1.3.2-7build1). ocl-icd-libopencl1 is already the newest version (2.2.11-1ubuntu1). Now while hardware transcode still works for 1080p content, it seems that it goes back to software mode for 4K, as I see no GPU use in my intel-gpu-tools container, and about 80% of CPU use for a single 4K stream content, which is understandable in software mode. I'm a bit surprised as 4K hardware transcode is working well if I disable tone mapping, so it's not just a configuration issue from unraid/docker/plex but it looks more like a plex or driver issue. Well my simplest bet is to wait and see and expect an update probably coming from Plex side, but at least if someone has a comment, feel free to do so.... Also seeing this problem on my end, 4K HDR hw transcode just stopped working. Please let me know if someone finds a fix! Quote
paschtin Posted November 29, 2020 Posted November 29, 2020 On 11/26/2020 at 9:38 AM, mmz06 said: Hi There, Whether this configuration has been and still is working perfectly well for my all the content of my plex / unraid server since a bit more than a year now, leveraging my intel UHD630 integrated GPU from my Intel Coffee Lake Core i5-9600K for transcoding 1080p flawlessly to whatever needed. Now it seems that 4K transcode with tone mapping is (at least) available from Plex and it can leverage Coffee Lake or newer GPU assist to make it happening: https://support.plex.tv/articles/hdr-to-sdr-tone-mapping/ Reading this post, it seems linux/unraid/docker/intel is supported for HW transcode, so I followed the recommended path: Upgrade to UNRAID OS VERSION 6.9.0-BETA35 Create the specified /boot/modprobe.d/i915.conf empty file Reboot Install last plex pass version (Version 1.21.0.3616), which is easy using linuxserver/plex, Enable "Enable HDR tone mapping" option and double check that "Enable Hardware Transcode" option is still checked Check the deployment of the required “libOpenCL” library and “Beignet” GPU driver in my Plex container, and they were: beignet-opencl-icd is already the newest version (1.3.2-7build1). ocl-icd-libopencl1 is already the newest version (2.2.11-1ubuntu1). Now while hardware transcode still works for 1080p content, it seems that it goes back to software mode for 4K, as I see no GPU use in my intel-gpu-tools container, and about 80% of CPU use for a single 4K stream content, which is understandable in software mode. I'm a bit surprised as 4K hardware transcode is working well if I disable tone mapping, so it's not just a configuration issue from unraid/docker/plex but it looks more like a plex or driver issue. Well my simplest bet is to wait and see and expect an update probably coming from Plex side, but at least if someone has a comment, feel free to do so.... Same issue here. Quote
craigr Posted December 1, 2020 Posted December 1, 2020 Has anyone using this method to enable i915 in PLEX tried unRAID 6.9.0-BETA35? If so, did you need to change anything? Quote New in this release: GPU Driver Integration Unraid OS now includes selected in-tree GPU drivers: ast (Aspeed), i915 (Intel), amdgpu and radeon (AMD). These drivers are blacklisted by default via 'conf' files in /etc/modprobe.d: /etc/modprobe.d/ast.conf /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/i915.conf /etc/modprobe.d/radeon.conf Each of these files has a single line which blacklists the driver, preventing it from being loaded by the Linux kernel. However it is possible to override the settings in these files by creating the directory 'config/modprobe.d' on your USB flash boot device and then creating the same named-file in that directory. For example, to unblacklist amdgpu type these commands in a Terminal session: mkdir /boot/config/modprobe.d touch /boot/config/modprobe.d/amdgpu.conf When Unraid OS boots, before the Linux kernel executes device discovery, we copy any files from /boot/config/modprobe.d to /etc/modprobe.d. Since amdgpu.conf on the flash is an empty file, it will effectively cancel the driver from being blacklisted. This technique can be used to set boot-time options for any driver as well. Thanks, craigr Quote
nickp85 Posted December 1, 2020 Posted December 1, 2020 Has anyone using this method to enable i915 in PLEX tried unRAID 6.9.0-BETA35? If so, did you need to change anything? New in this release: GPU Driver Integration Unraid OS now includes selected in-tree GPU drivers: ast (Aspeed), i915 (Intel), amdgpu and radeon (AMD). These drivers are blacklisted by default via 'conf' files in /etc/modprobe.d: /etc/modprobe.d/ast.conf /etc/modprobe.d/amdgpu.conf /etc/modprobe.d/i915.conf /etc/modprobe.d/radeon.conf Each of these files has a single line which blacklists the driver, preventing it from being loaded by the Linux kernel. However it is possible to override the settings in these files by creating the directory 'config/modprobe.d' on your USB flash boot device and then creating the same named-file in that directory. For example, to unblacklist amdgpu type these commands in a Terminal session: mkdir /boot/config/modprobe.d touch /boot/config/modprobe.d/amdgpu.conf When Unraid OS boots, before the Linux kernel executes device discovery, we copy any files from /boot/config/modprobe.d to /etc/modprobe.d. Since amdgpu.conf on the flash is an empty file, it will effectively cancel the driver from being blacklisted. This technique can be used to set boot-time options for any driver as well. Thanks, craigrI have 6.9 beta and no I did not have to change anythingSent from my iPhone using Tapatalk 1 Quote
craigr Posted December 1, 2020 Posted December 1, 2020 2 minutes ago, nickp85 said: I have 6.9 beta and no I did not have to change anything Sent from my iPhone using Tapatalk Thank you. craigr Quote
craigr Posted December 1, 2020 Posted December 1, 2020 39 minutes ago, nickp85 said: I have 6.9 beta and no I did not have to change anything Actually a follow up. Do you specifically have beta 35? This is where the new video drivers have been added. craigr Quote
nickp85 Posted December 1, 2020 Posted December 1, 2020 Just now, craigr said: Actually a follow up. Do you specifically have beta 35? This is where the new video drivers have been added. craigr Yup! 1 Quote
mmz06 Posted December 2, 2020 Posted December 2, 2020 (edited) 11 hours ago, craigr said: Actually a follow up. Do you specifically have beta 35? This is where the new video drivers have been added. craigr Same issue here: Tests done with 6.9.0 Beta 35, including the new i915.conf file way of configuring and it fails Hardware HDR to SDR tone mapping still fails. Luckily 1080p to whatever HW transcode works perfectly well, so it's not an Unraid issue, at least directly. Just tried the new Plex update 1.21.0.3711, and still the HW HDR to SDR issue remains. 😥 Edited December 2, 2020 by mmz06 Quote
craigr Posted December 2, 2020 Posted December 2, 2020 12 hours ago, mmz06 said: Same issue here: Tests done with 6.9.0 Beta 35, including the new i915.conf file way of configuring and it fails Hardware HDR to SDR tone mapping still fails. Luckily 1080p to whatever HW transcode works perfectly well, so it's not an Unraid issue, at least directly. Just tried the new Plex update 1.21.0.3711, and still the HW HDR to SDR issue remains. 😥 Well, you may want to go back to this old tried and true technique. I just upgraded to v6.9.0-BETA35 and didn't change a thing and UHD hardware transcoding is still working for me. I didn't try the new way, just stuck with this older technique. I have hardware transcoding and tone mapping enabled and it is working on UHD transcodes down to 1080p (didn't try anything else). I didn't change a single thing, it just kept working. The addresses for my mouse using evdev changed so my Win10 VM wouldn't start until I fixed that. Other than that so far uneventful. Now to get to what I wanted to do with beta 35, multiple cache pools craigr Quote
mmz06 Posted December 6, 2020 Posted December 6, 2020 (edited) AHA !!! Someone found a way !!!! Thanks to @bordershot1 from a K8s thread on Plex forum, I found the right info, about a mysteriously updated Beignet Driver and how to compile it directly from this nice linuxserver.io plex container. https://forums.plex.tv/t/hdr-to-sdr-tonemapping-opencl-driver-resource-for-kubernetes/656635/19? Kudos to him ! Edited on Dec 10th 2020: Adding cleanup of the dev environment at the end of the script to use less storage, and installation of clinfo for proper installation check. Now I could write a User Script from this, and here it is: #!/bin/bash #description=This script updates Beignet Driver to support last Intel GPUs for Plex Container docker exec plex bash -c "apt update && apt -y install cmake pkg-config python ocl-icd-dev libegl1-mesa-dev ocl-icd-opencl-dev libdrm-dev libxfixes-dev libxext-dev llvm-7-dev clang-7 libclang-7-dev libtinfo-dev libedit-dev zlib1g-dev build-essential git clinfo" docker exec plex git clone --branch comet-lake https://github.com/rcombs/beignet.git docker exec plex bash -c "mkdir /beignet/build/ && cd /beignet/build && cmake -DLLVM_INSTALL_DIR=/usr/lib/llvm-7/bin .. && make -j8 && make install" docker exec plex rm -rf beignet docker exec plex bash -c "apt -y remove cmake pkg-config python ocl-icd-dev libegl1-mesa-dev ocl-icd-opencl-dev libdrm-dev libxfixes-dev libxext-dev llvm-7-dev clang-7 libclang-7-dev libtinfo-dev libedit-dev zlib1g-dev build-essential git && apt -y autoremove" docker restart plex docker exec plex clinfo -l Execute it, will take some time to download all the required dev librairies, and do the actual compilation, but it works !!! Using FTTH, i5-9600k, 32 GB ram, and NVME it takes lake 4 mins to do the job, but depending on you internet and system performance it may go up to hours... If you execute it via RUN SCRPT button, you will see, that a part of the logs are not displayed, and that the compilation itself throws many errors, but these are just warnings, and shouldn't be considered. It finishes with these lines: plex beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware (If you have multiple ICDs installed and OpenCL works, you can ignore this message) beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware (If you have multiple ICDs installed and OpenCL works, you can ignore this message) beignet-opencl-icd: no supported GPU found, this is probably the wrong opencl-icd package for this hardware (If you have multiple ICDs installed and OpenCL works, you can ignore this message) Platform #0: Intel Gen OCL Driver `-- Device #0: Intel(R) UHD Graphics Coffee Lake Desktop GT2 Platform #1: Intel Gen OCL Driver Script Finished Dec 10, 2020 09:53.34 Enjoy !!! 😄 Edited December 10, 2020 by mmz06 2 Quote
aston12 Posted December 6, 2020 Posted December 6, 2020 (edited) 3 hours ago, mmz06 said: AHA !!! Someone found a way !!!! Thanks to @bordershot1 from a K8s thread on Plex forum, I found the right info, about a mysteriously updated Beignet Driver and how to compile it directly from this nice linuxserver.io plex container. https://forums.plex.tv/t/hdr-to-sdr-tonemapping-opencl-driver-resource-for-kubernetes/656635/19? Kudos to him ! Now I could write a User Script from this, and here it is: #!/bin/bash #description=This script updates Beignet Driver to support last Intel GPUs for Plex Container docker exec plex bash -c "apt update && apt -y install cmake pkg-config python ocl-icd-dev libegl1-mesa-dev ocl-icd-opencl-dev libdrm-dev libxfixes-dev libxext-dev llvm-7-dev clang-7 libclang-7-dev libtinfo-dev libedit-dev zlib1g-dev build-essential git" docker exec plex git clone --branch comet-lake https://github.com/rcombs/beignet.git docker exec plex bash -c "mkdir /beignet/build/ && cd /beignet/build && cmake -DLLVM_INSTALL_DIR=/usr/lib/llvm-7/bin .. && make -j8 && make install" docker restart plex Execute it, will take some time to download all the required dev librairies, and do the actual compilation, but it works !!! Using FTTH, i5-9600k, 32 GB ram, and NVME it takes lake 4 mins to do the job, but depending on you internet and system performance it may go up to hours... If you execute it via RUN SCRPT button, you will see, that a part of the logs are not displayed, and that the compilation itself throws many errors, but these are just warnings, and shouldn't be considered. It finishes with these lines: -- Installing: /usr/local/lib/beignet/include/ocl_relational.h -- Installing: /usr/local/lib/beignet/include/ocl_integer.h -- Installing: /usr/local/lib/beignet/include/ocl_simd.h -- Installing: /usr/local/lib/beignet/include/ocl_math.h -- Installing: /usr/local/lib/beignet/include/ocl_math_20.h -- Installing: /usr/local/lib/beignet/include/ocl_as.h -- Installing: /usr/local/lib/beignet/include/ocl_convert.h -- Installing: /usr/local/lib/beignet/libgbeinterp.so -- Installing: /usr/local/lib/beignet/libcl.so -- Set runtime path of "/usr/local/lib/beignet/libcl.so" to "" plex Enjoy !!! 😄 Had to change from plex to Plex-Media-Server, but worked like a Charm. About 4 Minutes with i3 10100, 16GB RAM, NVMe SSD and 300 Mbit/s Connection. 20% Load from 4k HDR 60 MBit/s to 10 Mbit/s 1080p with HDR Tonemapping and Audio Transcoding. Edited December 6, 2020 by aston12 Quote
nickp85 Posted December 6, 2020 Posted December 6, 2020 Worked for me! Hopefully they can bake it into the container soon Quote
mmz06 Posted December 7, 2020 Posted December 7, 2020 Just ran some tests, and the performance is really impressive on my i5-9600k, especially knowing the GPU draws just about 10w : 5 streams from 4k HDR 60 MBit/s to 20 Mbit/s 1080p with HDR to SDR Tonemapping and Audio Transcoding, and still room for more on the Server (but not on my test laptop)... As expected, PGS subtitles will drain CPU fast, and using them, I cannot just watch a single transcode with good stability.... But things are improving ! Quote
mgutt Posted December 7, 2020 Posted December 7, 2020 1 hour ago, mmz06 said: and still room for more on the Server (but not on my test laptop)... It's not. The Dashboard does not show the GPU Video processing load and 5x 4K streams should be the limit of the UHD630: https://forums.unraid.net/topic/97593-intel-i3-8100-with-uhd630-the-plex-transcoding-beast/ Quote
Taddeusz Posted December 7, 2020 Posted December 7, 2020 17 minutes ago, mgutt said: It's not. The Dashboard does not show the GPU Video processing load and 5x 4K streams should be the limit of the UHD630: https://forums.unraid.net/topic/97593-intel-i3-8100-with-uhd630-the-plex-transcoding-beast/ FYI, there’s a Docker container available called “Intel-gpu-tools” that will show QuicknSync load. Quote
mmz06 Posted December 7, 2020 Posted December 7, 2020 1 hour ago, mgutt said: It's not. The Dashboard does not show the GPU Video processing load and 5x 4K streams should be the limit of the UHD630: https://forums.unraid.net/topic/97593-intel-i3-8100-with-uhd630-the-plex-transcoding-beast/ 55 minutes ago, Taddeusz said: FYI, there’s a Docker container available called “Intel-gpu-tools” that will show QuicknSync load. Sure, I'm using Intel-GPU-Tools, and still there is (a bit) room.... Well not that much, I agree.... 😉 But again we speak about an integrated GPU, which can compete with an Nvidia Quadro P2000, if I'm referring here: https://www.elpamsoft.com/?p=Plex-Hardware-Transcoding Quote
mgutt Posted December 7, 2020 Posted December 7, 2020 3 hours ago, Taddeusz said: FYI, there’s a Docker container available called “Intel-gpu-tools” that will show QuicknSync load. I know. It's shown in my link Quote
Eclection Posted December 8, 2020 Posted December 8, 2020 Hello, when my unraid server is turned off I have to set this up all over. Quote
trurl Posted December 8, 2020 Posted December 8, 2020 36 minutes ago, Eclection said: Hello, when my unraid server is turned off I have to set this up all over. From first post in this thread: On 2/13/2019 at 11:16 AM, lotetreemedia said: Persist your config On Reboot unRAID will not run those commands again unless we put it in our go file. So when ready type into terminal: nano /boot/config/go Add the following lines to the bottom of the go file modprobe i915 chmod -R 777 /dev/dri Quote
niietzshe Posted December 8, 2020 Posted December 8, 2020 Thanks for this. I'd upgraded my CPU to a supported chip, was going to spend money on a full build just to get an extra pci slot of graphics card, so this has saved me a lot of bother and money. C Quote
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.