ich777 Posted February 16, 2021 Share Posted February 16, 2021 ATTENTION: This container is now deprecated because the official container now also fully supports AMD/Intel/Nvidia hardware transcoding. This container is fully compatible with the official Jellyfin container, to switch over to the official one simply change the repository in your Docker template from 'ich777/jellyfin' to 'jellyfin/jellyfin' like: From: To: and click in the Docker template, this will pull the official image. If you got any questions feel free to create a post! Thank you for all the support and feedback for this container! _____________________________________________________________________ Summary: Support Thread for ich777 Jellyfin - AMD/Intel/Nvidia DockerHub: https://hub.docker.com/r/ich777/jellyfin Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media. It is an alternative to the proprietary Emby and Plex, to provide media from a dedicated server to end-user devices via multiple apps. This version of Jellyfin is optimized for hardware transcoding on AMD Ryzen APU Platforms and also for Nvidia hardware transcoding - Nvidia-Driver Plugin needed (Intel hardware transcoding is only supported up to Coffe Lake 9th gen. for now). AMD Hardware transcoding (please note that you have to be on Unraid 6.9.0beta35+ to enable the module for AMD): Open up a Terminal from Unraid and type in: 'modprobe amdgpu' (without quotes or you edit your 'go' file to load it on every restart of Unraid - I would strongly recommend to edit the 'go' file to load the module on every restart of Unraid, if the module isn't loaded when the container will fail to start! Please refer to the second post in this thread.) At 'Device' at the bottom here in the template add '/dev/dri' In Jellyfin select the VA-API Transcoder at 'Playback' in the Admin section and enable: 'h264', 'HEVC', 'VC1', 'VP9', 'VP8', at the bottom 'Throttle Transcoding' and click 'Save'. Intel Hardware transcoding: Download and install the Intel-GPU-TOP Plugin from the CA App At 'Device' at the bottom here in the template add '/dev/dri' In Jellyfin select the Intel Quick Sync Transcoder at 'Playback' in the Admin section and enable: 'h264', 'MPEG2', 'HEVC', 'VC1', 'VP9', 'VP8', at the bottom 'Throttle Transcoding' and click 'Save'. Nvidia Hardware transcoding: Download and install the Nvidia-Driver Plugin from the CA App Turn on the 'Advanced View' here in the template and at 'Extra Parameters' add: '--runtime=nvidia'. At 'Nvidia Visible Devices' at the bottom here in the template add your GPU UUID. In Jellyfin select the NVENC Transcoder at 'Playback' in the Admin section and enable: 'h264', 'HEVC', 'VC1', 'VP9', 'VP8' (depending on the capabilities of your card), at the bottom 'Throttle Transcoding' and click 'Save'. This Container is currently tested with the following AMD Hardware: Athlon 200GE APU Ryzen 2400G APU Ryzen 3200G APU Ryzen 3400G APU Ryzen 5 Pro 4650G Ryzen 7 Pro 4750G Ryzen 7 5700G Opteron x3418 (HEVC hw transcoding not supported - R7 platform) on the following Intel Hardware: Intel i5 10600 Intel i7 6700k Pentium Gold 6605 and the following Nvidia Hardware: Zotac GTX 1050Ti EVGA GTX 1060 3GB Zotac GTX 1060 6GB PNY NVIDIA T400 You have also the ability to switch between the different releases from Jellyfin, simply change the reposiotry in your template: Latest: ich777/jellyfin Stable-RC: ich777/jellyfin:stable-rc Unstable: ich777/jellyfin:unstable Please note that I can't garantuee that hardware transcoding is working in the branch 'stable-rc' and 'unstable'. If you like my work, please consider making a donation: ich777 If you like Jellyfin also don't forget making a donation: Jellyfin 3 1 Link to comment
ich777 Posted February 16, 2021 Author Share Posted February 16, 2021 To automatically load the module for your AMD iGPU/GPU do the following steps: Open up a Terminal with the Terminal icon on the right top corner of Unraid. Enter this in the Terminal: nano /boot/config/go and press enter. You should see something like this: Now add after the first line these lines (navigate with the arrow keys on your keyboard): # Enable AMD iGPU modprobe amdgpu This is a example what the 'go' file should like after you inserted the text above: After that press: CTRL + X Y RETURN to save the file and close the window. Done! After the next reboot of Unraid the module for your AMD iGPU/GPU is automatically loaded and activated. 1 Link to comment
jj1987 Posted February 17, 2021 Share Posted February 17, 2021 20 hours ago, ich777 said: This Container is currently tested with the following AMD Hardware: Athlon 200GE APU Ryzen 3200G APU Ryzen 3400G APU Opteron x3418 (HEVC hw transcoding not supported - R7 platform) From "well-informed sources" i know it was also successfully tested on Ryzen 5 Pro 4650g 2 Link to comment
John_M Posted February 17, 2021 Share Posted February 17, 2021 This is excellent stuff! It's nice to see some support for AMD APUs at last. I can confirm that it works with a 2400G too (not surprisingly), though the Athlon 200GE (the cheapest APU I could find) is more than powerful enough for HEVC transcoding. In the Unraid 6.9.0-Beta35 release notes Limetech provides a way of enabling the amdgpu driver that doesn't use the go file: Quote 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. 1 Link to comment
G0ku737 Posted February 23, 2021 Share Posted February 23, 2021 Hey there, thanks for the great work. I am looking to install Jellyfin on my Unraid. Does it make Sense to use this Version with my R3 4350 Pro and Unraid 6.8.3 so i am prepared when Unraid 8.9 is released and i can officially use the AMD GPU? Or should i use another Version from linuxserver for example until 8.9 Final is out ? Thanks and keep up the awesome work! Link to comment
ich777 Posted February 23, 2021 Author Share Posted February 23, 2021 36 minutes ago, G0ku737 said: Does it make Sense to use this Version with my R3 4350 Pro and Unraid 6.8.3 so i am prepared when Unraid 8.9 is released and i can officially use the AMD GPU? I think you are talking about Unraid 6.9.0? Don't know if AMD GPU's are supported in the container from Linuxserver, basically you can install whatever container you like. To make this work you need actually the "drivers" in the container and the "modules" enabled on the host (Unraid). You can only use this container and make use of your AMD GPU if you install Unraid 6.9.0RC2 otherwise you are stuck with CPU encoding. From my perspective 6.9.0RC2 is really stable (I run it since it was released and had not one crash or any weird behavior) and it is safe to install. 1 Link to comment
G0ku737 Posted February 23, 2021 Share Posted February 23, 2021 Thanks for the answer! Yeah sure i ment 6.9. So when i understand it right i can use your jellyfin Container without GPU support and if 6.9 comes out i just activate the driver in the container and the modules in Unraid and i can use my APU´s GPU from then on ? So this is not a Beta or hardly modified Version of Jellyfin or anything its just prepared to use GPUs with Unraid 6.9 or the 6.9 RC. Cheers Link to comment
ich777 Posted February 23, 2021 Author Share Posted February 23, 2021 Just now, G0ku737 said: So when i understand it right i can use your jellyfin Container without GPU support and if 6.9 comes out i just activate the driver in the container and the modules in Unraid and i can use my APU´s GPU from then on ? Exactly. 1 minute ago, G0ku737 said: So this is not a Beta or hardly modified Version of Jellyfin or anything its just prepared to use GPUs with Unraid 6.9 or the 6.9 RC. Nothing too special or modified, I pull Jellyfin out of the official Jellyfin repo then only install the Intel drivers and AMD drivers to the container. Exactly. As said before try to upgrade to RC2 and try it for your self, you could always downgrade to 6.8.3 the only thing you have to do if you are really downgrading is that you have to reassign the cache pool. Link to comment
G0ku737 Posted February 23, 2021 Share Posted February 23, 2021 Okay perfect and thanks for the fast response an the work! Stay safe! 1 Link to comment
Tulip Posted February 24, 2021 Share Posted February 24, 2021 I was working nice, but got gpu crash after some testing had to force reboot unraid lol Link to comment
ich777 Posted February 25, 2021 Author Share Posted February 25, 2021 10 hours ago, Tulip said: I was working nice, but got gpu crash after some testing What was working nice? The container? Very unlikely that the container did crash your server. Have you got a syslog from the crash? How did you know that it was a GPU crash? @jj1987 have you got any problems so far? Link to comment
jj1987 Posted February 25, 2021 Share Posted February 25, 2021 (edited) Up to now no problems, but i use Jellyfin not that excessive. Normally just a single stream. Only for testing purposes i started 4 parallel streams for maybe 10 minutes Edited February 25, 2021 by jj1987 1 Link to comment
Tulip Posted February 25, 2021 Share Posted February 25, 2021 (edited) 12 hours ago, ich777 said: What was working nice? The container? Very unlikely that the container did crash your server. Have you got a syslog from the crash? How did you know that it was a GPU crash? @jj1987 have you got any problems so far? It was a gpu call trace in the syslog. And Container still up, but did not do any transcode or play movie. The first 2-3 movie worked like a champ, but think it Fu**ed up when i tested a 4k movie file Had to reboot unraid. Reboot for gui or ssh did not work, had to force reboot the rig. Edited February 25, 2021 by Tulip Link to comment
ich777 Posted February 25, 2021 Author Share Posted February 25, 2021 1 minute ago, Tulip said: It was a gpu call trace in the Okay, without the log or detailed information what you have done or about your system I can not help much, I see that the container is pulled about 1.6k times since I've released and nobody reported a bug until now or a crash. Oh one user had a problem because he had PowerTOP tweaks active but this was on a Intel system. Link to comment
Tulip Posted February 25, 2021 Share Posted February 25, 2021 (edited) 3 minutes ago, ich777 said: Okay, without the log or detailed information what you have done or about your system I can not help much, I see that the container is pulled about 1.6k times since I've released and nobody reported a bug until now or a crash. Oh one user had a problem because he had PowerTOP tweaks active but this was on a Intel system. Quote 22:Feb:2021 19:56:24 warningamdgpu_job_timedout+0xe6/0x122 [amdgpu] 22:Feb:2021 19:56:24 warningamdgpu_device_gpu_recover+0x189/0x85f [amdgpu] 22:Feb:2021 19:56:24 warningRIP: 0010:amdgpu_device_lock_adev+0x7/0x78 [amdgpu] 22:Feb:2021 19:56:24 warningWorkqueue: events drm_sched_job_timedout [gpu_sched] 22:Feb:2021 19:56:24 infoamdgpu 0000:01:00.0: amdgpu: Bailing on TDR for s_job:e8649, as another already in progress 22:Feb:2021 19:56:24 infoamdgpu 0000:01:00.0: amdgpu: GPU reset begin! 22:Feb:2021 19:56:24 err [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process ffmpeg pid 14433 thread ffmpeg:cs0 pid 14434 22:Feb:2021 19:56:24err [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring gfx timeout, signaled seq=954603, emitted seq=954604 22:Feb:2021 19:56:24 in foamdgpu 0000:01:00.0: amdgpu: GPU reset begin! 22:Feb:2021 19:56:24 err [drm:amdgpu_job_timedout [amdgpu]] *ERROR* Process information: process ffmpeg pid 12589 thread ffmpeg:cs0 pid 12590 22:Feb:2021 19:56:24 err [drm:amdgpu_job_timedout [amdgpu]] *ERROR* ring vce2 timeout, signaled seq=204990, emitted seq=204992 22:Feb:2021 19:56:13 warning amdgpu 0000:01:00.0: amdgpu: IH ring buffer overflow (0x000818E0, 0x0000E190, 0x000018F0) 22:Feb:2021 19:56:13 err amdgpu 0000:01:00.0: amdgpu: VM fault (0x02, vmid 2, pasid 32770) at page 1124019, write from 'UVD' (0x55564400) (186) Some info here Edited February 25, 2021 by Tulip Link to comment
ich777 Posted February 25, 2021 Author Share Posted February 25, 2021 2 minutes ago, Tulip said: Some info here What iGPU are you using? How many streams did you transcode at once? How many RAM have you installed? Link to comment
Tulip Posted February 25, 2021 Share Posted February 25, 2021 Its rx 580 8GB Unraid have 128GB I think, one transcode. switched from one movie to another. but was testing 4-5 earlier that evening while check cpu usage on unraid. So cant be 100% sure. Link to comment
ich777 Posted February 25, 2021 Author Share Posted February 25, 2021 But you haven't passed through the card to a VM or something like that? I already looked a bit into the bugtracker and have seen that some reports with RX cards out there that state that there is a proboem with the amdgpu module itself. But have to dig deeper. Link to comment
pzen Posted March 2, 2021 Share Posted March 2, 2021 Hello, Sorry for my English I'm using a translator (Google translation) (French) At the end of the installation I have the following error: docker: Error response from daemon: error gathering device information while adding custom device "/ dev / dri": no such file or directory. Is the directory to be created manually and should I drop the graphics card drivers or other element for it to be taken into account? Use Unraid 6.9.0 Thank you for your work on integrating AMD graphics cards for Jellyfin Good evening Link to comment
ich777 Posted March 2, 2021 Author Share Posted March 2, 2021 33 minutes ago, pzen said: Is the directory to be created manually and should I drop the graphics card drivers or other element for it to be taken into account? You have to enable the AMD drivers first like described in the second post. What CPU do you have? Link to comment
pzen Posted March 2, 2021 Share Posted March 2, 2021 (edited) Hello I did activate the AMD drivers by modifying the go file My graphics card: VGA compatible controller: Advanced Micro Devices, Inc. [AMD / ATI] RV770 [Radeon HD 4850] My CPU: AMD Athlon ™ 64 X2 Dual Core 6400+ @ 3217 MHz Edited March 2, 2021 by pzen Link to comment
ich777 Posted March 2, 2021 Author Share Posted March 2, 2021 31 minutes ago, pzen said: Hello I did activate the AMD drivers by modifying the go file My graphics card: VGA compatible controller: Advanced Micro Devices, Inc. [AMD / ATI] RV770 [Radeon HD 4850] My CPU: AMD Athlon ™ 64 X2 Dual Core 6400+ @ 3217 MHz Can you give me the output of "lsmod". Have you rebooted after that, if not you have to do a "modprobe amdgpu" manually from the terminal to activate the GPU. But keep in mind that the HD4850 doesn't support HEVC if I remember correctly. Link to comment
pzen Posted March 2, 2021 Share Posted March 2, 2021 (edited) Hello, And thanks for your help Yes I restarted after making the change to the go file and I just do the modprobe amdgpu command manually in addition I look for you indicated the lsmod Edited March 2, 2021 by pzen Link to comment
pzen Posted March 2, 2021 Share Posted March 2, 2021 (edited) Here is a partial of the Lsmod md_mod 45056 5 amdgpu 4308992 0 gpu_sched 20480 1 amdgpu i2c_algo_bit 16384 1 amdgpu drm_kms_helper 163840 1 amdgpu ttm 73728 1 amdgpu drm 356352 4 gpu_sched,drm_kms_helper,amdgpu,ttm backlight 16384 2 amdgpu,drm agpgart 32768 2 ttm,drm i2c_core 45056 4 drm_kms_helper,i2c_algo_bit,amdgpu,drm syscopyarea 16384 1 drm_kms_helper sysfillrect 16384 1 drm_kms_helper sysimgblt 16384 1 drm_kms_helper fb_sys_fops 16384 1 drm_kms_helper nf_nat 36864 4 ip6table_nat,xt_nat,iptable_nat,xt_MASQUERADE kvm_amd 90112 0 ccp 69632 1 kvm_amd kvm 421888 1 kvm_amd k8temp 16384 0 ahci 40960 2 sata_nv 32768 6 pata_amd 20480 0 libahci 28672 1 ahci button 16384 0 Edited March 2, 2021 by pzen Link to comment
Recommended Posts