====== 🛡️ SRIOV & Windows 11 VM Project ====== [[projects:start|📂 Projects]] > **🛡️ SRIOV VM** ===== 🌟 Project Overview ===== This project achieves high-performance Windows 11 gaming/productivity within a KVM/QEMU environment by utilizing **Intel SR-IOV (Single Root I/O Virtualization)**. Unlike traditional GVT-g or full PCI passthrough, SR-IOV allows the physical iGPU to be split into multiple **Virtual Functions (VFs)**, enabling the Host (Kubuntu) and Guest (Windows) to share the hardware simultaneously with near-native performance. ===== 💻 Technical Specifications ===== ==== Host Environment ==== * **CPU:** Intel Ultra 7 265k (Arrow Lake-S) * **Kernel:** `6.19.6-x64v3-xanmod1` (Pinned/Held to match DKMS version) * **Primary Driver:** `i915-sriov-dkms` * **iGPU PF:** `0000:00:02.0` (Physical Function) * **iGPU VF:** `0000:00:02.1` (Virtual Function passed to VM) * **GuC Status:** `enable_guc=3` (Mandatory for SR-IOV) ==== Guest VM (recovered) ==== * **Name:** `rsl-clone1working-igpui-clone-recovered` * **OS:** Windows 11 Pro * **vCPU:** 4 Cores (Host-Passthrough, Pinned 0-3) * **Memory:** 8GB (memfd, shared access) * **Display:** iGPU VF + Custom ROM (`/usr/share/vgabios/arrow_lake_igpu.rom`) * **Storage:** VirtIO SCSI (`recovered.qcow2`) * **Network:** VirtIO ===== ⚙️ Stability & Performance Tuning ===== ==== 1. The "Display Hang" Fix (Critical) ==== While the SRIOV VM is running, the Host's KWin compositor can trigger **iGPU Hangs** during animation events (like notification popups). * **Fix:** Disabled **Blur** and **Background Contrast** effects in KWin. * **Status:** STABLE. ==== 2. Kernel Management ==== To prevent the `i915-sriov-dkms` driver from breaking during routine updates, the Xanmod kernel is locked via `apt-mark hold`. * **Command:** `sudo apt-mark hold linux-image-6.19.6-x64v3-xanmod1` ==== 3. Xanmod Optimizations ==== * **Governor:** `performance` * **Mitigations:** Disabled for lower latency. * **PCIe ASPM:** Disabled to prevent VF disconnects. ===== 📅 Recent Work Log ===== ^ Date ^ Action ^ Outcome ^ | 2026-03-19 | Fixed `check_sriov_health.sh` path | Script now correctly detects `sriov_numvfs` | | 2026-03-19 | Disabled KWin Blur Effects | Resolved host display crashes during notifications | | 2026-03-19 | Applied APT Kernel Hold | Prevented accidental driver breakage from kernel updates | | 2026-03-16 | Aligned Xanmod Kernel | Downgraded to 6.19.6 to match DKMS module support | | 2026-03-15 | Disk/Network Migration | Boot disk moved to VirtIO SCSI; NIC moved to VirtIO | | 2026-03-21 | npm dependency sync & DokuWiki sync | Successfully updated all project dependencies in the app/ directory. | | 2026-03-21 | Btrfs Performance Tuning | Updated /etc/fstab with commit=60 and zstd compression. | | 2026-03-21 | VM IOThreads & Hugepages | Added IOThread (Core 4) and Hugepage support to recovered_vm.xml. | | 2026-03-21 | HUD Security Watcher | Added "Bright Red" VF Hijack alert to Conky HUD via security_audit.sh. | | 2026-03-22 | Performance Verification | iGPU VF verified in guest (Status: OK), Host-Guest stability confirmed (97% Idle, 39W Pkg Power). |