When preparing your custom template to support GPU you shall follow instruction below.

Please note there are two major use-cases for GPU passthrough:

  • Machine Learning (no screen needed, e.g. OpenCL,etc...)
  • Image processing (e.g. OBS Studio, Blender, Video Editing, Multiverse presentations, etc...)

Though Machine Learning use case requires less work (i.e. display doesn't have to use GPU), we will cover end to end process to support both of those use cases.

Supported GPU

If you run DaDesktop on premise, or request purchuse of specific cards for your private server, here are some considerations

We are mostly testing DaDesktop system against AMD Radeon RX 6000 series (notably RX 6400) and Nvidia RTX cards. Usually models before 2018 wouldn't be supported.

Also, integrated GPUs for Ryzen 7/9 and iGPU from Intel should work fine, but we do not run automated test against them.

DD Node side

dadesktop_npnode_deploy/modules/build-os-template contains scripts to modify Linux guest to support GPU as primary display and switch between GPU supported machines and CPU rendered screen.

Guest Settings

Please confirm that the "support_qemu" in /var/lib/kvm/templatename/sysinfo.json has been set to false, so that you can connect to the VNC inside the guest,because qemu vnc cannot display 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 uses IddSampleDriver to create a display adapter and visual monitor in the windows 10 template. Just install  it If your GPU does not have a monitor plugged in.

  • Extra IddSampleDriver to c:\IddSampleDriver folder

  • Install certificate

  • Install the driver

  • Go to "Display Setting" , you can find multiple displays. Check "Advanced display settings", Usually Display 2 or 3 which named "Linux FHD" is the virtual display we create. Remember the display number as N , then go back to "Select and rearrange displays” section, select display N, Under the “Multiple displays” section, set "Show only on N" if has this option, and make it to be main display. Change its resolution .

  • If you can't find a Display which name is "Linux FHD":

Go to "Device Manager" -> "Display Adapters" -> "IddSampleDriver Device": right click, enable device. ( You can disable the device if you don't use the virtual display.)

  • If there is a Display name is "AMD vDisplay", Usually Display 2:

   it will be slow and you can "Disconnect this display" if has this option.

   (Choose Display x, Under the “Multiple displays” section, use the drop-down menu and select the Disconnect this display option.)

  • There is a Display name is "Qemu Monitor", Usually Display 1:

   You can also "Disconnect this display" if has this option.