[Bug]: Fails to initialize new AMD GPU (Navi 4x Series) due to outdated Mesa drivers
Describe the Bug
Hi,
I'm running into an issue trying to use a new-generation AMD GPU with the steam-headless container. The GPU works perfectly on the host machine, but fails to initialize inside the container.
On the host system, the GPU initializes correctly. The output of DRI_PRIME=1 vainfo is successful:
vainfo: Driver version: Mesa Gallium driver 24.2.8-1ubuntu1~24.04.1 for AMD Radeon Graphics (radeonsi, gfx1200, LLVM 19.1.1, DRM 3.61, 6.14.0-27-generic) vainfo: Supported profile and entrypoints VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD
Docker-compose file being used includes passthrough for /dev/dri, /dev/kfd, and membership in the render (993) and video (44) groups.
version: '3.8'
services:
steam-headless:
image: josh5/steam-headless:latest
container_name: steam-headless
restart: unless-stopped
privileged: true
devices:
- /dev/dri:/dev/dri
- /dev/kfd:/dev/kfd
group_add:
- "993" # render
- "44" # video
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Dublin
- DRI_PRIME=1
shm_size: 2g
When running the vainfo command inside the container, it fails to find a suitable driver:
$ docker exec -it steam-headless vainfo
libva info: VA-API version 1.17.0
libva error: vaGetDriverNameByIndex() failed with unknown libva error, driver_name = (null)
vaInitialize failed with error code -1 (unknown libva error),exit
Since the host system works perfectly, the issue might be that the user-space graphics drivers (Mesa, LLVM, etc.) inside the Docker image are too old to support this new GPU hardware. The container has the correct permissions but lacks the software to interface with the card. Can these be updated?
Thanks for the project btw, it runs perfectly with the intel integrated graphics but I would love to do some heavier gaming.
Steps to Reproduce
No response
Expected Behavior
No response
Screenshots
No response
Relevant Settings
No response
Version
3.8
Platform
Im running:
- Host OS: Ubuntu Server 24.04
- Kernel: 6.14.0-27-generic
- GPU: AMD Navi 4x Series (Device ID [1002:7590])
Relevant log output
same here
On my Unraid server, I elevated my docker to give it root privileges:
https://github.com/Steam-Headless/docker-steam-headless/issues/163#issuecomment-3379452275
Maybe that will work around this problem for others too? I don't know how to give it the permissions it needs without running the container with root privileges...