GPU Passthrough Custom OS Template
To set up your custom template to work with GPU, just follow the steps below.
Keep in mind, GPU passthrough is generally used in two main scenarios:
- Machine Learning (no display required, e.g., OpenCL, etc.)
- Image processing (e.g., OBS Studio, Blender, Video Editing, Multiverse presentations, etc.)
The Machine Learning scenario is simpler since the display doesn't rely on the GPU, but we'll cover the full process to handle both situations.
Supported GPUs
If you're running DaDesktop on your own hardware or buying specific cards for a private server, here's what to keep in mind.
Our testing mostly focuses on AMD Radeon RX 6000 series cards (especially the RX 6400) and Nvidia RTX cards. GPUs from before 2018 usually won't be compatible.
Integrated GPUs on Ryzen 7/9 and Intel iGPUs should also work fine, but we don't run automated tests on those.
DD Node Side
Inside the dadesktop_npnode_deploy/modules/build-os-template folder, you'll find scripts to tweak a Linux guest so the GPU can act as the main display and to switch between GPU-enabled machines and CPU-rendered screens.
Guest Settings
Make sure that "support_qemu" inside /var/lib/kvm/templatename/sysinfo.json is set to false, so you can reach the VNC within the guest—the QEMU VNC can't show the passthrough GPU screen.
Testing
Method 1: vblank_mode=0 glxgears
Method 2:
/apps/dd-guest/check-gpu
Windows Guest Settings Without a Physical Monitor (Most Common)
We rely on IddSampleDriver to add a display adapter and virtual monitor in the Windows 10 template. If your GPU doesn't have a monitor attached, just install it.
-
Extract IddSampleDriver to the c:\IddSampleDriver folder
-
Install the certificate
-
Install the driver itself
-
Head to "Display Settings" — you should see a few screens listed. Check the "Advanced display settings"; normally Display 2 or 3 labelled "Linux FHD" is the virtual display we've set up. Jot down that display number as N, then go back to "Select and rearrange displays", choose display N, look under "Multiple displays", pick "Show only on N" if it's there, and make it the main display. Then tweak its resolution.
-
If you spot no display with the name "Linux FHD":
Open "Device Manager" -> "Display Adapters" -> "IddSampleDriver Device": right-click it, then enable the device. (You can disable it later if you're not using the virtual display.)
-
If there's a display showing up as "AMD vDisplay", it's usually Display 2:
that one will be sluggish, and you can "Disconnect this display" if the option is available.
(Choose Display x, under the "Multiple displays" area, use the dropdown to select the Disconnect this display option.)
-
There might be a display called "Qemu Monitor", commonly Display 1:
You can also "Disconnect this display" if that choice shows up.