Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Can’t get hardware transcoding to work with jellyfin and Intel_gpu_top plugin not working as intended

Featured Replies

I have tried everything out there, including changing to the official jellyfin container and adding --device=/dev/dri to the extra parameters or add /dev/dri as a device but nothing has worked. The only solution I can think of is that there is something wrong with the Intel GPU top plugin since it shows zero on all statistics except IMC bus which is fluctuating constantly. Correct me if I am wrong but all the statistics should be fluctuating a bit at least even if there is no heavy load? Anyway, does anyone know a solution to my problem? I think I am going crazy lol

Solved by MowMdown

  • Community Expert

Post your diagnostics.

  • Community Expert

Under the GPU Stats plugin, what do you see here? I assume if this can see the GPU that it's functioning properly. It will just be a matter of properly passing it through to the dockers. I did not see anything in the diagnostics that would indicate it shouldn't work.

image.png.b3060b7c4fb35fa01443f2b8cc55d8b6.png

Edited by MowMdown

  • Author

@MowMdown It finds the igpu, but it doesn't recognize what's happening in the background i'm guessing so it only shows 0's.

 

8 minutes ago, MowMdown said:

It will just be a matter of properly passing it through to the dockers.

What else can I do other than putting "--device=/dev/dri" (without quotes) in extra parameters or having it as a device? I've also tried putting "modprobe i915" in the go file without success.

 

Skrmbild2024-12-11154750.png.40ebf1e693cb22a50b7de9fa83862e12.png

Skrmbild2024-12-11155133.thumb.png.c0ae131b878776a1564b90d073684bb3.png

  • Community Expert
2 minutes ago, Thedinotamer said:

Skrmbild2024-12-11155133.thumb.png.c0ae131b878776a1564b90d073684bb3.png

 

This is going to show all 0% because the iGPU is not doing anything. There's no load on it from a docker.

 

But yes, technically all you need to do is add --device=/dev/dri to the extra parameters field like so:

image.png.719465c518db9551593d80ee672828ce.png

 

Then if you open the docker's console from unraid webGUIimage.png.471ff9aaaad23161fd3b13153c76c197.png

 

You should be able to see the iGPU by navigating to /dev/dri image.png.fff159a2b260031a6695bec4682bc797.png

 

If card0 and renderD128 do not appear, it will need to be investigated further.

  • Author

@MowMdown It's there, so that's very weird. When I play a movie it still uses the cpu tho so I don't understand what's wrong. Do you think i'll have to do a new config and redo everything?

 

Skrmbild2024-12-11160657.png.bcb160323ff6e727cfd694f27dd0aa22.png

  • Community Expert

Possible scenarios:

 

1. Jellyfin was not setup to use the iGPU in it's own transcoder settings.

 

2. Your media is not in a supported codec for encoding and/or decoding. If even one of those cannot be done on the iGPU it will drop back to the CPU.

 

Jellyfin should have something telling you the transcoder status. Double check the transcoder settings to make sure it's configured to use the iGPU.

  • Author

@MowMdown I'm using a i5 8400

 

Skrmbild2024-12-11162911.thumb.png.d550ce1395ae0fe0878a8f8eb740db53.png

Skrmbild2024-12-11162927.thumb.png.e7877e62743b57a854b2d8ce6e4d27c1.png

Skrmbild2024-12-11162953.thumb.png.e6b7c152be8dc534cdfb236755edaaee.png

Skrmbild2024-12-11163007.thumb.png.305313f5549c076b26af593583bbd496.png

Skrmbild2024-12-11163743.png.dc73520b56c6e4d7f00ca0a89a06f7dd.png

Edited by Thedinotamer

  • Community Expert

QSV Device is blank. I know it says to leave it blank but I think you need to fill it in with /dev/dri/renderD128

 

image.png.b7689c04bf562987d2f83cacf63e2f39.png

Edited by MowMdown
dyslexia

  • Author
4 minutes ago, MowMdown said:

/dev/dri/renderD218

218? I put in renderD128 but it didn't work. Is there anything else wrong? I don't think the codecs should be wrong right?

  • Community Expert
12 minutes ago, Thedinotamer said:

218? I put in renderD128 but it didn't work. Is there anything else wrong? I don't think the codecs should be wrong right?

 

You need the entire path with it. "/dev/dri/renderD128" (no quotes) just like it says in the subtext.

 

edit: dyslexic numbers

Edited by MowMdown

  • Author

@MowMdown I meant that I put in 128 instead of 218, so /dev/dri/renderD128

  • Community Expert

Sorry, that's my fault, the numbers are supposed to be 128 not 218.

  • Community Expert

what happens when you play something and check intel_gpu_top in the console?

 

Should look something like this:

image.png.173c8b648485a1c597dbd63dbe293a78.png

Edited by MowMdown

  • Author

@MowMdown While playing an h264 movie:

Skrmbild2024-12-11170535.thumb.png.22275170213acc9ae4fb6c5047490e41.png

 

I'm doing this via unraids console tho

Edited by Thedinotamer

  • Community Expert

Just to confirm, it should have been transcoding right? the media was not direct playing? There should be a status monitor on the jellyfin dashboard showing the user streaming something at the resolution/bitrate/etc.

 

Can you screenshot that?

  • Community Expert
  • Solution

You're going to need to force a transcode by changing the bitrate of the active stream if you want it to transcode. Right now it appears that it's direct playing which will not use the iGPU (or CPU).

 

2 minutes ago, Thedinotamer said:

@MowMdown This?

Skrmbild2024-12-11171135.png.fe58fda167126b9fe9b2e521042caacc.pngSkrmbild2024-12-11171112.png.362838e6e7e65137415fac6c3b47a2da.png

 

  • Author

@MowMdown Finally! But it's not showing up in the dashboard in unraid or in the console

 

Skrmbild2024-12-11171855.png.b437419a78f3d20b267c04f42beb539a.png

Edited by Thedinotamer

  • Community Expert

post the "intel_gpu_top" as well as "top" while this transcode is active

  • Author

@MowMdown It seems like it's working now when I look at it again. Although, it's still not showing percentages all the time, in the GPU Statistics plugin it works as intended like 1 sec then back to zero. But the Jellyfin logo is there atleast.

Skrmbild2024-12-11172407.thumb.png.3a9628bdf2a262bd762b02a42a0700db.png

Skrmbild2024-12-11172338.png.51adaef08ec0aafd162a5d1ade4f06e8.png

  • Community Expert

I would post your findings in the intel_gpu_top plugin support thread. Maybe the i5-8500 is too old of an iGPU (the UHD 630) for the plugin to properly get the statistics from?

 

But we know it's working which is all that really matters.

Edited by MowMdown

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

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.