Hello guys I have been using vfio pt for a long time. I ve got %99.2 bare metal performance with these cards :
RX 580 , RX 590
RTX 2070 Super - RTX 2080 Super - RTX 3060 - RTX 3090
GT 710 - GT 1030
using Ryxen 5 5900X
However I cannot get it my win10 guest work with RX 6900 XT at full performance it stutters dpc latency is high.
I couldn’t figure it out with RX 5700 XT too , even if I use pci-e bridges and create same layout in lspci -tv of host in guest. It did not work. However both cards are (were) working fine in macOS guest. ( Just tested with some games and Unreal Engine 5 early access)
I am on ubuntu 18.04.6 kernel is 5.4.0-91
win 10 is 202H
I have also optimized virtual pci-e bridges so that virtio disks are in one lane , ethernets are in another, and GPU is a totally seperate lane. KVM enlightenment and vendor id is also used. CCX cores are pt but not pinned. It was working flawlessly with NVIDIA gpu’s
Any pointers here ? Any of you succeeded with 6900 XT win10 pt ?
Ok - it is SOLVED - achieved pass-through of 6500 XT
History:
So far all GTX and RTX model has worked fine with ubuntu 18.04 kernel 5.4.0-97 win10-202H (including gtx 710 - 1030 - RTX 3090 everyone) with vendor id . I have managed dual xeon macOS-KVM and all tiers of ryzen cpu’s and also RX 400 500 series cards were working also fine and RDNA and RDNA2 cards were working up to the point of ! AMD driver update !.
Symptomps:
After driver update RDNA and RDNA2 started to work sluggishly. Meaning,
High latency dgxkrnl , HdaBus , wdf1000 , storport dll 's in Latency Monitor.
It nearly gave half frame. I started pinning cpu’s for consistent cache usage (never needed before) , There was an overall fluency increase however whenever win10 starts a DirectX application stuttering began.
Unsuccessfully tried:
Putting audio on same slot but different function
Putting card on a separate bus
Omitting sound device of Graphics Card
Optimizing Timers hpet etc …
cpu pinning - isolating ( I didnt think this would work - just practice )
replicating ioh3420 pcie-root-port and pci-e downstream -upstream switches like VEGA on libvirt on qemu 2.11 on qemu 6.1 (compiled from source)
SMT enable disable , PSS enable (MSI X570 PRO - A)
Easing ram timings (16x4 GB 2666 Kingston CL19 modules I have maybe they are sluggish but using hugepages with 12 GB of ram.
From bios adjusted number of numa nodes and their split NSS4 I guess
Editing radeon driver showing it like antoher card
Could not use other bios techpowerup does not have RX 6500 XT bios dumped
pcie_aspm=0 or off whatever grub kernel parameter
pcie_resources=lax
REALIZED THAT GPU-Z showing bus as PCI then I have tried lots and lots more I wont bother you guys
At final point I ve got itchy and said to myself huge amount of these operations are kernel dependent why bother. I have installed archlinux and everyting has worked out of the box. It even comes host-passthrough ticked by default …
Versions:
Linux ggArch 5.16.14-arch1-1 #1 SMP PREEMPT Fri, 11 Mar 2022 17:40:36 +0000 x86_64 GNU/Linux
libvirtd (libvirt) 8.1.0
QEMU emulator version 6.2.0
Generally I hate to update because , servers and production systems I build for customers are tested for months and stabilized. When I update zillion things can go wrong (and they do ) So I refrain updating software systems unless I must.
But I am gonna probably switch to archlinux from ubuntu 18.04