Skip to content

[BUG] GPU issues on Unraid #11

Description

@BeattieBoy

Is there an existing issue for this?

  • I have searched the existing issues

Current Behavior

GPUs cannot be enabled on Unraid. This was raised in a issue previously, but the thread seemed to be abandoned with no solution.

Expected Behavior

It should use the GPU...

Steps To Reproduce

Container boots but fails to get permission for the GPU and falls back to software rendering. The GPU(s) are detected (a 3080 on D128 and a Tesla P40 on D129), everything seems to go smoothly until

KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
[Wayland] GPU renderer failed to initialize (Failed to allocate GBM buffer); rendering in software (Pixman).

I have tried every combination of docker configs I can think of with no luck.

  • Passing /dev/dri
  • Defining DINODE and DRI_NODE
  • modeset is configured in the bootloader and a cat /sys/module/nvidia_drm/parameters/modeset returns Y
  • Adding NVIDIA_VISIBLE_DEVICES and NVIDIDA_DRIVER_CAPABILITIES (as many Unraid docker containers use)
  • Running nvidia-modprobe --modeset after reboot and before launching the container

Environment

- OS: Unraid 7.1.4
- How docker service was installed: Compose
- Nvidia Driver: 580.82.09
- GPU: RTX 3080 (Tesla P40 installed but not trying to use that)

CPU architecture

x86-64

Docker creation

services:
  webstation:
    image: lscr.io/linuxserver/webstation:latest
    container_name: webstation
    runtime: nvidia
    gpus: all
    environment:
      - PUID=99
      - PGID=100
      - TZ=America/Los_Angeles # Change to your timezone
      - DRINODE=/dev/dri/renderD128
      - DRI_NODE=/dev/dri/renderD128
    devices:
      - /dev/dri:/dev/dri
      - /dev/nvidia-modeset:/dev/nvidia-modeset
    volumes:
      - /mnt/user/appdata/webstation:/config # Replace with your local directory
      - /mnt/user/Media/ROMs/roms:/romm-roms
      - /mnt/user/Media/ROMs/BIOS:/bios
    ports:
      - 3000:3000
      - 3001:3001
    shm_size: "1gb"
    restart: unless-stopped

Container logs

User UID:    99
User GID:    100
───────────────────────────────────────
[ls.io-init] Generating labwc rc.xml from template
[ls.io-init] Disabling auto-maximization
/usr/bin/nvidia-smi
**** adding /dev/dri/renderD129 to video group root with id 0 ****
**** permissions for /dev/dri/renderD128 are good ****
**** permissions for /dev/dri/card2 are good ****
**** permissions for /dev/dri/card1 are good ****
**** creating video group video970t with id 18 ****
**** adding /dev/dri/card0 to video group video970t with id 18 ****
by-path
card0
card1
card2
renderD128
renderD129
**** NVIDIA GPU detected ****
**** Setting up OpenCL ICD for NVIDIA ****
**** Setting up EGL vendor file for NVIDIA ****
**** Routing GLX to the NVIDIA library ****
[custom-init] No custom files found, skipping...
[svc-de] Wayland mode: Waiting for socket at /config/.XDG/wayland-1...
[ls.io-init] done.
19
20
[pixelflux] Render node 0 encodes H264, H265 on nvenc.
[pixelflux] Thread priority -15 refused and rtkit does not grant it; capture threads run at normal priority.
[Wayland] Renderer: GL on /dev/dri/renderD128.
pci id for fd 43: 10de:2206, driver (null)
pci id for fd 44: 10de:2206, driver (null)
pci id for fd 45: 10de:2206, driver (null)
pci id for fd 44: 10de:2206, driver (null)
pci id for fd 45: 10de:2206, driver (null)
pci id for fd 42: 10de:2206, driver (null)
pci id for fd 46: 10de:2206, driver (null)
pci id for fd 47: 10de:2206, driver (null)
pci id for fd 46: 10de:2206, driver (null)
pci id for fd 47: 10de:2206, driver (null)
KMS: DRM_IOCTL_MODE_CREATE_DUMB failed: Permission denied
[Wayland] GPU renderer failed to initialize (Failed to allocate GBM buffer); rendering in software (Pixman).
[Wayland] View 1 created over output 0: 1024x768 @ (0, 0).
[Wayland] Socket listening on: "wayland-1"
INFO:server:Wayland compositor socket: wayland-1
INFO:main:Selkies 2.0.0 starting: websockets transport, Wayland capture, encoder h264enc at 8-240 fps, sized by the client, audio on, gamepads on, access op
en.
INFO:server:Starting service: websockets
INFO:gamepad:4 virtual gamepads ready ('Microsoft X-Box 360 pad', sockets under /tmp); kernel uinput off.
INFO:input:Wayland clipboard: native compositor callback active (no polling).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions