diff --git a/kvm.conf b/hooks/kvm.conf similarity index 100% rename from kvm.conf rename to hooks/kvm.conf diff --git a/qemu b/hooks/qemu similarity index 100% rename from qemu rename to hooks/qemu diff --git a/hooks/qemu.d/win11/prepare/begin/start.sh b/hooks/qemu.d/win11/prepare/begin/start.sh new file mode 100644 index 0000000..03bc62b --- /dev/null +++ b/hooks/qemu.d/win11/prepare/begin/start.sh @@ -0,0 +1,41 @@ +#!/bin/bash +# Helpful to read output when debugging +set -x + +## Load the config file with our environmental variables +#source "/etc/libvirt/hooks/kvm.conf" + +# Stop display manager +systemctl stop gdm3 +# Stop ollama +# systemctl stop ollama + +# Unbind VTconsoles +echo 0 > /sys/class/vtconsole/vtcon0/bind +echo 0 > /sys/class/vtconsole/vtcon1/bind + +# Unbind EFI-Framebuffer +echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind + +# Avoid a race condition +sleep 2 + +# Unload all Nvidia drivers +modprobe -r nvidia_drm +modprobe -r nvidia_uvm +modprobe -r nvidia_modeset +modprobe -r drm_kms_helper +modprobe -r nvidia +modprobe -r i2c_nvidia_gpu +modprobe -r drm + +# Unbind the GPU from display driver +#virsh nodedev-detach $VIRSH_GPU_VIDEO +#virsh nodedev-detach $VIRSH_GPU_AUDIO +virsh nodedev-detach pci_0000_08_00_0 +virsh nodedev-detach pci_0000_08_00_1 + +# Load VFIO kernel module +modprobe vfio +modprobe vfio_pci +modprobe vfio_iommu_type1 diff --git a/hooks/qemu.d/win11/release/end/stop.sh b/hooks/qemu.d/win11/release/end/stop.sh new file mode 100644 index 0000000..282cfd2 --- /dev/null +++ b/hooks/qemu.d/win11/release/end/stop.sh @@ -0,0 +1,37 @@ +#!/bin/bash +set -x + +## Load the config file +#source "/etc/libvirt/hooks/kvm.conf" + +# Unload VFIO-PCI Kernel Driver +modprobe -r vfio_pci +modprobe -r vfio_iommu_type1 +modprobe -r vfio + +# Re-Bind GPU to AMD Driver +#virsh nodedev-reattach $VIRSH_GPU_VIDEO +#virsh nodedev-reattach $VIRSH_GPU_AUDIO +virsh nodedev-reattach pci_0000_08_00_0 +virsh nodedev-reattach pci_0000_08_00_1 + + +# Rebind VT consoles +echo 1 > /sys/class/vtconsole/vtcon0/bind +echo 0 > /sys/class/vtconsole/vtcon1/bind + +#nvidia-xconfig --query-gpu-info > /dev/null 2>&1 +# Re-Bind EFI-Framebuffer +echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind + +#Load nvidia driver +modprobe nvidia_drm +modprobe nvidia_uvm +modprobe nvidia_modeset +modprobe drm_kms_helper +modprobe nvidia +modprobe i2c_nvidia_gpu +modprobe drm + +# Restart Display Manager +systemctl start gdm3