Update .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_12-update-dom0, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_11-update-timezone, .local/share/chezmoi/system/etc/yum.repos.d/qubes-dom0.repo, .local/share/chezmoi/system/etc/qubes/repo-templates/qubes-templates.repo, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_13-install-official-templates, .local/share/chezmoi/home/.chezmoidata.yaml, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_14-ensure-minimal-vms-passwordless, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_15-install-unofficial-templates, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_16-update-template-vms, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_17-install-mirage-firewall, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_18-configure-sys-usb, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_19-setup-sys-gui, .local/share/chezmoi/system/etc/grub.d/31-hold-shift, .local/share/chezmoi/system/etc/default/modify_grub, .local/share/chezmoi/system/.chezmoidata.yaml, .local/share/chezmoi/system/.chezmoiexternal.toml, .local/share/chezmoi/system/usr/share/run_onchange_after_setup-share-folder, .local/share/chezmoi/system/boot/efi/EFI/qubes/modify_grubenv, .local/share/chezmoi/system/etc/sddm.conf, .local/share/chezmoi/system/etc/modify_environment
2022-12-06 00:59:10 -08:00
|
|
|
#!/usr/bin/env bash
|
2023-04-12 18:44:59 -07:00
|
|
|
# @file Qubes `sys-gui-gpu`
|
|
|
|
# @brief Enables `sys-gui-gpu` if a compatible GPU controller is found on Qubes dom0
|
|
|
|
# @description
|
|
|
|
# This script enables `sys-gui-gpu` which allows you to secure dom0 even more by seperating the GUI
|
|
|
|
# management from dom0 and into a seperate Qube.
|
Update .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_12-update-dom0, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_11-update-timezone, .local/share/chezmoi/system/etc/yum.repos.d/qubes-dom0.repo, .local/share/chezmoi/system/etc/qubes/repo-templates/qubes-templates.repo, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_13-install-official-templates, .local/share/chezmoi/home/.chezmoidata.yaml, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_14-ensure-minimal-vms-passwordless, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_15-install-unofficial-templates, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_16-update-template-vms, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_17-install-mirage-firewall, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_18-configure-sys-usb, .local/share/chezmoi/home/.chezmoiscripts/qubes/run_onchange_before_19-setup-sys-gui, .local/share/chezmoi/system/etc/grub.d/31-hold-shift, .local/share/chezmoi/system/etc/default/modify_grub, .local/share/chezmoi/system/.chezmoidata.yaml, .local/share/chezmoi/system/.chezmoiexternal.toml, .local/share/chezmoi/system/usr/share/run_onchange_after_setup-share-folder, .local/share/chezmoi/system/boot/efi/EFI/qubes/modify_grubenv, .local/share/chezmoi/system/etc/sddm.conf, .local/share/chezmoi/system/etc/modify_environment
2022-12-06 00:59:10 -08:00
|
|
|
|
|
|
|
### Enables sys-gui-gpu
|
|
|
|
enableSysGUIGPU() {
|
|
|
|
logg info 'Enabling `sys-gui-gpu`'
|
|
|
|
qubesctl top.enable qvm.sys-gui-gpu
|
|
|
|
qubesctl top.enable qvm.sys-gui-gpu pillar=True
|
|
|
|
qubesctl --all state.highstate
|
|
|
|
qubesctl top.disable qvm.sys-gui-gpu
|
|
|
|
}
|
|
|
|
|
|
|
|
### Enable appropriate sys-gui
|
|
|
|
if qvm-pci list | grep 'VGA compatible controller' | grep 'Intel'; else
|
|
|
|
logg info 'An Intel GPU was detected'
|
|
|
|
enableSysGUIGPU
|
|
|
|
logg info 'Attaching Intel GPU PCI devices to sys-gui-gpu'
|
|
|
|
qubesctl state.sls qvm.sys-gui-gpu-attach-gpu
|
|
|
|
elif qvm-pci list | grep 'VGA compatible controller' | grep 'NVIDIA'; then
|
|
|
|
logg info 'An NVIDIA GPU was detected'
|
|
|
|
enableSysGUIGPU
|
|
|
|
logg info 'Attaching NVIDIA GPU PCI devices to sys-gui-gpu'
|
|
|
|
for ID of "$(qvm-pci list | grep 'NVIDIA' | sed 's/^\([^ ]*\).*/\1/')"; do
|
|
|
|
logg info "Attaching PCI device with ID of $ID"
|
|
|
|
qvm-pci attach sys-gui-gpu "$ID" --persistent -o permissive=true
|
|
|
|
done
|
|
|
|
fi
|