GPU Passthrough Custom OS Template
To get your custom template ready for GPU support, follow the steps laid out below.
Keep in mind there are two main scenarios for GPU passthrough:
- Machine Learning (no display needed, such as OpenCL, and so on)
- Image processing (for example, OBS Studio, Blender, Video Editing, Multiverse presentations, and the like)
While the Machine Learning path demands less effort—since rendering doesn’t need the GPU—we’ll walk through the complete procedure to cover both scenarios.
Supported GPU
If you operate DaDesktop on your own hardware, or you’ve asked for the purchase of specific cards for your private server, here are a few things to bear in mind.
Our testing largely focuses on DaDesktop with AMD Radeon RX 6000 series cards (most notably the RX 6400) and Nvidia RTX cards. Generally, models from before 2018 are not supported.
Also, integrated GPUs on Ryzen 7/9 chips and Intel iGPUs ought to work without trouble, though we don’t run automated tests for those.
DD Node side
Inside dadesktop_npnode_deploy/modules/build-os-template you’ll find scripts that adapt a Linux guest to use the GPU as the main display and toggle between GPU-driven machines and CPU-rendered screens.
Guest Settings
Make sure that the “support_qemu” entry in /var/lib/kvm/templatename/sysinfo.json is switched to false. That way, you can link up to the VNC inside the guest—qemu vnc can’t show the passthrough GPU screen.
Testing
Way 1: vblank_mode=0 glxgears
Way 2:
/apps/dd-guest/check-gpu
Windows guest settings with no physical screen hooked up (most cases)
We rely on IddSampleDriver to set up a display adapter and virtual screen inside the Windows 10 template. Just install it if your GPU has no physical display plugged in.
-
Extra IddSampleDriver to c:\IddSampleDriver folder
-
Install certificate
-
Install the driver
-
Navigate to “Display Setting”, where you’ll spot several displays. Look under “Advanced display settings”. Often Display 2 or 3, labelled “Linux FHD", is the virtual display we’ve created. Take note of that display number as N, then head back to the “Select and rearrange displays” area, pick display N, and under the “Multiple displays” section, choose “Show only on N” if it’s available, and set it as the main display. Adjust its resolution.
-
If no display with the name “Linux FHD" shows up:
Open “Device Manager” → “Display Adapters” → “IddSampleDriver Device”: right-click and choose enable device. (You can disable it later if you no longer need the virtual display.)
-
If a display appears named “AMD vDisplay”, typically Display 2:
it will be sluggish, and you can “Disconnect this display” if that choice is present.
(Pick Display x, then under the “Multiple displays” area, use the dropdown menu and select the Disconnect this display option.)
-
A display called “Qemu Monitor”, generally Display 1:
You can also “Disconnect this display” if the option is there.