Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- [cd /etc/libvirt/hooks
- tree]
- .
- ├── kvm.conf
- ├── qemu
- └── qemu.d
- └── win10
- ├── prepare
- │ └── begin
- │ └── start.sh
- └── release
- └── end
- └── revert.sh
- [nano /etc/libvirt/hooks/qemu.d/win10/prepare/begin/start.sh]
- # debugging
- set -x
- # load variables we defined
- source "/etc/libvirt/hooks/kvm.conf"
- # stop display manager
- systemctl stop sddm.service
- # 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 race condition
- sleep 10
- # Unload Nvidia
- modprobe -r nvidia_drm
- modprobe -r nvidia_modeset
- modprobe -r drm_kms_helper
- modprobe -r nvidia
- modprobe -r i2c_nvidia_gpu
- modprobe -r drm
- modprobe -r nvidia_uvm
- # unbind gpu
- virsh nodedev-detach $VIRSH_GPU_VIDEO
- # load vfio
- modprobe vfio
- modprobe vfio_pci
- modprobe vfio_iommu_type1
- [nano /etc/libvirt/hooks/qemu.d/win10/release/end/revert.sh]
- # Debug
- set -x
- # Load variables
- source "/etc/libvirt/hooks/kvm.conf"
- # unload vfio-pci
- modprobe -r vfio_pci
- modprobe -r vfio_iommu_type1
- modprobe -r vfio
- # Rebind GPU
- virsh nodedev-reattach $VIRSH_GPU_VIDEO
- # rebind VTconsoles
- echo 1 > /sys/class/vtconsole/vtcon0/bind
- echo 0 > /sys/class/vtconsole/vtcon1/bind
- # Read nvidia x config
- nvidia-xconfig --query-gpu-info > /dev/null 2>&1
- # Bind EFI-framebuffer
- echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
- # load nvidia
- modprobe nvidia_drm
- modprobe nvidia_modeset
- modprobe drm_kms_helper
- modprobe nvidia
- modprobe drm
- modprobe nvidia_uvm
- # Restart Display service
- systemctl start sddm.service
- [nano /etc/libvirt/hooks/kvm.conf]
- VIRSH_GPU_VIDEO=pci_0000_01_00_0
- [sudo dmesg | grep -i -e DMAR -e IOMMU]
- [ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-6.14-x86_64 root=UUID=1d8ab096-a02e-44ba-8b24-ab5827c0c53c rw quiet splash resume=UUID=ca483a09-0317-4cf7-a875-cafb5e3446ed udev.log_priority=3 iommu=pt intel_iommu=on
- [ 0.010245] ACPI: DMAR 0x0000000067A55000 000088 (v02 GBT GBTUACPI 00000002 ACPI 00040000)
- [ 0.010299] ACPI: Reserving DMAR table memory at [mem 0x67a55000-0x67a55087]
- [ 0.065127] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-6.14-x86_64 root=UUID=1d8ab096-a02e-44ba-8b24-ab5827c0c53c rw quiet splash resume=UUID=ca483a09-0317-4cf7-a875-cafb5e3446ed udev.log_priority=3 iommu=pt intel_iommu=on
- [ 0.065230] DMAR: IOMMU enabled
- [ 0.168499] DMAR: Host address width 39
- [ 0.168500] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
- [ 0.168506] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
- [ 0.168508] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
- [ 0.168513] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
- [ 0.168515] DMAR: RMRR base: 0x00000070000000 end: 0x000000747fffff
- [ 0.168518] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
- [ 0.168520] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
- [ 0.168521] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
- [ 0.170441] DMAR-IR: Enabled IRQ remapping in x2apic mode
- [ 0.446821] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics
- [ 0.463852] iommu: Default domain type: Passthrough (set via kernel command line)
- [ 0.521216] DMAR: No ATSR found
- [ 0.521217] DMAR: No SATC found
- [ 0.521218] DMAR: dmar0: Using Queued invalidation
- [ 0.521222] DMAR: dmar1: Using Queued invalidation
- [ 0.521505] pci 0000:00:02.0: Adding to iommu group 0
- [ 0.521538] pci 0000:00:00.0: Adding to iommu group 1
- [ 0.521549] pci 0000:00:01.0: Adding to iommu group 2
- [ 0.521558] pci 0000:00:04.0: Adding to iommu group 3
- [ 0.521571] pci 0000:00:06.0: Adding to iommu group 4
- [ 0.521580] pci 0000:00:08.0: Adding to iommu group 5
- [ 0.521588] pci 0000:00:0a.0: Adding to iommu group 6
- [ 0.521602] pci 0000:00:0d.0: Adding to iommu group 7
- [ 0.521612] pci 0000:00:0e.0: Adding to iommu group 8
- [ 0.521627] pci 0000:00:14.0: Adding to iommu group 9
- [ 0.521635] pci 0000:00:14.2: Adding to iommu group 9
- [ 0.521645] pci 0000:00:14.3: Adding to iommu group 10
- [ 0.521658] pci 0000:00:15.0: Adding to iommu group 11
- [ 0.521670] pci 0000:00:16.0: Adding to iommu group 12
- [ 0.521681] pci 0000:00:17.0: Adding to iommu group 13
- [ 0.521694] pci 0000:00:1d.0: Adding to iommu group 14
- [ 0.521705] pci 0000:00:1d.2: Adding to iommu group 15
- [ 0.521727] pci 0000:00:1f.0: Adding to iommu group 16
- [ 0.521737] pci 0000:00:1f.3: Adding to iommu group 16
- [ 0.521746] pci 0000:00:1f.4: Adding to iommu group 16
- [ 0.521755] pci 0000:00:1f.5: Adding to iommu group 16
- [ 0.521771] pci 0000:01:00.0: Adding to iommu group 17
- [ 0.521784] pci 0000:02:00.0: Adding to iommu group 18
- [ 0.521799] pci 0000:03:00.0: Adding to iommu group 19
- [ 0.521959] DMAR: Intel(R) Virtualization Technology for Directed I/O
- [ 0.879971] pci 10000:e0:06.0: Adding to iommu group 8
- [ 0.880150] pci 10000:e0:17.0: Adding to iommu group 8
- [ 0.880370] pci 10000:e1:00.0: Adding to iommu group 8
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement