Looking for testers with an AMD or Intel GPU: does Vulkan compute already work through vaapi?
-
While the NVIDIA route (topic 15756) waits on the platform, there may be a shortcut for AMD and Intel graphics that needs no platform change at all. We cannot test it, because none of our servers has an AMD or Intel GPU (graphics processing unit). If yours does, ten minutes would settle it.
The idea: The vaapi manifest capability passes the host's whole /dev/dri into the app container. On AMD and Intel, Vulkan compute goes through the same render node (/dev/dri/renderD128), via Mesa's RADV and ANV drivers. If the app can open that node, then llama.cpp and whisper.cpp, which both have Vulkan backends, could run GPU-accelerated on Cloudron today. That would mean local language models and transcription with no CUDA and no new platform feature.
No installation needed. If you already run an app that declares vaapi (Jellyfin does), open its Web Terminal and paste:
ls -l /dev/dri
stat -c '%n %U:%G gid=%g mode=%a' /dev/dri/renderD*
id
id cloudron 2>/dev/nullPlease reply with the output, plus your GPU model (for example from lspci | grep -i vga on the host) and your Cloudron version. What we are looking for: the render node is present, and the user the app runs as can read and write it, either through the group or the mode.
Stage 2, if stage 1 looks good. We built a small diagnostic app for this. It is on our Forgejo, short enough to read before you run it: https://forgejo.wanderingmonster.dev/WanderingMonster/cloudron-gpu-testing/src/branch/main/vulkan-probe
- Install the Cloudron command-line tool if you do not have it: npm install -g cloudron, then cloudron login.
- Make an empty folder and fetch the manifest into it: mkdir vulkan-probe && cd vulkan-probe && curl -fsSLO https://forgejo.wanderingmonster.dev/WanderingMonster/cloudron-gpu-testing/raw/branch/main/vulkan-probe/CloudronManifest.json
- In that folder, run: cloudron install --image forgejo.wanderingmonster.dev/wanderingmonster/vulkan-probe:0.1.0 --location vulkan-probe. The image pulls without an account.
- Wait about a minute, open the app, and reload until the page ends with a VERDICT: line.
- Paste the whole page here, with your Cloudron version. It contains no keys, domain or IP address; it does name your CPU, GPU and kernel.
- Uninstall it: cloudron uninstall --app vulkan-probe. It stores nothing.
The README at that link explains each verdict. On our own AMD integrated GPU, outside Cloudron, the app user reached the GPU and llama.cpp ran on Vulkan. What we cannot test is a real Cloudron server with Docker, AppArmor and a 0660 render node, which is where you come in.
If this works, we will write it up for everyone and suggest the docs describe vaapi as "GPU render node access", not only video decoding. Thank you!
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login