Hi I just purchased my Plex Pass subscrition in order to use HW transcoding on my PMS which is installed in a docker container on Ubuntu 22.04.2 host on a PC with Intel N100 processor.
I have followed the following guide in order to enable HW transcoding:
The thing is that when trying to check if Quicksync recognises my GPU I get the following (all the commands below where executed in the host):
ubuntu@pms:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.2 LTS
Release: 22.04
Codename: jammy
ubuntu@pms:~$ uname -r
5.15.0-73-generic
ubuntu@pms:~$ sudo lspci -v -s $(lspci | grep VGA | cut -d" " -f 1)
00:02.0 VGA compatible controller: Intel Corporation Device 46d1 (prog-if 00 [VGA controller])
DeviceName: Onboard - Video
Subsystem: Intel Corporation Device 7270
Flags: bus master, fast devsel, latency 0, IRQ 255
Memory at 6000000000 (64-bit, non-prefetchable) [size=16M]
Memory at 4000000000 (64-bit, prefetchable) [size=256M]
I/O ports at 4000 [size=64]
Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
Capabilities: [40] Vendor Specific Information: Len=0c <?>
Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
Capabilities: [ac] MSI: Enable- Count=1/1 Maskable+ 64bit-
Capabilities: [d0] Power Management version 2
Capabilities: [100] Process Address Space ID (PASID)
Capabilities: [200] Address Translation Service (ATS)
Capabilities: [300] Page Request Interface (PRI)
Capabilities: [320] Single Root I/O Virtualization (SR-IOV)
When as per the guide I should get:
Kernel driver in use: i915
And the path /dev/dri which I should pass to teh container does not exist:
ubuntu@pms:~$ ls /dev/dri
ls: cannot access '/dev/dri': No such file or directory
So I assume that the kernel is not recognizing my GPU. Do I need to do anything else? Install any driver whatsoever?
Thanks in advance for your help, as I cannot find more infromation in the official guide.
There was incomplete support for some processor graphics (11th gen and later) in the 5.15.x kernels included in 22.04. Some (most) of that has been resolved by 5.19.x, which is included in the hardware enablement package. It can be installed via:
Itās late here (US EDT), but Iāll try to provide some additional suggestions tomorrow. In the interim, Iād suggest that you ensure that your /dev/dri directory is being passed through to your container successfully, and that correct permissions are applied (the user you configured for the container is a member of the group owner of /dev/dri/card0 and /dev/dri/renderD128. It might also be helpful if you could provide server logs with debug logging enabled (not verbose).
Sorry guys I had a typo in my docker compose file and the /dev/dri directory was not passed correctly.
Now it is working like a charm. Thanks a lot for your help!
Iām not harping but this is why the native app is easier ā Fewer things to mess up because the native package does it all for you. I put a lot of time/effort into making the native installer intelligent and handle everything we (us and the community) could think of.
The runtime user is easily changed too (standard systemd override)
Docker is great when there is no native package for a distro (what itās intent is)
but when you can ā āGo Nativeā
Yes, I agree that the native app would be much easier in most cases, but the thing is that I am hosting many other applications in the same PC that I want to avoid messing with each other (*arr apps, home assistant, reverse proxy, etc.) that is why docker in this case is not better, but it is the only way to go