Jellyfin Forum
Intel QSV Unraid Hardware Accel Troubleshooting - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: Intel QSV Unraid Hardware Accel Troubleshooting (/t-intel-qsv-unraid-hardware-accel-troubleshooting)



Intel QSV Unraid Hardware Accel Troubleshooting - jellybelly44 - 2024-08-10

Hi folks,

I've had my Jellyfin instance up and running for a few months now, and I've been working on getting hardware acceleration working ever since when I have the time. After many many Google searches and forum research, I'm still not able to get it working. So I'm hoping somebody here will be able to see what I'm not Smiling-face

My Setup:

Dell Optiplex 7050
BIOS 1.27.0 (newest as far as I can tell)
Intel Core i5-7500 w/ vPro
16GB RAM DDR4
Unraid 6.12.8
Jellyfin running in Docker (linuxserver.io docker container)

The Problem(s):

1- With hardware acceleration enabled, when attempting to play 4K HDR HEVC content in the web browser (Firefox and/or Brave) on my laptop, I receive "Playback failed due to a fatal player error." Other types of content play fine in the web browser, and the 4K HDR HEVC content plays fine on my Android and Android TV devices.

    When I disable hardware acceleration, 4K HDR HEVC content will play in a web browser, but the colors are way off, presumably because the HDR isn't processing correctly?

2- When trying to stream content to two devices on my same local network, one of the streams will start stuttering, sometimes quite a lot. This doesn't happen when only playing one stream.

More Info:

My understanding from lots and lots of docs and forum posts is that the integrated GPU on my Intel Core i5-7500 vPro should have no trouble handling multiple 4K HDR streams at the same time. So my assumption is that hardware acceleration isn't working properly (or at all) and therefore my CPU is struggling to do just the software transcoding. Am I possibly wrong? Sure, but I have no idea what I'm doing most of the time so that wouldn't surprise me.

I have tried various combinations of settings based on things I've read here on the forum, on the Jellyfin subreddit, and in official docs for Jellyfin and the linuxserver.io container.

I have installed the intel-Gpu-TOP plugin in Unraid, that didn't seem to change anything.

I have added the DOCKER_MODS=linuxserver/mods:jellyfin-opencl-intel variable to the Jellyfin container in Unraid, but I'm genuinely not sure if I did it right.

I've tried looking at the FFMPEG logs in Jellyfin to see if transcoding is working or not, but I just have no idea how to parse what I'm looking at.

I have tried offering my soul to whatever deity will help me, but no luck there.


Any advice y'all can offer would be very much appreciated, and whatever further info I can provide I would be happy to.

Thanks in advance!


RE: Intel QSV Unraid Hardware Accel Troubleshooting - TheDreadPirate - 2024-08-10

Can you share your jellyfin and an ffmpeg log via pastebin?


RE: Intel QSV Unraid Hardware Accel Troubleshooting - jellybelly44 - 2024-08-10

Here's the ffmpeg log:

https://pastebin.com/Yt7H9aW0

My Jellyfin log exceeds the 512kb limit for pastebin. I tried to just add it as an attachment to my original post, not sure if you can see it there now or not.


RE: Intel QSV Unraid Hardware Accel Troubleshooting - TheDreadPirate - 2024-08-10

Did you pass the GPU into the container?  In the menu for the container is an option pass in a device.  Ignore the arrow, this screenshot was taken for another post but I don't feel like booting up unRAID right now.

   


RE: Intel QSV Unraid Hardware Accel Troubleshooting - jellybelly44 - 2024-08-10

[Image: Screenshot-2024-08-10-at-12-16-34-AM.png]

Looks like I may not have had the GPU passed properly before, but I believe I have it set correctly in the container settings now. Screenshot included above to confirm wehther that looks right.

I also tried editing my flash boot settings based on this Unraid forum post (https://forums.unraid.net/topic/133632-setting-up-jellyfin-hardware-acceleration-12600k/page/2/) and then rebooting my server, still no dice.


RE: Intel QSV Unraid Hardware Accel Troubleshooting - TheDreadPirate - 2024-08-10

Can you share screenshots of your docker config?


RE: Intel QSV Unraid Hardware Accel Troubleshooting - jellybelly44 - 2024-08-10

I've attached screenshots of my Jellyfin container config in the Unraid GUI, as well as a screenshot of what the Docker-run config looks like when it builds.
               


RE: Intel QSV Unraid Hardware Accel Troubleshooting - TheDreadPirate - 2024-08-11

Ok. For some reason the screenshot you shared in your prior post wasn't loading when I asked for them. Sorry.

I know it shouldn't matter, but instead of passing in /dev/dri, can you specifically pass in the render device?

/dev/dri/renderD128


RE: Intel QSV Unraid Hardware Accel Troubleshooting - jellybelly44 - 2024-08-11

No worries, I was having trouble viewing the first screenshot sometimes too.

I have tried doing /dev/dri/renderD128, no change. I've also tried doing both renderD128 and card0, still no good.

I've seen a few posts where people have had this just magically start working when they switch to the official Jellyfin container (different drivers between Debian and Ubuntu I guess?). I have nothing against giving that a go, but I'm having trouble finding any good instructions about how to make the move from the linuxserver.io container to the official Jellyfin one, and my attempts at just figuring it out have been very unfruitful.

Not saying that that's definitively the fix, as I feel like this should still work with the linuxserver.io container, but I'm all for the path of least resistance.


RE: Intel QSV Unraid Hardware Accel Troubleshooting - TheDreadPirate - 2024-08-11

The LSIO image is slightly different besides a different base OS. Slighty different file locations, etc.

Enough so that you can't switch between them with your existing data. You will simply have to start over.

But you can spin up a separate container just for testing.