Jump to content

Why can't I see the hardware decoder?


tianmo
Go to solution Solved by tianmo,

Recommended Posts

tianmo

I installed pve on an intel n100 cpu host, then installed ubuntu through the lxc container, then mapped the intel core display in ubuntu, and installed the latest intel driver, vainfo shows that everything is ok, but after installing the emby server, it cannot Seeing the hardware decoder, I look at the hardware log showing an error "Message": "Failed to initialize VA /dev/dri/renderD128. Error -1". But I installed the docker container of jellyfin in the lxc container, the hardware decoding can be done. What is the problem? How can emby use hardware decoding? I have an emby lifetime premium.thank you very much.

 image.png.d99088e9ba3c591b84a61c832d2c4df9.pngimage.png.3a24069347541c99d6f5a761bb1ce774.pngimage.png.a60d6631ae2022610e633aad1a56b356.pngimage.png.c17a1c28875aa8f0a7e8c7acaefbf13e.png

 

Link to comment
Share on other sites

tianmo

I installed pve on an intel n100 cpu host, then installed ubuntu through the lxc container, then mapped the intel core display in ubuntu, and installed the latest intel driver, vainfo shows that everything is ok, but after installing the emby server, it cannot Seeing the hardware decoder, I look at the hardware log showing an error "Message": "Failed to initialize VA /dev/dri/renderD128. Error -1". But I installed the docker container of jellyfin in the lxc container, the hardware decoding can be done. What is the problem? How can emby use hardware decoding? I have an emby lifetime premium.thank you very much

image.png.d99088e9ba3c591b84a61c832d2c4df9.pngimage.png.3a24069347541c99d6f5a761bb1ce774.pngimage.png.a60d6631ae2022610e633aad1a56b356.pngimage.png.c17a1c28875aa8f0a7e8c7acaefbf13e.png

hardware_detection-63817877355.txt embyserver.txt

Link to comment
Share on other sites

dgrigo

You missing privileges of video and render group.

Check official docker emby/emby on how to find the gid and put them in GIDLIST.

Hope that make sense.

Link to comment
Share on other sites

tianmo
7 hours ago, dgrigo said:

You missing privileges of video and render group.

Check official docker emby/emby on how to find the gid and put them in GIDLIST.

Hope that make sense.

Thanks for your answer. My gids are 103,44 in the host and 108,44 in the container. I added them to the gidlist as shown below. But the hardware decoding is still invisible, and the same error message is still seen in the log.image.png.f503a0d03d397986fd46228781c9de81.png

Link to comment
Share on other sites

tianmo
4 hours ago, Luke said:

Hi, please let us know if this helps. Thanks !

Thanks, but it doesn't seem to be working. The render group and video group of my host are 103 and 44 respectively, and the gid of the container are 108 and 44 respectively. I added them to the gidlist, but I still can’t see the hardware decoder, and the same error is still in the log

Link to comment
Share on other sites

stephen_hill

@tianmo

Here are my personal notes (just copied straight from my notebook as is) I made when doing this in a Debian Proxmox LXC container. I hope they can be helpful to you.

It's worth mentioning that the group IDs and the maps may be different on your machine. I found the first link https://yoursunny.com/t/2022/lxc-vaapi/ very helpful in understanding this and it provides a tool for generating the correct lines.

host

intel-gpu-tools
vainfo
usermod -a -G video emby
https://yoursunny.com/t/2022/lxc-vaapi/
https://emby.media/community/index.php?/topic/49680-howto-vaapi-transcoding-inside-lxc-container/
https://www.reddit.com/r/Proxmox/comments/q5wbl0/lxcmountentry_static_uidgid_in_lxc_guest/
Host “render” group = 106
LXC “render” group = 105

sudo nano /etc/subgid
root:106:1
sudo reboot

sudo nano /etc/pve/lxc/100.conf

lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 105
lxc.idmap = g 105 106 1
lxc.idmap = g 106 100106 65430
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir

 

Link to comment
Share on other sites

dgrigo

Ok Guys, UID = 2 GID = 2 GIDLIST 44,107,1000

I also have added my user (1000)

The owner ship of all Dataset for all directories of emby is UID 1000 Gid 1000 with write user group and other , read user group and exec user group and other.

As i have the emby config in the same dataset, and user id or EMBY is 2 (bin) in trunas scale.

On credentials I have added to my user (1000) Auxiliary groups bin,video, render , build in admins.

Ok I think I didn't forgot anything, after you do everything give your Emby config directory full access to bin/bin, only if you are not using pvc storage and use host path like me.

 

Hope it helps

/wave

Link to comment
Share on other sites

Q-Droid

That's a very new CPU and low power version to boot. Are you in a position to try the Emby beta release? Quite a few Intel QSV updates have been added to beta.

Your kernel is new enough and there still might be some kernel boot options and Proxmox/LXC device mappings to check/fix but running beta even if Docker is easy enough to try.

 

Link to comment
Share on other sites

tianmo
16 minutes ago, Q-Droid said:

That's a very new CPU and low power version to boot. Are you in a position to try the Emby beta release? Quite a few Intel QSV updates have been added to beta.

Your kernel is new enough and there still might be some kernel boot options and Proxmox/LXC device mappings to check/fix but running beta even if Docker is easy enough to try.

 

Ah, indeed, I tried the beta version, and the hardware decoding can indeed be turned on. thank you for your help

Link to comment
Share on other sites

tianmo
1 hour ago, dgrigo said:

Ok Guys, UID = 2 GID = 2 GIDLIST 44,107,1000

I also have added my user (1000)

The owner ship of all Dataset for all directories of emby is UID 1000 Gid 1000 with write user group and other , read user group and exec user group and other.

As i have the emby config in the same dataset, and user id or EMBY is 2 (bin) in trunas scale.

On credentials I have added to my user (1000) Auxiliary groups bin,video, render , build in admins.

Ok I think I didn't forgot anything, after you do everything give your Emby config directory full access to bin/bin, only if you are not using pvc storage and use host path like me.

 

Hope it helps

/wave

Thank you very much for your answer, I am using a privileged container, so it is not a problem of uid and gid, I tried the latest beta version of emby, and my problem has been solved, it seems to be a problem with the emby hardware driver. Thank you very much

Link to comment
Share on other sites

  • Solution
tianmo
6 hours ago, stephen_hill said:

@tianmo

Here are my personal notes (just copied straight from my notebook as is) I made when doing this in a Debian Proxmox LXC container. I hope they can be helpful to you.

It's worth mentioning that the group IDs and the maps may be different on your machine. I found the first link https://yoursunny.com/t/2022/lxc-vaapi/ very helpful in understanding this and it provides a tool for generating the correct lines.

host

intel-gpu-tools
vainfo
usermod -a -G video emby
https://yoursunny.com/t/2022/lxc-vaapi/
https://emby.media/community/index.php?/topic/49680-howto-vaapi-transcoding-inside-lxc-container/
https://www.reddit.com/r/Proxmox/comments/q5wbl0/lxcmountentry_static_uidgid_in_lxc_guest/
Host “render” group = 106
LXC “render” group = 105

sudo nano /etc/subgid
root:106:1
sudo reboot

sudo nano /etc/pve/lxc/100.conf

lxc.idmap = u 0 100000 65536
lxc.idmap = g 0 100000 105
lxc.idmap = g 105 106 1
lxc.idmap = g 106 100106 65430
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount.entry: /dev/dri dev/dri none bind,optional,create=dir

 

Thank you very much for your answer, I am using a privileged container, so it is not a problem of uid and gid, I tried the latest beta version of emby, and my problem has been solved, it seems to be a problem with the emby hardware driver. Thank you very much

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