Advertisement
ZaxxaZ

AAAAA

May 2nd, 2025
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.25 KB | None | 0 0
  1. [cd /etc/libvirt/hooks
  2. tree]
  3. .
  4. ├── kvm.conf
  5. ├── qemu
  6. └── qemu.d
  7. └── win10
  8. ├── prepare
  9. │   └── begin
  10. │   └── start.sh
  11. └── release
  12. └── end
  13. └── revert.sh
  14.  
  15.  
  16.  
  17.  
  18. [nano /etc/libvirt/hooks/qemu.d/win10/prepare/begin/start.sh]
  19. # debugging
  20. set -x
  21.  
  22. # load variables we defined
  23. source "/etc/libvirt/hooks/kvm.conf"
  24.  
  25. # stop display manager
  26. systemctl stop sddm.service
  27.  
  28. # Unbind VTconsoles
  29. echo 0 > /sys/class/vtconsole/vtcon0/bind
  30. echo 0 > /sys/class/vtconsole/vtcon1/bind
  31.  
  32. # Unbind EFI-framebuffer
  33. echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind
  34.  
  35. # Avoid race condition
  36. sleep 10
  37.  
  38. # Unload Nvidia
  39. modprobe -r nvidia_drm
  40. modprobe -r nvidia_modeset
  41. modprobe -r drm_kms_helper
  42. modprobe -r nvidia
  43. modprobe -r i2c_nvidia_gpu
  44. modprobe -r drm
  45. modprobe -r nvidia_uvm
  46.  
  47. # unbind gpu
  48. virsh nodedev-detach $VIRSH_GPU_VIDEO
  49.  
  50. # load vfio
  51. modprobe vfio
  52. modprobe vfio_pci
  53. modprobe vfio_iommu_type1
  54.  
  55.  
  56.  
  57.  
  58. [nano /etc/libvirt/hooks/qemu.d/win10/release/end/revert.sh]
  59. # Debug
  60. set -x
  61.  
  62. # Load variables
  63. source "/etc/libvirt/hooks/kvm.conf"
  64.  
  65. # unload vfio-pci
  66. modprobe -r vfio_pci
  67. modprobe -r vfio_iommu_type1
  68. modprobe -r vfio
  69.  
  70. # Rebind GPU
  71. virsh nodedev-reattach $VIRSH_GPU_VIDEO
  72.  
  73. # rebind VTconsoles
  74. echo 1 > /sys/class/vtconsole/vtcon0/bind
  75. echo 0 > /sys/class/vtconsole/vtcon1/bind
  76.  
  77. # Read nvidia x config
  78. nvidia-xconfig --query-gpu-info > /dev/null 2>&1
  79.  
  80. # Bind EFI-framebuffer
  81. echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind
  82.  
  83. # load nvidia
  84. modprobe nvidia_drm
  85. modprobe nvidia_modeset
  86. modprobe drm_kms_helper
  87. modprobe nvidia
  88. modprobe drm
  89. modprobe nvidia_uvm
  90.  
  91. # Restart Display service
  92. systemctl start sddm.service
  93.  
  94.  
  95.  
  96. [nano /etc/libvirt/hooks/kvm.conf]
  97. VIRSH_GPU_VIDEO=pci_0000_01_00_0
  98.  
  99.  
  100.  
  101. [sudo dmesg | grep -i -e DMAR -e IOMMU]
  102. [ 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
  103. [ 0.010245] ACPI: DMAR 0x0000000067A55000 000088 (v02 GBT GBTUACPI 00000002 ACPI 00040000)
  104. [ 0.010299] ACPI: Reserving DMAR table memory at [mem 0x67a55000-0x67a55087]
  105. [ 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
  106. [ 0.065230] DMAR: IOMMU enabled
  107. [ 0.168499] DMAR: Host address width 39
  108. [ 0.168500] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
  109. [ 0.168506] DMAR: dmar0: reg_base_addr fed90000 ver 4:0 cap 1c0000c40660462 ecap 29a00f0505e
  110. [ 0.168508] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
  111. [ 0.168513] DMAR: dmar1: reg_base_addr fed91000 ver 5:0 cap d2008c40660462 ecap f050da
  112. [ 0.168515] DMAR: RMRR base: 0x00000070000000 end: 0x000000747fffff
  113. [ 0.168518] DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1
  114. [ 0.168520] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
  115. [ 0.168521] DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
  116. [ 0.170441] DMAR-IR: Enabled IRQ remapping in x2apic mode
  117. [ 0.446821] pci 0000:00:02.0: DMAR: Skip IOMMU disabling for graphics
  118. [ 0.463852] iommu: Default domain type: Passthrough (set via kernel command line)
  119. [ 0.521216] DMAR: No ATSR found
  120. [ 0.521217] DMAR: No SATC found
  121. [ 0.521218] DMAR: dmar0: Using Queued invalidation
  122. [ 0.521222] DMAR: dmar1: Using Queued invalidation
  123. [ 0.521505] pci 0000:00:02.0: Adding to iommu group 0
  124. [ 0.521538] pci 0000:00:00.0: Adding to iommu group 1
  125. [ 0.521549] pci 0000:00:01.0: Adding to iommu group 2
  126. [ 0.521558] pci 0000:00:04.0: Adding to iommu group 3
  127. [ 0.521571] pci 0000:00:06.0: Adding to iommu group 4
  128. [ 0.521580] pci 0000:00:08.0: Adding to iommu group 5
  129. [ 0.521588] pci 0000:00:0a.0: Adding to iommu group 6
  130. [ 0.521602] pci 0000:00:0d.0: Adding to iommu group 7
  131. [ 0.521612] pci 0000:00:0e.0: Adding to iommu group 8
  132. [ 0.521627] pci 0000:00:14.0: Adding to iommu group 9
  133. [ 0.521635] pci 0000:00:14.2: Adding to iommu group 9
  134. [ 0.521645] pci 0000:00:14.3: Adding to iommu group 10
  135. [ 0.521658] pci 0000:00:15.0: Adding to iommu group 11
  136. [ 0.521670] pci 0000:00:16.0: Adding to iommu group 12
  137. [ 0.521681] pci 0000:00:17.0: Adding to iommu group 13
  138. [ 0.521694] pci 0000:00:1d.0: Adding to iommu group 14
  139. [ 0.521705] pci 0000:00:1d.2: Adding to iommu group 15
  140. [ 0.521727] pci 0000:00:1f.0: Adding to iommu group 16
  141. [ 0.521737] pci 0000:00:1f.3: Adding to iommu group 16
  142. [ 0.521746] pci 0000:00:1f.4: Adding to iommu group 16
  143. [ 0.521755] pci 0000:00:1f.5: Adding to iommu group 16
  144. [ 0.521771] pci 0000:01:00.0: Adding to iommu group 17
  145. [ 0.521784] pci 0000:02:00.0: Adding to iommu group 18
  146. [ 0.521799] pci 0000:03:00.0: Adding to iommu group 19
  147. [ 0.521959] DMAR: Intel(R) Virtualization Technology for Directed I/O
  148. [ 0.879971] pci 10000:e0:06.0: Adding to iommu group 8
  149. [ 0.880150] pci 10000:e0:17.0: Adding to iommu group 8
  150. [ 0.880370] pci 10000:e1:00.0: Adding to iommu group 8
  151.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement