Intel GVT_g on Qubes - tabit-pro/Qway-qubes-repo GitHub Wiki
Intel GPU mediated pass-through technology allows to share GPU hardware between host and virtual machines. This experimental feature depends on modified Qubes OS core packages. The modification may increase vulnerability of the system, so use it with caution. Here is a short description how to setup the feature on Qubes OS with sources from repository.
Requirements
Our 'proven to work' configuration is limited to Intel Kaby/Whiskey Lake and experimental Qubes r4.1, but supported xengt platforms also work fine.
Configure dom0
Build following packages and replace installed in Dom0:
- xen
- kernel
- libvirt
- xen-hvm-stubdom-linux
Add the following option to GRUB_CMDLINE_LINUX in /etc/default/grub:
- i915.enable_gvt=1 - to enable GVT-g;
Sometimes could be helpful to disable IOMMU to Intel Graphic Device (was default with Qubes 4.0):
- iommu=no-igfx parameter to GRUB_CMDLINE_XEN_DEFAULT;
Add force_drivers+=" xengt " to /etc/dracut.conf if xengt module wasn't loaded while booting gvt-enabled domU.
Don't forget to regenerate initrd image (dracut -f) and recreate grub menu (grub2-mkconfig -o /boot/grub2/grub.cfg).
Modify domU template
Clone an existing fedora template and customize its configuration:
- build and install xorg-dummy-egl or xorg-modesetting-qbs package;
- replace /etc/X11/xorg-qubes.conf.template with xorg-qubes-egl.conf.template or xorg-modesetting-qbs.conf.template to enable hardware accelerated driver;
Create GPU VM
Create AppVM based on new template and make settings:
- switch VM mode to HVM;
- setup at least 1.5G memory;
- disable "Include in memory balancing" option;
- qvm-prefs VMNAME kernelopts i915.modeset=1;
- qvm-features VMNAME video-model xengt
Known issues
Set maximum value at Total Graphic Memory in UEFI settings.
Screenshots