qusal/salt/sys-gui-gpu/README.md
3np 186815c362 sys-gui-gpu: separate template with gpu drivers
- doc(sys-gui-gpu): clarify GPU attachment
2025-06-29 12:08:48 +00:00

2.8 KiB

sys-gui-gpu

GPU GUI domain in Qubes OS.

Table of Contents

Description

Setup a GPU GUI domain named "sys-gui-gpu". The GPU is attached to the qube and all graphics computation are handled by this qube. Requires a dedicated graphics card (external GPU) and PCI passthrough support.

Installation

WARNING: unfinished formula.

  • Top:
sudo qubesctl top.enable qvm.sys-gui-gpu pillar=True
sudo qubesctl top.enable mgmt sys-gui-gpu
sudo qubesctl --targets=tpl-mgmt state.apply
sudo qubesctl state.apply sys-gui.prefs-mgmt
sudo qubesctl --targets=tpl-sys-gui,sys-gui-gpu state.apply
sudo qubesctl top.disable mgmt sys-gui-gpu
sudo qubesctl state.apply sys-gui-gpu.prefs
  • State:
sudo qubesctl top.enable qvm.sys-gui-gpu pillar=True
sudo qubesctl state.apply sys-gui-gpu.create
sudo qubesctl --skip-dom0 --targets=tpl-mgmt state.apply mgmt.install
sudo qubesctl state.apply sys-gui.prefs-mgmt
sudo qubesctl --skip-dom0 --targets=tpl-sys-gui state.apply sys-gui-gpu.install
sudo qubesctl --skip-dom0 --targets=sys-gui-gpu state.apply sys-gui-gpu.configure
sudo qubesctl state.apply sys-gui-gpu.prefs

The formula assumes Intel graphics card, if you have a card from another vendor, please use qvm-pci to persistently attach the GPU with the permissive option to sys-gui-gpu.

For example, after identifying PCI device identifier:

qvm-pci ls -vs --resolve-paths

To assign device for persistent attachment:

qvm-assign -v -o permissive=True -o no-strict-reset=True -r sys-gui-gpu dom0:00_02.1-00_00.0

Shutdown all your running qubes as the global property default_guivm has changed to sys-gui-gpu.

Uninstallation

Reboot you computer and prevent Qubes OS autostart of any qube, be it sys-gui-gpu or the qubes connected to it to reach dom0. For that, you need to boot Qubes OS with qubes.skip_autostart GRUB parameter. Only after you have done these steps manually, you can continue the uninstallation procedure.

Set Global preference default_guivm to dom0 and disable autostart of sys-gui-gpu:

sudo qubesctl state.apply sys-gui-gpu.cancel

Usage

Qubes that have their guivm preference set to sys-gui-gpu, will use it as the GUI domain.

The process to enter sys-gui-gpu can be a simple logout, but on most platforms, a reboot is required and recommended to prevent data loss.

The login credentials are the same used in dom0, the first user in the qubes group and the corresponding password.