Personalised OS Template for GPU Passthrough

When you're building a custom template to enable GPU support, follow the guidance set out below.

Bear in mind there are two principal ways GPU passthrough gets used:

The Machine Learning path is lighter on configuration (the display doesn't need to be driven by the GPU), but we'll walk through the complete process so both scenarios are covered.

Supported GPUs

If you run DaDesktop on your own hardware, or you've asked us to purchase specific cards for a private server, here are some things to keep in mind.

Our testing primarily targets DaDesktop with the AMD Radeon RX 6000 family (particularly the RX 6400) and Nvidia RTX cards. Generally, models released before 2018 aren't supported.

Integrated GPUs found in Ryzen 7/9 chips and Intel iGPUs should work without trouble, though we don't run automated tests against them.

DD Node side

The dadesktop_npnode_deploy/modules/build-os-template path contains scripts that tailor a Linux guest so the GPU can act as the primary display and allow seamless switching between GPU-accelerated machines and CPU-rendered screens.

Guest Settings

Make sure the "support_qemu" flag inside /var/lib/kvm/templatename/sysinfo.json is set to false, so you can connect to the VNC console within the guest – qemu's VNC can't render the passthrough GPU display.

Testing

Method 1: 
vblank_mode=0 glxgears

Method 2:

/apps/dd-guest/check-gpu

Windows guest settings without a physical monitor attached (the typical case)

We lean on IddSampleDriver to spin up a display adapter and a virtual monitor inside the Windows 10 template. Just install it when your GPU has no physical screen connected.

Navigate to "Device Manager" → "Display Adapters" → "IddSampleDriver Device": right-click and enable the device. (You can disable it whenever you're not using the virtual display.)

it'll run slowly and you can "Disconnect this display" if the option's available.

(Select Display x, go to the "Multiple displays" area, open the drop-down menu and pick the Disconnect this display choice.)

You're also free to "Disconnect this display" if the option is present.