Skip to content

[BUG] Render group not mapped correctly to own card with intel GPU passthrough #427

@m-m-adams

Description

@m-m-adams

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

Seems to be a duplicate of #211 however I am actually using your docker image. The device renderD128 is owned by the render group on my host but the docker container leaves that as group 104 without mapping it to render. The plex webui sees the GPU and allows me to select it but won't actually be able to use it for transcoding

Jul 08, 2025 22:57:27.912 [128038606003000] DEBUG - [Req#2c7/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (Intel Alder Lake-UP3 GT2 [UHD Graphics])
Jul 08, 2025 22:57:27.912 [128038606003000] ERROR - [Req#2c7/Transcode] [FFMPEG] - No VA display found for device /dev/dri/renderD128.
Jul 08, 2025 22:57:27.912 [128038606003000] DEBUG - [Req#2c7/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Jul 08, 2025 22:57:27.912 [128038606003000] DEBUG - [Req#2c7/Transcode] Could not create hardware context for h264_vaapi
Jul 08, 2025 22:57:27.912 [128038606003000] DEBUG - [Req#2c7/Transcode] Codecs: testing hevc (decoder) with hwdevice vaapi
Jul 08, 2025 22:57:27.912 [128038606003000] DEBUG - [Req#2c7/Transcode] Codecs: hardware transcoding: testing API vaapi for device '/dev/dri/renderD128' (Intel Alder Lake-UP3 GT2 [UHD Graphics])
Jul 08, 2025 22:57:27.912 [128038606003000] ERROR - [Req#2c7/Transcode] [FFMPEG] - No VA display found for device /dev/dri/renderD128.
Jul 08, 2025 22:57:27.912 [128038606003000] DEBUG - [Req#2c7/Transcode] Codecs: hardware transcoding: opening hw device failed - probably not supported by this system, error: Invalid argument
Jul 08, 2025 22:57:27.912 [128038606003000] DEBUG - [Req#2c7/Transcode] Could not create hardware context for hevc

The gpu appears owned by "104" within the docker container rather than the render group

Image

I installed hwinfo inside the docker container to troubleshoot and it is able to see the gpu

Image

GPU passthrough to the LXC is working and ffmpeg is able to use it to decode video successfully

Image

Expected Behavior

The GPU should be used for transcoding

Steps To Reproduce

  1. In a debian 12 LXC on proxmox with GPU passthrough working
  2. Run the linuxserver plex image
  3. Enable hardware decoding
  4. Stream a video with transcoding
  5. Observe that the GPU is not used, see the error in the plex server log

Environment

- OS: Debian 12
- How docker service was installed: distro's packagemanager

CPU architecture

x86-64

Docker creation

plex-server:
    container_name: plex-server
    image: lscr.io/linuxserver/plex:latest
    restart: unless-stopped
    environment:
      - TZ=${TZ} # timezone, defined in .env
      - VERSION=docker
    devices:
      - /dev/dri:/dev/dri
      - /dev/dri/renderD128:/dev/dri/renderD128
    network_mode: host
    volumes:
      - ${CONFIG}/plex/db:/config:Z # plex database
      - ${CONFIG}/plex/transcode:/transcode:Z # temp transcoded files
      - /mnt/Storage/Media:/data:ro,z # media library

Container logs

[migrations] started
[migrations] no migrations found
usermod: no changes
───────────────────────────────────────

      ██╗     ███████╗██╗ ██████╗
      ██║     ██╔════╝██║██╔═══██╗
      ██║     ███████╗██║██║   ██║
      ██║     ╚════██║██║██║   ██║
      ███████╗███████║██║╚██████╔╝
      ╚══════╝╚══════╝╚═╝ ╚═════╝

   Brought to you by linuxserver.io
───────────────────────────────────────

To support LSIO projects visit:
https://www.linuxserver.io/donate/

───────────────────────────────────────
GID/UID
───────────────────────────────────────

User UID:    911
User GID:    911
───────────────────────────────────────
Linuxserver.io version: 1.41.8.9834-071366d65-ls270
Build-date: 2025-06-30T09:31:12+00:00
───────────────────────────────────────
    
Change in ownership detected, please be patient while we chown existing files
This could take some time
Setting permissions on /transcode
**** Server already claimed ****
Docker is used for versioning skip update check
[custom-init] No custom files found, skipping...
Starting Plex Media Server. . . (you can ignore the libusb_init error)
Connection to localhost (::1) 32400 port [tcp/*] succeeded!
[ls.io-init] done.
Critical: libusb_init failed
Dolby, Dolby Digital, Dolby Digital Plus, Dolby TrueHD and the double D symbol are trademarks of Dolby Laboratories.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions