R
Runpod7mo ago
Jack

hardware graphics acceleration

Hello, I am trying to create an instance on RunPod that provides hardware graphics acceleration (using an NVIDIA GPU) along with a fully functional remote desktop environment. To achieve this, I have tried using the following images: nvidia/cuda:12.1.1-base-ubuntu20.04 This is a basic CUDA image that does not include a graphical desktop environment. I installed an X server (Xvfb), XFCE, and x11vnc, but when checking with glxinfo the OpenGL renderer shows “llvmpipe” – meaning that software rendering is used instead of the actual NVIDIA driver. massedcompute/nvidia-glx-desktop This image is advertised as a solution for NVIDIA GLX desktop with hardware acceleration, but I am unsure what exactly is included and how to configure it properly for remote desktop access via VNC. Could you please advise on the correct configuration for an instance on RunPod that has a working remote desktop with true GPU hardware acceleration? Which images do you recommend, and what settings (for example, environment variables, port mappings, etc.) should be applied to ensure proper operation? Thank you for your assistance!
9 Replies
riverfog7
riverfog77mo ago
I think i saw a headless gamestream server implementation on docker gamestream is just a very low latency remote desktop
riverfog7
riverfog77mo ago
https://github.com/Steam-Headless/docker-steam-headless -> probably doesn't work cause it requires /dev/fuse
GitHub
GitHub - Steam-Headless/docker-steam-headless: A Headless Steam Doc...
A Headless Steam Docker image supporting NVIDIA GPU and accessible via Web UI - Steam-Headless/docker-steam-headless
riverfog7
riverfog77mo ago
GitHub
GitHub - games-on-whales/wolf: Stream virtual desktops and games ru...
Stream virtual desktops and games running in Docker - games-on-whales/wolf
Unknown User
Unknown User7mo ago
Message Not Public
Sign In & Join Server To View
Simon
Simon6mo ago
Hi, I also want to achieve this and the problem seems to be that runpod does not allow access to the /dev/dri/card* and /dev/dri/render* devices. This can be verified very easily:
imageName: "ubuntu:22.04",
dockerEntrypoint: [
"/bin/bash",
"-c",
"ls -lah /dev/dri && cat /dev/dri/card* && sleep infinity",
],
imageName: "ubuntu:22.04",
dockerEntrypoint: [
"/bin/bash",
"-c",
"ls -lah /dev/dri && cat /dev/dri/card* && sleep infinity",
],
total 0
drwxr-xr-x 3 root root 100 May 3 00:04 .
drwxr-xr-x 6 root root 460 May 3 00:04 ..
drwxr-xr-x 2 root root 80 May 3 00:04 by-path
crw-rw---- 1 nobody nogroup 226, 3 Nov 27 19:47 card3
crw-rw---- 1 nobody nogroup 226, 130 Nov 27 19:47 renderD130
cat: /dev/dri/card3: Permission denied
total 0
drwxr-xr-x 3 root root 100 May 3 00:04 .
drwxr-xr-x 6 root root 460 May 3 00:04 ..
drwxr-xr-x 2 root root 80 May 3 00:04 by-path
crw-rw---- 1 nobody nogroup 226, 3 Nov 27 19:47 card3
crw-rw---- 1 nobody nogroup 226, 130 Nov 27 19:47 renderD130
cat: /dev/dri/card3: Permission denied
This device is owned by nobody:nogroup which is not great, but it should still be accessible by root. But it is not. If you run this locally in docker or in k8s it will not fail (and just read the file forever and do nothing). Also this file seems to be mounted directly into the container via devtmpfs, in comparison in docker and k8s its a normal device... So as far as I can tell they implemented something non-standard on their orchestration software and its not working correctly or its denying on purpose. Anybody know what is going on?
Poddy
Poddy6mo ago
@Jack
Escalated To Zendesk
The thread has been escalated to Zendesk!
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View
Simon
Simon6mo ago
Hi, unfortunately I cannot open this ticket.
This escalation is for another user, you can't open this ticket!
Is there any update on this topic?
Unknown User
Unknown User6mo ago
Message Not Public
Sign In & Join Server To View

Did you find this page helpful?