Herkese selam. İcerisinde Ryzen R5 5600 ve RX 6700 XT olan bir masaustu bilgisayarım var. Bu bilgisayar uzerindeki tek ekran kartıyla QEMU'da sanallaştırmada ekran kartımı kullanmak istiyorum. Keşke SR-IOV ayarlansa veya NVIDIA vGPU gibi bir ek ozellik olsa ancak bulunmuyor. Her şeyi doğru yaptığımı duşunuyorum ancak emin değilim.

GRUB ayarlarından amd_iommu=on iommu=pt ve video=efifbff ayarlı. dmesg veya journalctl ile bakınca IOMMU ve AMD-Vi'nin acık olduğu doğrulanabiliyor.

QEMU ve libvirt'i kendi kullanıcıma gereken gruplara aldım, ROM ve .sh dosyalarının hepsine gerekli izinler ve calıştırma yetkisi de verildi. Sanal makine icinde Windows 10 yuklu, AMD suruculeri direkt yuklu geldiğinden deneme amaclı Linux Mint diski de koydum ama ikisinde de fayda etmedi, goruntu gelmedi. Bazı cozum yollarını denedim ancak hepsinde siyah ekranda kaldı. Kendi cozumlerimi bitirdim, bir de sizin gozunuzden bakmanızı rica ediyorum. Teşekkurler. Ek detay gerekirse de sağlarım.

Surprizbozan: lspci Kod:Panoya kopyala
00:00.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex 00:00.2 IOMMU: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU 00:01.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge 00:01.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge 00:01.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge 00:02.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge 00:03.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge 00:03.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge 00:04.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge 00:05.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge 00:07.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge 00:07.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] 00:08.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge 00:08.1 PCI bridge: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] 00:14.0 SMBus: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller (rev 61) 00:14.3 ISA bridge: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge (rev 51) 00:18.0 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 0 00:18.1 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 1 00:18.2 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 2 00:18.3 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 3 00:18.4 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 4 00:18.5 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 5 00:18.6 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 6 00:18.7 Host bridge: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 7 01:00.0 Non-Volatile memory controller: ADATA Technology Co., Ltd. IM2P33F8ABR1 NVMe SSD (rev 03) 02:00.0 USB controller: Advanced Micro Devices, Inc. [AMD] Device 43ec 02:00.1 SATA controller: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset SATA Controller 02:00.2 PCI bridge: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset Switch Upstream Port 03:03.0 PCI bridge: Advanced Micro Devices, Inc. [AMD] Device 43ea 04:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 15) 05:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch (rev c5) 06:00.0 PCI bridge: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch 07:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] (rev c5) 07:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller 08:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function 09:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP 09:00.1 Encryption controller: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP 09:00.3 USB controller: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller 09:00.4 Audio device: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller





Surprizbozan: inxi -FxxG Kod:Panoya kopyala
System: Host: crusland Kernel: 6.4.8-x64v3-xanmod1 arch: x86_64 bits: 64 compiler: gcc v: 12.3.0 Desktop: GNOME v: 43.7 tk: GTK v: 3.24.38 wm: gnome-shell dm: GDM3 Distro: Debian GNU/Linux trixie/sid Machine: Type: Desktop System: Gigabyte product: A520M K V2 v: -CF serial: Mobo: Gigabyte model: A520M K V2 v: x.x serial: UEFI: American Megatrends LLC. v: F3a date: 07/18/2023 CPU: Info: 6-core model: AMD Ryzen 5 5600 bits: 64 type: MCP arch: Zen 3+ rev: 2 cache: L1: 384 KiB L2: 3 MiB L3: 32 MiB Speed (MHz): avg: 2071 high: 3594 min/max: 550/4468 cores: 1: 550 2: 550 3: 3593 4: 3594 5: 550 6: 3593 bogomips: 41919 Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm Graphics: Device-1: AMD Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] vendor: Sapphire driver: amdgpu v: kernel arch: RDNA-2 pcie: speed: 16 GT/s lanes: 16 ports: active: HDMI-A-1 empty: DP-1,DP-2,DP-3 bus-ID: 07:00.0 chip-ID: 1002:73df Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.2.0 compositor: gnome-shell driver: X: loaded: amdgpu unloaded: fbdev,modesetting,radeon,vesa dri: radeonsi gpu: amdgpu display-ID: 0 Monitor-1: HDMI-A-1 model: ASUS VP249 res: 1920x1080 dpi: 93 diag: 604mm (23.8") API: OpenGL v: 4.6 Mesa 23.1.6-1 renderer: AMD Radeon RX 6700 XT (navi22 LLVM 15.0.7 DRM 3.52 6.4.8-x64v3-xanmod1) direct-render: Yes Audio: Device-1: AMD Navi 21/23 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16 bus-ID: 07:00.1 chip-ID: 1002:ab28 Device-2: AMD Starship/Matisse HD Audio vendor: Gigabyte driver: snd_hda_intel v: kernel pcie: speed: 16 GT/s lanes: 16 bus-ID: 09:00.4 chip-ID: 1022:1487 API: ALSA v: k6.4.8-x64v3-xanmod1 status: kernel-api Server-1: PipeWire v: 0.3.77 status: active with: 1: pipewire-pulse status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin Network: Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet vendor: Gigabyte driver: r8169 v: kernel pcie: speed: 2.5 GT/s lanes: 1 port: f000 bus-ID: 04:00.0 chip-ID: 10ec:8168 IF: enp4s0 state: down mac: 74:56:3c:72:9e:1b IF-ID-1: enx0233006f7a0b state: unknown speed: -1 duplex: half mac: 02:33:00:6f:7a:0b IF-ID-2: lxcbr0 state: down mac: 00:16:3e:00:00:00 IF-ID-3: virbr1 state: down mac: 52:54:00:92:cd:ad IF-ID-4: vmnet1 state: unknown speed: N/A duplex: N/A mac: 00:50:56:c0:00:01 IF-ID-5: vmnet8 state: unknown speed: N/A duplex: N/A mac: 00:50:56:c0:00:08 Bluetooth: Device-1: Samsung Galaxy series misc. (tethering mode) driver: rndis_host v: kernel type: USB rev: 2.1 speed: 480 Mb/s lanes: 1 bus-ID: 1-4:3 chip-ID: 04e8:6863 Drives: Local Storage: total: 1.38 TiB used: 72.28 GiB (5.1%) ID-1: /dev/nvme0n1 vendor: A-Data model: LEGEND 700 size: 476.94 GiB speed: 31.6 Gb/s lanes: 4 serial: 2N232L1H2DDF temp: 42.9 C ID-2: /dev/sda vendor: Toshiba model: MQ01ABD100 size: 931.51 GiB speed: 6.0 Gb/s serial: 18LUTHKFT Partition: ID-1: / size: 476.47 GiB used: 72.25 GiB (15.2%) fs: btrfs dev: /dev/nvme0n1p2 ID-2: /boot/efi size: 475.1 MiB used: 32.6 MiB (6.9%) fs: vfat dev: /dev/nvme0n1p1 Swap: Alert: No swap data was found. Sensors: System Temperatures: cpu: 46.5 C mobo: 36.0 C gpu: amdgpu temp: 49.0 C mem: 44.0 C Fan Speeds (rpm): cpu: 820 fan-1: 2089 gpu: amdgpu fan: 0 Power: 12v: N/A 5v: N/A 3.3v: N/A vbat: 3.10 Info: Processes: 316 Uptime: 20m Memory: total: 16 GiB available: 15.54 GiB used: 2.09 GiB (13.5%) Init: systemd v: 254 target: graphical (5) default: graphical Compilers: gcc: 13.2.0 alt: 12/13 Packages: 2432 pm: dpkg pkgs: 2426 pm: flatpak pkgs: 6 Shell: Bash v: 5.2.15 running-in: gnome-terminal inxi: 3.3.29





Surprizbozan: IOMMU Grupları Kod:Panoya kopyala
IOMMU Group 0: 00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482] IOMMU Group 1: 00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483] IOMMU Group 2: 00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483] IOMMU Group 3: 00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482] IOMMU Group 4: 00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482] IOMMU Group 5: 00:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483] IOMMU Group 6: 00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482] IOMMU Group 7: 00:05.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482] IOMMU Group 8: 00:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482] IOMMU Group 9: 00:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484] IOMMU Group 10: 00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482] IOMMU Group 11: 00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484] IOMMU Group 12: 00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 61) 00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51) IOMMU Group 13: 00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 0 [1022:1440] 00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 1 [1022:1441] 00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 2 [1022:1442] 00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 3 [1022:1443] 00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 4 [1022:1444] 00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 5 [1022:1445] 00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 6 [1022:1446] 00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Matisse/Vermeer Data Fabric: Device 18h; Function 7 [1022:1447] IOMMU Group 14: 01:00.0 Non-Volatile memory controller [0108]: ADATA Technology Co., Ltd. IM2P33F8ABR1 NVMe SSD [1cc1:33f8] (rev 03) IOMMU Group 15: 02:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ec] 02:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset SATA Controller [1022:43eb] 02:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset Switch Upstream Port [1022:43e9] 03:03.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea] 04:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15) IOMMU Group 16: 05:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Upstream Port of PCI Express Switch [1002:1478] (rev c5) IOMMU Group 17: 06:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 XL Downstream Port of PCI Express Switch [1002:1479] IOMMU Group 18: 07:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 22 [Radeon RX 6700/6700 XT/6750 XT / 6800M/6850M XT] [1002:73df] (rev c5) IOMMU Group 19: 07:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Navi 21/23 HDMI/DP Audio Controller [1002:ab28] IOMMU Group 20: 08:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a] IOMMU Group 21: 09:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485] IOMMU Group 22: 09:00.1 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486] IOMMU Group 23: 09:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c] IOMMU Group 24: 09:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]






BIOS ayarlarında Resizable Bar ve 4G Decoding kapalı. IOMMU ve AMD Vi acık. Belleğin XMP değeri olan 3600 MHz'de. Bayağıdır da oyun oynuyorum, hic visual artifact yaşamadım yani sistemim stabil.

Debian Sid kullanıyorum ve Xanmod'un 6.4.9 surumu mevcut. Cekirdek icerisinde PCIe ACS Override for bypassing IOMMU groups support. yaması da var.

Sanal makine icerisinde Winzort'dan GPU-Z ile yedeklediğim ve bir rehberde gorerek yedeklediğim ROM dosyalarını kullanmayı denedim ancak ikisinde de siyah ekranda kaldı.
Surprizbozan: Yedeklemek icin kullandığım kodlar. Kod:Panoya kopyala
echo 1 > /sys/bus/pci/devices/0000:01:00.0/rom cat /sys/bus/pci/devices/0000:01:00.0/rom > path/to/dump/vbios.rom echo 0 > /sys/bus/pci/devices/0000:01:00.0/rom






Libvirt hookları olması gerektiği gibi ayarlı.
Surprizbozan: /etc/libvirt/hooks/qemu Bash:Panoya kopyala
#!/bin/bash GUEST_NAME="$1" HOOK_NAME="$2" STATE_NAME="$3" MISC="$" BASEDIR="$(dirname $0)" HOOKPATH="$BASEDIR/qemu.d/$GUEST_NAME/$HOOK_NAME/$STATE_NAME" set -e # If a script exits with an error, we should as well. if [ -f "$HOOKPATH" ]; then eval ""$HOOKPATH"" "[email protected]" elif [ -d "$HOOKPATH" ]; then while read file; do eval ""$file"" "[email protected]" done /sys/class/vtconsole/vtcon1/bind # Unbind EFI Framebuffer #echo efi-framebuffer.0 > /sys/bus/platform/drivers/efi-framebuffer/unbind # Unload NVIDIA kernel modules #modprobe -r nvidia_drm nvidia_modeset nvidia_uvm nvidia # Detach GPU devices from host # Use your GPU and HDMI Audio PCI host device virsh nodedev-detach pci_0000_07_00_0 virsh nodedev-detach pci_0000_07_00_1 # Unload AMD kernel module modprobe -r amdgpu # Load vfio module modprobe vfio modprobe vfio_pci modprobe vfio_iommu_type1





Surprizbozan: /etc/libvirt/hooks/qemu.d/win10/release/end/stop.sh Kod:Panoya kopyala
#!/bin/bash set -x # Attach GPU devices to host # Use your GPU and HDMI Audio PCI host device virsh nodedev-reattach pci_0000_07_00_0 virsh nodedev-reattach pci_0000_07_00_1 # Unload vfio module modprobe -r vfio modprobe -r vfio_pci modprobe -r vfio_iommu_type1 # Load AMD kernel module modprobe amdgpu # Rebind framebuffer to host #echo "efi-framebuffer.0" > /sys/bus/platform/drivers/efi-framebuffer/bind # Load NVIDIA kernel modules #modprobe nvidia_drm #modprobe nvidia_modeset #modprobe nvidia_uvm #modprobe nvidia # Bind VTconsoles: might not be needed echo 1 > /sys/class/vtconsole/vtcon0/bind echo 1 > /sys/class/vtconsole/vtcon1/bind # Restart Display Manager systemctl start display-manager






Surprizbozan: virsh edit win10 Kod:Panoya kopyala
win10 dfc851fe-b748-4ec5-b418-59d42c042e69 8388608 8388608 6 hvm /usr/share/OVMF/OVMF_CODE_4M.ms.fd /var/lib/libvirt/qemu/nvram/win10_VARS.fd destroy restart destroy
/usr/bin/qemu-system-x86_64







Ekleme: Gunluk hayatta ayırabileceğim saatler şu anda olmadığı icin şu anda denemeyi bıraktım. Eğer daha sonra başka bir oneriniz olursa zaman ayırabilirim.