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:

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.

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.)

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.)

You can also "Disconnect this display" if that choice shows up.