[Support] ich777 - Jellyfin AMD/Intel/Nvidia


Recommended Posts

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
Opteron x3418 (HEVC hw transcoding not supported - R7 platform)
 
on the following Intel Hardware:
Intel i5 10600
Intel i7 6700k
 
and the following Nvidia Hardware:
Zotac GTX 1050Ti
EVGA GTX 1060 3GB
Zotac GTX 1060 6GB
 
 
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

  • Like 2
  • Thanks 1
Link to comment

To automatically load the module for your AMD iGPU/GPU do the following steps:

 

Open up a Terminal with the Terminal grafik.png.30eff45b490db9b040fb49afb10e3f7f.png 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:

grafik.png.ac550e16846714e2f3e87d9e1d9a5b4f.png

 

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:

grafik.png.72f08d5afc59d456bd166e21f8c22f81.png

 

After that press:

  1. CTRL + X
  2. Y
  3. 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.

  • Like 1
Link to comment
  • ich777 changed the title to [Support] ich777 - Jellyfin AMD/Intel/Nvidia

 

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 ;-) 

  • Like 2
Link to comment

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.

 

  • Like 1
Link to comment

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
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.

  • Like 1
Link to comment

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
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
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
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 by Tulip
Link to comment
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
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 by Tulip
Link to comment

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

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
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

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

 

go.png

Edited by pzen
Link to comment
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

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 by pzen
Link to comment

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 by pzen
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
Reply to this topic...

×   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.