GPU Passthrough Custom OS Template
To build a custom template that works with GPU, use the steps below.
Keep in mind that GPU passthrough generally splits into two big use cases:
- Machine Learning (no display output required, for example OpenCL)
- Image processing (such as OBS Studio, Blender, video editing, Multiverse presentations, etc.)
The Machine Learning scenario is simpler because the screen doesn't need to render through the GPU, but we will cover the full process so both scenarios work smoothly.
Supported GPU
If you run DaDesktop on your own hardware or ask us to buy specific cards for a private server, here are a few things to keep in mind.
We mainly test DaDesktop with AMD Radeon RX 6000 series cards (the RX 6400 is a common example) and Nvidia RTX cards. Cards manufactured before 2018 are generally not supported.
Integrated GPUs on Ryzen 7/9 CPUs and Intel iGPUs should also run without issues, although we don't run automated tests for those.
DD Node side
The scripts inside dadesktop_npnode_deploy/modules/build-os-template adjust a Linux guest so it can use a GPU as the primary display, and also let you switch between GPU-powered machines and CPU-rendered screens.
Guest Settings
Make sure that the "support_qemu" option in /var/lib/kvm/templatename/sysinfo.json is set to false, so you can open a VNC connection inside the guest. This is needed because the qemu VNC session cannot show the passthrough GPU screen.
Testing
Method 1: vblank_mode=0 glxgears
Method 2:
/apps/dd-guest/check-gpu
Windows guest settings when no physical monitor is attached (most cases)
We use IddSampleDriver to set up a virtual display adapter and screen in the Windows 10 template. Install it when your GPU has no physical monitor connected.
-
Copy IddSampleDriver into the c:\IddSampleDriver folder
-
Install the certificate
-
Install the driver
-
Open "Display Settings" and you'll see several displays listed. Look under "Advanced display settings". Normally Display 2 or 3, with the name "Linux FHD", is the virtual display we created. Note that display number as N, then return to the "Select and rearrange displays" area, pick display N, go to the "Multiple displays" section, and choose "Show only on N" if the option appears. Also mark it as the main display and adjust its resolution.
-
If you don't see a display called "Linux FHD":
Head to "Device Manager" → "Display Adapters" → "IddSampleDriver Device", right‑click it, and enable the device. (You can turn it off later if the virtual display isn't needed.)
-
If a display named "AMD vDisplay" appears, often Display 2:
it will run slowly. You can "Disconnect this display" if that option is available.
(Pick Display x, go to the "Multiple displays" section, open the drop‑down, and select Disconnect this display)
-
If a display named "Qemu Monitor" appears, often Display 1:
You can also "Disconnect this display" if the option is present.