Custom OS Template for GPU Passthrough
To prepare your custom OS template for GPU passthrough, follow the steps outlined below.
Please note that there are two main scenarios for GPU passthrough:
- Machine learning workloads (no display required, e.g., OpenCL)
- Image processing tasks (such as OBS Studio, Blender, video editing, Multiverse presentations, etc.)
Although the machine learning scenario is less demanding (since the display doesn't need to use the GPU), we will cover the entire workflow to support both use cases.
Supported GPU
If you run DaDesktop on-premises in Germany, or request the purchase of specific cards for your private server, there are several points to consider.
Our testing is primarily focused on DaDesktop with AMD Radeon RX 6000 series cards (especially the RX 6400) and Nvidia RTX cards. Generally, models released before 2018 are not supported.
Additionally, integrated GPUs found on Ryzen 7/9 processors and Intel iGPUs are expected to work, but we do not perform automated tests on them.
DD Node side
The dadesktop_npnode_deploy/modules/build-os-template directory provides scripts to modify a Linux guest to use a GPU as the primary display and to switch between GPU-enabled and CPU-rendered screens.
Guest Settings
Make sure the "support_qemu" setting in /var/lib/kvm/templatename/sysinfo.json is set to false, so you can connect to the guest's VNC; qemu VNC is unable to show the passthrough GPU screen.
Testing
Method 1: vblank_mode=0 glxgears
Alternatively:
/apps/dd-guest/check-gpu
Windows guest settings when no physical monitor is attached (most cases)
We use IddSampleDriver to add a display adapter and visual monitor to the Windows 10 template. Just install it if your GPU isn't connected to a physical monitor.
-
Copy the IddSampleDriver files to the C:\IddSampleDriver folder
-
Install the certificate
-
Install the driver
-
Open "Display Settings" and you will see multiple displays. Go to "Advanced display settings". Usually Display 2 or 3, labeled as "Linux FHD", is the virtual display we create. Note the display number (call it N), then return to the "Select and rearrange displays" section, choose display N, and under the “Multiple displays” section, select "Show only on N" if available, and set it as the main display. Change its resolution.
-
If you cannot find a display named "Linux FHD":
Navigate to "Device Manager" > "Display Adapters" > "IddSampleDriver Device", right-click on it, and select "Enable device". (You can disable the device later if you don't need the virtual display.)
-
If a display called "AMD vDisplay" appears, typically Display 2:
it might run slowly, and you can "Disconnect this display" if that option is present.
(Choose Display x, and under the “Multiple displays” section, use the drop-down menu to select the Disconnect this display option.)
-
If a display named "Qemu Monitor" shows up, usually Display 1:
You can also "Disconnect this display" if that option is available.
