dqmhug

Members
  • Posts

    8
  • Joined

  • Last visited

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

dqmhug's Achievements

Noob

Noob (1/14)

0

Reputation

  1. As can be seen on the screenshot, iGPU(which is 00:02:0) does not belong to any IOMMU group. I need it in a group to try VM passthrough. Any idea why or how to fix it?
  2. I have the same problem when I use cpu-passthrough on qemu. Latency and read write seems way better when I use host-cpu on qemu or vmware. I don't see any noticable difference on other benchmarks than AIDA64 though.
  3. i7-10510U (4C/8T) HT pairs doesn't go like 0-4 or 1,5... Rather they seem to be: (using lpsc -e) When I emulatorpin+iothread to the first cpu pair (0,1) I get worse performance than (0,4) or EVEN (0,5). Doesn't make any sense because 0,4 and 0,5 both give me same performance higher than 0,1. How can this happen?
  4. @Picha Do you have any guides that I can follow? The ones I found tells me to disable i915 driver on the host and therefore lose monitor output and then use SSH to connect to the machine to configure gvt-d. But I can't use SSH for various reasons.
  5. I have i7-10510U with 4C/8T with underwhelming performance. Pairs doesn't go like 0-4 or 1,5... Rather it's like: Problem is when I isolate last 3 cpu's giving emulatorpin+iothread to the first cpu (0,1) I get worse performance than doing (0,4) or EVEN (0,5). How can this happen?
  6. My only HDMI monitor is directly connected to the NUC's motherboard. I am not doing this on unraid currently, but on Qemu-Libvirt-Virt-manager. Do you mean I have to do gvt-d (full igpu passthrough) rather than gvt-g (partial igpu passthrough)? Because I think I've read somewhere that full igpu passthrough (gvt-d) is not possible when you don't have a discrete graphics card. (Is it?)
  7. I am new to Linux and VM's so I'm trying to figure out why there's so much difference between my QEMU guest performance and VMware guest performance. I have a NUC with i7-10510U and iGPU 620. I want to use QEMU instead of VMware since it's corporately owned closed source software, but I'm seeing big differences in terms of performance in some specific benchmarks. My Linux host OS has kernel 5.10. I tried different configurations to increase the performance of QEMU guests but only had limited success. I still couldn't figure out how to do gvt-g/gvt-d passthrough, but the results are showing some troublesome situation for QEMU. QEMU results: https://ibb.co/album/sj08Kn VMware results: https://ibb.co/album/0mvX6M VMware wipes the floor with QEMU on almost everything except Latencymon's stuff. Latencymon values were also high for QEMU until I started adding this to the XML under <features> section: <ioapic driver='kvm'/> Some of these grub parameters also helped: (though not greatly) GRUB_CMDLINE_LINUX="hugepagesz=1G hugepagesz=1G hugepages=5 intel_iommu=on iommu=pt i915.enable_gvt=1 kvm.ignore_msrs=1 report_ignored_msrs=0 intel_iommu=igfx_off i915.enable_fbc=0 i915.enable_guc=0 vfio-iommu-type1 allow_unsafe_interrupts=Y" I am using 1Gib Hugepages with these flags. <memoryBacking> <hugepages/> <nosharepages/> <discard/> </memoryBacking> I don't think I've seen a noteworthy performance gain by hugepages. I also tried with or without CPU pinning, leaving first physical CPU (0,4) out of VM, making it the emulatorpin and iothreadpin. I think it just felt and performed a little better. <vcpu placement='static'>6</vcpu> <iothreads>1</iothreads> <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='2'/> <vcpupin vcpu='2' cpuset='3'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> <emulatorpin cpuset='0,4'/> <iothreadpin iothread='1' cpuset='0,4'/> </cputune> Even though I'm using CPU passthrough, I am suprised how AIDA64 results show an incredible difference between QEMU and VMware results on memory and cache (L1-L2-L3) results. Please take a good look at AIDA64 results. Any ideas why? Note: I don't need a very powerful VM, this is a NUC after all. I just need it to be snappy. Edit: Using "copy cpu"(default setting) in virt-manager performs better than choosing "host-passthrough" in AIDA64 test. However it might just be dependant on how AIDA64 adjusts the test rather than a real performance increase.
  8. I can’t get gvt-g passthrough to work. I have a 10th gen nuc and don't have any external GPU, just the iGPU. I followed lots of guides. When I enter the Windows VM, I am able to run intel's iGPU driver installer, but during installation the screen will go black and won’t ever come back. I add these modules to boot: sudo nano /etc/modules vfio vfio_iommu_type1 vfio_mdev vfio_virqfd vfio_pci kvmgt kvm i915 I use this systemd service to have the device ready on every boot: sudo nano /etc/systemd/system/setup-gvt.service sudo systemctl enable setup-gvt [Unit] Description=Setup GVT [Service] Type=oneshot User=root ExecStart=/usr/bin/bash -c 'echo 06f10f82-5430-4913-9dae-8f6b67239c21 > /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_4/create' [Install] WantedBy=multi-user.target Changes I make to Libvirt's XML (using virt-manager) `domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'` graphics type='spice' listen type='none'/ gl enable='yes' rendernode='/dev/dri/by-path/pci-0000:00:02.0-render'/ /graphics --------------- video model type='none'/ /video --------------- hostdev mode='subsystem' type='mdev' managed='no' model='vfio-pci' display='on' source address uuid='06f10f82-5430-4913-9dae-8f6b67239c21'/ /source address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/ /hostdev Some errors on Linux host A firmware error sudo dmesg | ... Command line: root=UUID=824b1303-1f00-4749-bd64-3775a198c9d2 ro i915.enable_gvt=1 kvm.ignore_msrs=1 i915.enable_fbc=0 i915.enable_guc=0 quiet splash intel_iommu=igfx_off Kernel command line: root=UUID=824b1303-1f00-4749-bd64-3775a198c9d2 ro i915.enable_gvt=1 kvm.ignore_msrs=1 i915.enable_fbc=0 i915.enable_guc=0 quiet splash intel_iommu=igfx_off i915 0000:00:02.0: firmware: failed to load i915/gvt/vid_0x8086_did_0x9b41_rid_0x02.golden_hw_state (-2) i915 0000:00:02.0: Direct firmware load for i915/gvt/vid_0x8086_did_0x9b41_rid_0x02.golden_hw_state failed with error -2 Here, I can't see 0000:00:02.0 (intel iGPU) in an IOMMU group Command line: root=UUID=824b1303-1f00-4749-bd64-3775a198c9d2 ro i915.enable_gvt=1 kvm.ignore_msrs=1 i915.enable_fbc=0 i915.enable_guc=0 quiet splash intel_iommu=igfx_off ACPI: DMAR 0x0000000099B61200 000088 (v01 COREv4 COREBOOT 00000000 CORE 20200925) ACPI: Reserving DMAR table memory at [mem 0x99b61200-0x99b61287] Kernel command line: root=UUID=824b1303-1f00-4749-bd64-3775a198c9d2 ro i915.enable_gvt=1 kvm.ignore_msrs=1 i915.enable_fbc=0 i915.enable_guc=0 quiet splash intel_iommu=igfx_off DMAR: Disable GFX device mapping DMAR: Host address width 39 DMAR: DRHD base: 0x000000fed90000 flags: 0x0 DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap 1c0000c40660462 ecap 19e2ff0505e DMAR: DRHD base: 0x000000fed91000 flags: 0x1 DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c40660462 ecap f050da DMAR: RMRR base: 0x0000009b000000 end: 0x0000009f7fffff DMAR-IR: IOAPIC id 2 under DRHD base 0xfed91000 IOMMU 1 DMAR-IR: HPET id 0 under DRHD base 0xfed91000 DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping. DMAR-IR: Enabled IRQ remapping in x2apic mode iommu: Default domain type: Translated DMAR: No ATSR found DMAR: dmar1: Using Queued invalidation pci 0000:00:00.0: Adding to iommu group 0 pci 0000:00:04.0: Adding to iommu group 1 pci 0000:00:08.0: Adding to iommu group 2 pci 0000:00:12.0: Adding to iommu group 3 pci 0000:00:14.0: Adding to iommu group 4 pci 0000:00:14.2: Adding to iommu group 4 pci 0000:00:17.0: Adding to iommu group 5 pci 0000:00:1d.0: Adding to iommu group 6 pci 0000:00:1f.0: Adding to iommu group 7 pci 0000:00:1f.3: Adding to iommu group 7 pci 0000:00:1f.4: Adding to iommu group 7 pci 0000:00:1f.5: Adding to iommu group 7 pci 0000:01:00.0: Adding to iommu group 8 DMAR: Intel(R) Virtualization Technology for Directed I/O AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <[email protected]> AMD-Vi: AMD IOMMUv2 functionality not available on this system intel_iommu=igfx_off There's a problem at 'lspci -vvvv's result. pcilib: sysfs_read_vpd: read failed: Input/output error Not readable Capabilities: [100 v1] Advanced Error Reporting UESta: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UEMsk: DLP- SDES- TLP- FCP- CmpltTO- CmpltAbrt- UnxCmplt- RxOF- MalfTLP- ECRC- UnsupReq- ACSViol- UESvrt: DLP+ SDES+ TLP- FCP+ CmpltTO- CmpltAbrt- UnxCmplt- RxOF+ MalfTLP+ ECRC- UnsupReq- ACSViol- CESta: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr- CEMsk: RxErr- BadTLP- BadDLLP- Rollover- Timeout- AdvNonFatalErr+ AERCap: First Error Pointer: 00, ECRCGenCap+ ECRCGenEn- ECRCChkCap+ ECRCChkEn- MultHdrRecCap- MultHdrRecEn- TLPPfxPres- HdrLogCap- HeaderLog: 00000000 00000000 00000000 00000000 Capabilities: [140 v1] Virtual Channel Caps: LPEVC=0 RefClk=100ns PATEntryBits=1 Arb: Fixed- WRR32- WRR64- WRR128- Ctrl: ArbSelect=Fixed Status: InProgress- VC0: Caps: PATOffset=00 MaxTimeSlots=1 RejSnoopTrans- Arb: Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256- Ctrl: Enable+ ID=0 ArbSelect=Fixed TC/VC=ff Status: NegoPending- InProgress- Capabilities: [160 v1] Device Serial Number 01-00-00-00-68-4c-e0-00 Kernel driver in use: r8169 Kernel modules: r8169