Ubuntu Intel N5105 QSV HW Transcoder not detected

well at moment I’m running on the Openmediavault with th Kernel Linux 5.16.0-0.bpo.4-amd64 and i am trying to run the plexinc/pms-docker:plexpass in docker but my transcoding is failing i tried all the solution i have seen on the forum and Reddit.

today i did clean install to undo all the random stuff i have tried already.

dashboard screen shot

docker compose

---
version: "2.1"
services:
  plex:
    image: plexinc/pms-docker:plexpass
    container_name: plex
    network_mode: host
    environment:
      - PUID=1000
      - PGID=100
      - TZ=Europe/Amsterdam
    devices:
      - /dev/dri:/dev/dri    

    volumes:
      - /portainer/Files/AppData/Config/Plex:/config
      - /srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/transcode:/transcode
      - /srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/Movie:/movie
      - /srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/TV:/tv

here my latest log
Plex Media Server Logs_2022-12-13_18-02-51.zip (1012.8 KB)

and i already did this

echo "options i915 enable_guc=2" >> /etc/modprobe.d/i915.conf
update-initramfs -u

here this too

root@HomeServer:~# sudo dmesg | grep -i i915
[    3.799755] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    3.799768] fb0: switching to i915 from EFI VGA
[    3.807598] i915 0000:00:02.0: vgaarb: deactivate vga console
[    3.807685] i915 0000:00:02.0: [drm] Transparent Hugepage mode 'huge=within_size'
[    3.830809] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    3.833364] i915 0000:00:02.0: firmware: direct-loading firmware i915/icl_dmc_ver1_09.bin
[    3.834022] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/icl_dmc_ver1_09.bin (v1.9)
[    4.104407] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    4.108821] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.161648] fbcon: i915drmfb (fb0) is primary device
[    4.262170] i915 0000:00:02.0: [drm] fb0: i915drmfb frame buffer device
root@HomeServer:~#

and i have

root@HomeServer:~# cat /proc/cpuinfo | grep 'model name' | uniq
model name      : Intel(R) Pentium(R) Silver N6000 @ 1.10GHz
root@HomeServer:~#  uname -a
Linux HomeServer 5.16.0-0.bpo.4-amd64 #1 SMP PREEMPT Debian 5.16.12-1~bpo11+1 (2022-03-08) x86_64 GNU/Linux
root@HomeServer:~#

When you open a terminal window to the underlying OS,

  1. what do you get for ls -la ?

  2. Is 'PUID ’ a member of the Linux group which owns ‘renderD128’ ?

Asking this because the workstation (DEB) installer handles this for you but Docker doesn’t

root@HomeServer:~# ls -la
total 92
drwx------  3 root root  4096 Dec 13 12:24 .
drwxr-xr-x 20 root root  4096 Dec 13 13:01 ..
-rw-------  1 root root   756 Dec 13 17:51 .bash_history
-rw-------  1 root root   858 Apr 26  2022 .bashrc
-rw-------  1 root root   278 Apr 26  2022 .inputrc
-rw-r--r--  1 root root 59732 Dec 13 12:24 openmediavault-omvextrasorg_latest_all6.deb
-rw-r--r--  1 root root   174 Apr 26  2022 .profile
drwx------  2 root root  4096 Dec 13 12:11 .ssh
-rw-r--r--  1 root root   215 Dec 13 13:19 .wget-hsts

hmm i have docker user which is from following groups

root@HomeServer:~# id docker
uid=1000(docker) gid=100(users) groups=100(users),0(root),1(daemon),2(bin),3(sys),4(adm),27(sudo),37(operator),106(render),108(netdev),997(openmediavault-admin)
root@HomeServer:~#

I mis-wrote .

ls -la /dev/dri

Need to see what is setup by default in /dev/dri.

root@HomeServer:~# ls -la /dev/dri
total 0
drwxr-xr-x  3 root root        100 Dec 13 12:28 .
drwxr-xr-x 18 root root       3460 Dec 13 12:28 ..
drwxr-xr-x  2 root root         80 Dec 13 12:28 by-path
crw-rw----  1 root video  226,   0 Dec 13 12:28 card0
crw-rw----  1 root render 226, 128 Dec 13 12:28 renderD128
root@HomeServer:~#

Now check if the UID you’re using is a member of group render

[chuck@lizum ~.2006]$ ls -la /dev/dri
total 0
drwxr-xr-x   3 root root        140 Dec  1 14:29 ./
drwxr-xr-x  21 root root       5160 Dec 12 19:03 ../
drwxr-xr-x   2 root root        120 Dec  1 14:29 by-path/
crw-rw----+  1 root render 226,   0 Dec  1 14:29 card0
crw-rw----+  1 root render 226,   1 Dec 13 11:24 card1
crw-rw----+  1 root render 226, 128 Dec  1 14:29 renderD128
crw-rw----+  1 root render 226, 129 Dec  1 14:29 renderD129
[chuck@lizum ~.2007]$ grep render /etc/group
render:x:109:plex
[chuck@lizum ~.2008]$ 
root@HomeServer:~# grep render /etc/group
render:x:106:docker

yea it is

UID 1000 is ‘docker’ ?

yes

root@HomeServer:~# id docker
uid=1000(docker) gid=100(users) groups=100(users),0(root),1(daemon),2(bin),3(sys),4(adm),27(sudo),37(operator),106(render),108(netdev),997(openmediavault-admin)
root@HomeServer:~#

Thanks.

I didn’t see that confirmed and with all the difficulties, I wanted to be 100% certain it wasn’t “Permissions”. (would have been silly but it happens to me :slight_smile: )

understandable but that was one of the stuff i had seen as well so i made sure that not case.
if there is any point i have tried jellyfin and that one fails to hw transcode as well.

here the contain inspect if it shine light on the prblem

{
    "AppArmorProfile": "docker-default",
    "Args": [],
    "Config": {
        "AttachStderr": true,
        "AttachStdin": false,
        "AttachStdout": true,
        "Cmd": null,
        "Domainname": "",
        "Entrypoint": [
            "/init"
        ],
        "Env": [
            "PUID=1000",
            "PGID=100",
            "TZ=Europe/Amsterdam",
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "TERM=xterm",
            "LANG=C.UTF-8",
            "LC_ALL=C.UTF-8",
            "CHANGE_CONFIG_DIR_OWNERSHIP=true",
            "HOME=/config"
        ],
        "ExposedPorts": {
            "1900/udp": {},
            "3005/tcp": {},
            "32400/tcp": {},
            "32410/udp": {},
            "32412/udp": {},
            "32413/udp": {},
            "32414/udp": {},
            "32469/tcp": {},
            "8324/tcp": {}
        },
        "Healthcheck": {
            "Interval": 5000000000,
            "Retries": 20,
            "Test": [
                "CMD-SHELL",
                "/healthcheck.sh || exit 1"
            ],
            "Timeout": 2000000000
        },
        "Hostname": "HomeServer",
        "Image": "plexinc/pms-docker:plexpass",
        "Labels": {
            "com.docker.compose.config-hash": "16e7c336c75d5e4aa9e7b40fe7ea105386b5c7e0ae6c8fb579ecbe35adae1022",
            "com.docker.compose.container-number": "1",
            "com.docker.compose.depends_on": "",
            "com.docker.compose.image": "sha256:bd2a705539fb8e5a051e7754a97e7345e542e6e1aa374bf6d7cff0c2601034bd",
            "com.docker.compose.oneoff": "False",
            "com.docker.compose.project": "plex",
            "com.docker.compose.project.config_files": "/data/compose/1/docker-compose.yml",
            "com.docker.compose.project.working_dir": "/data/compose/1",
            "com.docker.compose.service": "plex",
            "com.docker.compose.version": "2.10.2"
        },
        "OnBuild": null,
        "OpenStdin": false,
        "StdinOnce": false,
        "Tty": false,
        "User": "",
        "Volumes": {
            "/config": {},
            "/movie": {},
            "/transcode": {},
            "/tv": {}
        },
        "WorkingDir": ""
    },
    "Created": "2022-12-13T12:59:47.995663926Z",
    "Driver": "overlay2",
    "ExecIDs": null,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/690f46b8049cb13ae4f89204e8085b2acb7d0010fa3200f07e8120746f907d5f-init/diff:/var/lib/docker/overlay2/56f11041bd7eb51dfdd760e2fd5aca5b3f3c7f56f28bc2f72dbbd25631e1d158/diff:/var/lib/docker/overlay2/f6f518ffce611e3285682469241e9577b574eca3bcfef4ac9b14785cf01da094/diff:/var/lib/docker/overlay2/79a3cbda71d77f14706ee518594edf48bac570a667e2fa0d398ffc882bce2340/diff:/var/lib/docker/overlay2/47dd0945ab2edfc2ab6196435ee7fbaebfddbddf618d3cc197e7a851a509e390/diff:/var/lib/docker/overlay2/af9449fc13ae1c0742a9bd11505da17004f3dbb9234a2e581a2defe9666444a2/diff:/var/lib/docker/overlay2/1d5a11c7a81f42a4881adaacb61145fd695ed7a566aa325f0b92b0d99511f7a1/diff",
            "MergedDir": "/var/lib/docker/overlay2/690f46b8049cb13ae4f89204e8085b2acb7d0010fa3200f07e8120746f907d5f/merged",
            "UpperDir": "/var/lib/docker/overlay2/690f46b8049cb13ae4f89204e8085b2acb7d0010fa3200f07e8120746f907d5f/diff",
            "WorkDir": "/var/lib/docker/overlay2/690f46b8049cb13ae4f89204e8085b2acb7d0010fa3200f07e8120746f907d5f/work"
        },
        "Name": "overlay2"
    },
    "HostConfig": {
        "AutoRemove": false,
        "Binds": [
            "/srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/TV:/tv:rw",
            "/portainer/Files/AppData/Config/Plex:/config:rw",
            "/srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/transcode:/transcode:rw",
            "/srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/Movie:/movie:rw"
        ],
        "BlkioDeviceReadBps": null,
        "BlkioDeviceReadIOps": null,
        "BlkioDeviceWriteBps": null,
        "BlkioDeviceWriteIOps": null,
        "BlkioWeight": 0,
        "BlkioWeightDevice": null,
        "CapAdd": null,
        "CapDrop": null,
        "Cgroup": "",
        "CgroupParent": "",
        "CgroupnsMode": "private",
        "ConsoleSize": [
            0,
            0
        ],
        "ContainerIDFile": "",
        "CpuCount": 0,
        "CpuPercent": 0,
        "CpuPeriod": 0,
        "CpuQuota": 0,
        "CpuRealtimePeriod": 0,
        "CpuRealtimeRuntime": 0,
        "CpuShares": 0,
        "CpusetCpus": "",
        "CpusetMems": "",
        "DeviceCgroupRules": null,
        "DeviceRequests": null,
        "Devices": [
            {
                "CgroupPermissions": "rwm",
                "PathInContainer": "/dev/dri",
                "PathOnHost": "/dev/dri"
            }
        ],
        "Dns": null,
        "DnsOptions": null,
        "DnsSearch": null,
        "ExtraHosts": [],
        "GroupAdd": null,
        "IOMaximumBandwidth": 0,
        "IOMaximumIOps": 0,
        "IpcMode": "private",
        "Isolation": "",
        "KernelMemory": 0,
        "KernelMemoryTCP": 0,
        "Links": null,
        "LogConfig": {
            "Config": {},
            "Type": "json-file"
        },
        "MaskedPaths": [
            "/proc/asound",
            "/proc/acpi",
            "/proc/kcore",
            "/proc/keys",
            "/proc/latency_stats",
            "/proc/timer_list",
            "/proc/timer_stats",
            "/proc/sched_debug",
            "/proc/scsi",
            "/sys/firmware"
        ],
        "Memory": 0,
        "MemoryReservation": 0,
        "MemorySwap": 0,
        "MemorySwappiness": null,
        "NanoCpus": 0,
        "NetworkMode": "host",
        "OomKillDisable": null,
        "OomScoreAdj": 0,
        "PidMode": "",
        "PidsLimit": null,
        "PortBindings": {},
        "Privileged": false,
        "PublishAllPorts": false,
        "ReadonlyPaths": [
            "/proc/bus",
            "/proc/fs",
            "/proc/irq",
            "/proc/sys",
            "/proc/sysrq-trigger"
        ],
        "ReadonlyRootfs": false,
        "RestartPolicy": {
            "MaximumRetryCount": 0,
            "Name": "unless-stopped"
        },
        "Runtime": "runc",
        "SecurityOpt": null,
        "ShmSize": 67108864,
        "UTSMode": "",
        "Ulimits": null,
        "UsernsMode": "",
        "VolumeDriver": "",
        "VolumesFrom": null
    },
    "HostnamePath": "/var/lib/docker/containers/dfae22a7c99e4ad9c607060d929b5fa87cea5ccb1b07711026b274979770fbe6/hostname",
    "HostsPath": "/var/lib/docker/containers/dfae22a7c99e4ad9c607060d929b5fa87cea5ccb1b07711026b274979770fbe6/hosts",
    "Id": "dfae22a7c99e4ad9c607060d929b5fa87cea5ccb1b07711026b274979770fbe6",
    "Image": "sha256:bd2a705539fb8e5a051e7754a97e7345e542e6e1aa374bf6d7cff0c2601034bd",
    "LogPath": "/var/lib/docker/containers/dfae22a7c99e4ad9c607060d929b5fa87cea5ccb1b07711026b274979770fbe6/dfae22a7c99e4ad9c607060d929b5fa87cea5ccb1b07711026b274979770fbe6-json.log",
    "MountLabel": "",
    "Mounts": [
        {
            "Destination": "/tv",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/TV",
            "Type": "bind"
        },
        {
            "Destination": "/config",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/portainer/Files/AppData/Config/Plex",
            "Type": "bind"
        },
        {
            "Destination": "/transcode",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/transcode",
            "Type": "bind"
        },
        {
            "Destination": "/movie",
            "Mode": "rw",
            "Propagation": "rprivate",
            "RW": true,
            "Source": "/srv/dev-disk-by-uuid-72A6FF8BA6FF4E5B/Movie",
            "Type": "bind"
        }
    ],
    "Name": "/plex",
    "NetworkSettings": {
        "Bridge": "",
        "EndpointID": "",
        "Gateway": "",
        "GlobalIPv6Address": "",
        "GlobalIPv6PrefixLen": 0,
        "HairpinMode": false,
        "IPAddress": "",
        "IPPrefixLen": 0,
        "IPv6Gateway": "",
        "LinkLocalIPv6Address": "",
        "LinkLocalIPv6PrefixLen": 0,
        "MacAddress": "",
        "Networks": {
            "host": {
                "Aliases": null,
                "DriverOpts": null,
                "EndpointID": "083fd82ead5352c3dbbc2cb232e2926ec05546f0e1224b53af5507c2b0bfa7f2",
                "Gateway": "",
                "GlobalIPv6Address": "",
                "GlobalIPv6PrefixLen": 0,
                "IPAMConfig": null,
                "IPAddress": "",
                "IPPrefixLen": 0,
                "IPv6Gateway": "",
                "Links": null,
                "MacAddress": "",
                "NetworkID": "fde543740375efc568ffa966537dc34acae00b1aa78c718e8b5653ba78dad4f9"
            }
        },
        "Ports": {},
        "SandboxID": "77605568e79010cd658a1572db2d285ffb750073140f24907732632c28d8337c",
        "SandboxKey": "/var/run/docker/netns/default",
        "SecondaryIPAddresses": null,
        "SecondaryIPv6Addresses": null
    },
    "Path": "/init",
    "Platform": "linux",
    "Portainer": {
        "ResourceControl": {
            "Id": 1,
            "ResourceId": "2_plex",
            "SubResourceIds": [],
            "Type": 6,
            "UserAccesses": [],
            "TeamAccesses": [],
            "Public": false,
            "AdministratorsOnly": true,
            "System": false
        }
    },
    "ProcessLabel": "",
    "ResolvConfPath": "/var/lib/docker/containers/dfae22a7c99e4ad9c607060d929b5fa87cea5ccb1b07711026b274979770fbe6/resolv.conf",
    "RestartCount": 0,
    "State": {
        "Dead": false,
        "Error": "",
        "ExitCode": 0,
        "FinishedAt": "0001-01-01T00:00:00Z",
        "Health": {
            "FailingStreak": 0,
            "Log": [
                {
                    "End": "2022-12-13T19:05:00.204410813+01:00",
                    "ExitCode": 0,
                    "Output": "",
                    "Start": "2022-12-13T19:05:00.118467658+01:00"
                },
                {
                    "End": "2022-12-13T19:05:05.292258636+01:00",
                    "ExitCode": 0,
                    "Output": "",
                    "Start": "2022-12-13T19:05:05.209138999+01:00"
                },
                {
                    "End": "2022-12-13T19:05:10.38047635+01:00",
                    "ExitCode": 0,
                    "Output": "",
                    "Start": "2022-12-13T19:05:10.296582939+01:00"
                },
                {
                    "End": "2022-12-13T19:05:15.468835127+01:00",
                    "ExitCode": 0,
                    "Output": "",
                    "Start": "2022-12-13T19:05:15.385049994+01:00"
                },
                {
                    "End": "2022-12-13T19:05:20.564368672+01:00",
                    "ExitCode": 0,
                    "Output": "",
                    "Start": "2022-12-13T19:05:20.47287675+01:00"
                }
            ],
            "Status": "healthy"
        },
        "OOMKilled": false,
        "Paused": false,
        "Pid": 62166,
        "Restarting": false,
        "Running": true,
        "StartedAt": "2022-12-13T12:59:48.228455122Z",
        "Status": "running"
    }
}

I’ve made OMV work in a VM before.

I have some errands to do this afternoon.

I’ll take some time to setup OMV in a VM and then install PMS in that VM.

It’ll be sluggish as heck but will ferret out what’s going on in there.

thank you, i apperciate the help also if you want i can give you vpn access to my omv if u want . let me know

Thanks for the offer but I have everything I need here.

is it possible the problem just goes away randomly? because i was just watching something and i notice this
image

i didn’t do anything besides a reboot
Plex Media Server Logs_2022-12-13_19-58-19.zip (1.4 MB)

May also be a bad media file.

No, i was testing on the same media i doubt it. but idk xD im happy its working now

FYI i am on

root@HomeServer:~# cat /proc/cpuinfo | grep 'model name' | uniq
model name      : Intel(R) Pentium(R) Silver N6000 @ 1.10GHz
root@HomeServer:~#  uname -a
Linux HomeServer 5.16.0-0.bpo.4-amd64 #1 SMP PREEMPT Debian 5.16.12-1~bpo11+1 (2022-03-08

and the only thing I had done was made sure that docker PUID was part of the render group and

echo "options i915 enable_guc=2" >> /etc/modprobe.d/i915.conf
update-initramfs -u

and randomly it start working after reboot

:stop_sign:

I don’t know if PMS supports the N6000 yet.
It should be included as part of the AlderLake support but I’m not 100% certain.

Here I am , rambling on about N5xxx and you’re sitting there with a N6xxx.

Would have been nice to know this in advance.

None the less, I’ll proceed and confirm what is happening.

@engSherv

Using my workhorse i7-8809 machine (ESXi host)

There are issues here:

  1. No HW transcoding
  2. UDEV group assignments not aligned with Ubuntu standard.
root@omv:/md0# ls -la /dev/dri
total 0
drwxr-xr-x  3 root root        140 Dec 13 15:12 .
drwxr-xr-x 17 root root       3360 Dec 13 15:17 ..
drwxr-xr-x  2 root root        120 Dec 13 15:12 by-path
crw-rw----  1 root video  226,   0 Dec 13 15:12 card0
crw-rw----  1 root video  226,   1 Dec 13 15:12 card1
crw-rw----  1 root render 226, 128 Dec 13 15:12 renderD128
crw-rw----  1 root render 226, 129 Dec 13 15:12 renderD129
root@omv:/md0# groups chuck
chuck : users chuck
root@omv:/md0# sudo vi /etc/group
root@omv:/md0# 

Ubuntu 20.04.5 LTS

[chuck@lizum docker.2004]$ ls -la /dev/dri
total 0
drwxr-xr-x   3 root root        140 Dec  1 14:29 ./
drwxr-xr-x  21 root root       5160 Dec 13 13:15 ../
drwxr-xr-x   2 root root        120 Dec  1 14:29 by-path/
crw-rw----+  1 root render 226,   0 Dec  1 14:29 card0
crw-rw----+  1 root render 226,   1 Dec 13 11:24 card1
crw-rw----+  1 root render 226, 128 Dec  1 14:29 renderD128
crw-rw----+  1 root render 226, 129 Dec  1 14:29 renderD129
[chuck@lizum docker.2005]$ 

Default installation kernel, for the record, 6.0.24-1 ISO image.

root@omv:/md0# uname -a
Linux omv 5.16.0-0.bpo.4-amd64 #1 SMP PREEMPT Debian 5.16.12-1~bpo11+1 (2022-03-08) x86_64 GNU/Linux
root@omv:/md0# 

I will do more investigating after dinner.