Jump to content

Can't get hardware transcoding working


SirJMD
Go to solution Solved by Q-Droid,

Recommended Posts

SirJMD

I feel like I've tried just about everything, so now I need some expert advice.

Setup:

  • Intel i7-13700k
  • IGD enabled in BIOS.
  • Unraid 6.11.5
  • EmbyServer 4.7.11.0 running in Docker
  • And of course Emby Premiere.

 

Things I've tried:

  • Ran "intel_gpu_top", returned /dev/dri/card0
  • Ran ls -l /dev/dri and got:
    • crwxrwxrwx 1 root video 226,   0 Mar 30 16:43 card0
    • crwxrwxrwx 1 root video 226, 128 Mar 30 16:43 renderD128
  • Ran "getent group video | cut -d: -f3" and got 18. Added that to GIDLIST.
  • Added "--device=/dev/dri/renderD128:/dev/dri/renderD128 --device=/dev/dri/card0:/dev/dri/card0" to Additional Requirements.
  • Added /dev/dri/ to Container Device.

From the hardware log I get "Failed to initialize VA /dev/dri/renderD128. Error -1".

What am I missing?

embyserver.txt hardware_detection-63815807817.txt

Link to comment
Share on other sites

chacawaca

i only add to Extra Parameters:

--device=/dev/dri:/dev/dri

and it work with vaapi on 4.7.11.0

Link to comment
Share on other sites

SirJMD
2 minutes ago, chacawaca said:

i only add to Extra Parameters:

--device=/dev/dri:/dev/dri

and it work with vaapi on 4.7.11.0

I've tried that too, as well as adding --privileged. Sadly no luck.

image.png.3af4aeee80d81eaf6f586fd01b6ec657.png

Link to comment
Share on other sites

SirJMD
2 hours ago, Luke said:

HI, did you take a look at the gpu setup in our Docker setup guide?

https://emby.media/docker-server.html

Yep, thanks. That's where I got the command "getent group video | cut -d: -f3". "group render" returns nothing.

Where there something specific you thought I was missing? I've read more guides, bug reports and help threads than I can remember, but I could easily have missed something. Even resorted to ChatGPT, with no luck of course.

 

Running the command "intel_gpu_top" results in: intel-gpu-top: Intel Raptorlake_s (Gen12)

Is that an issue? The CPU is gen 13, but is otherwise correctly identified as "Raptor Lake-S".

 

Forgot to mention that I've also updated the BIOS, to get the newest microcode. No change sadly.

Link to comment
Share on other sites

  • Solution
Q-Droid

Raptor Lake is bleeding edge on Emby+Linux. Can you backup or copy your EMBY_DATA and try with the latest beta? 

I also think that mapping /dev/dri for the devices is better as it would include all under that path. Mapping them individually leaves room for error. 

 

Link to comment
Share on other sites

SirJMD
5 hours ago, Q-Droid said:

Raptor Lake is bleeding edge on Emby+Linux. Can you backup or copy your EMBY_DATA and try with the latest beta? 

I also think that mapping /dev/dri for the devices is better as it would include all under that path. Mapping them individually leaves room for error. 

 

I just pulled emby/embyserver:beta running Version 4.8.0.28 beta, and added --device=/dev/dri:/dev/dri as additional requirements.

That did nothing.

Added "18" to GIDLIST. That did nothing.

Then I added /dev/dri as a host device.. that worked! So it seems like the stable version is lacking some sort of support for this CPU? Can't wait for the beta to turn stable!!

As a bonus, it also seems to be able to direct stream HEVC in Chrome.

image.png.f08325ecb2572f7bf8f3f7765caf23c2.png

 

image.png.c8d7c9d7ff78c0034ddcb063dc911686.png

 

Edited by SirJMD
  • Like 1
Link to comment
Share on other sites

Q-Droid

Good to know it works - that's a lot of progress. The "Gen12" in hardware detection is referring to the GPU section, Xe-LP architecture that is shared on Tiger Lake thru Raptor Lake.

 

Edited by Q-Droid
Link to comment
Share on other sites

SirJMD
12 hours ago, Q-Droid said:

Good to know it works - that's a lot of progress. The "Gen12" in hardware detection is referring to the GPU section, Xe-LP architecture that is shared on Tiger Lake thru Raptor Lake.

 

It's a bit odd that --device=/dev/dri:/dev/dri didn't work.

Link to comment
Share on other sites

Q-Droid
3 hours ago, SirJMD said:

It's a bit odd that --device=/dev/dri:/dev/dri didn't work.

Not sure what you mean. What ended up working?

Link to comment
Share on other sites

  • 9 months later...
Steve.B.Smith

I had similar issues with "Alder Lake" i915 on Docker.

"Message": "Failed to initialize VA /dev/dri/renderD128. Error -1"

I eventually resolved the issue by switching to the beta:

I modified my docker-compose.yml:

    image: emby/embyserver:beta

 

This along with setting the GIDLIST to:

       - GIDLIST=44,104

Which corresponds to the card0 and renderD128 devices:

>ls -n /dev/dri

total 0
drwxr-xr-x 2 0   0       80 Jan  6 01:48 by-path
crw-rw---- 1 0  44 226,   0 Jan  6 01:48 card0
crw-rw---- 1 0 104 226, 128 Jan  6 01:48 renderD128

 

Finally, the devices:

    devices:
      - /dev/dri:/dev/dri # VAAPI/NVDEC/NVENC render nodes

 

  • Thanks 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...