Before I begin: I am very new to VMs in general and Proxmox specifically, so please excuse any stupid mistakes I might have made/will make. Thanks
So, I can't get GPU-Passthrough to work on my machine.
As long as there is no GPU passed through to the VM, everything works absolutely fine, but as soon as I try to pass the GPU through, the VM will boot and the Hardware Monitor shows, that the GPU is passed through to the VM, but I get nothing but a black screen. I also cant remote into the VM anymore, I just get an "Unable to connect" message from Windows Remote-Desktop.
My Setup:
CPU: AMD Ryzen 7 1700
RAM: 16GB G.Skill Aegis 3000Mhz
MB: MSI X370 Gaming Pro Carbon
GPU1 (to be passed through): Gigabyte RX Vega 64 OC
GPU2 (for the host): MSI GeForce GT 710
I obviously enabled all the necessary BIOS features, like SVM and IOMMU, my BIOS is also set to UEFI only and SecureBoot is enabled.
Grub:
VM config:
I have also added the necessary kernel modules and also have blacklisted amdgpu and radeon drivers, and assigned vfio drivers to the card, as can be seen here:
I have also tried Switching the PCI-E Slot the cards are in, but the only thing that accomplished is, that the AMD card now shows the GRUB options during boot.
If you have any ideas on how to get this working, I'd be massively thankful :-D.
So, I can't get GPU-Passthrough to work on my machine.
As long as there is no GPU passed through to the VM, everything works absolutely fine, but as soon as I try to pass the GPU through, the VM will boot and the Hardware Monitor shows, that the GPU is passed through to the VM, but I get nothing but a black screen. I also cant remote into the VM anymore, I just get an "Unable to connect" message from Windows Remote-Desktop.
My Setup:
CPU: AMD Ryzen 7 1700
RAM: 16GB G.Skill Aegis 3000Mhz
MB: MSI X370 Gaming Pro Carbon
GPU1 (to be passed through): Gigabyte RX Vega 64 OC
GPU2 (for the host): MSI GeForce GT 710
I obviously enabled all the necessary BIOS features, like SVM and IOMMU, my BIOS is also set to UEFI only and SecureBoot is enabled.
Grub:
Code:
# If you change this file, run 'update-grub' afterwards to update
# /boot/grub/grub.cfg.
# For full documentation of the options in this file, see:
# info -f grub -n 'Simple configuration'
GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet iommu=pt amd_iommu=on video=efifb:off"
GRUB_CMDLINE_LINUX=""
# Uncomment to enable BadRAM filtering, modify to suit your needs
# This works with Linux (no patch required) and with any kernel that obtains
# the memory map information from GRUB (GNU Mach, kernel of FreeBSD ...)
#GRUB_BADRAM="0x01234567,0xfefefefe,0x89abcdef,0xefefefef"
# Uncomment to disable graphical terminal (grub-pc only)
#GRUB_TERMINAL=console
# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
#GRUB_GFXMODE=640x480
# Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux
#GRUB_DISABLE_LINUX_UUID=true
# Uncomment to disable generation of recovery mode menu entries
#GRUB_DISABLE_RECOVERY="true"
# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"
dmesg | grep -e DMAR -e IOMMU
:
Bash:
[ 0.222406] pci 0000:00:00.2: AMD-Vi: IOMMU performance counters supported
[ 0.223372] pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
[ 0.223985] perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank).
VM config:
Code:
agent: 1
bios: ovmf
boot: order=scsi0;net0
cores: 8
efidisk0: local:100/vm-100-disk-1.qcow2,efitype=4m,pre-enrolled-keys=1,size=528K
hostpci0: 0000:2a:00,x-vga=on,pcie=1,romfile=Gigabyte.RXVega64.8192.180110.rom
machine: pc-q35-6.1
memory: 8192
meta: creation-qemu=6.1.0,ctime=1649277898
name: Windows10-GPU
net0: virtio=F2:74:01:9B:85:7A,bridge=vmbr0,firewall=1
numa: 0
ostype: win10
scsi0: local:100/vm-100-disk-0.qcow2,cache=writeback,size=256G
scsihw: virtio-scsi-pci
smbios1: uuid=13c389dd-3b1b-4d03-a212-bbb19c939019
sockets: 1
vmgenid: 627d57c8-0650-4823-9533-2189b9b3ebec
I have also added the necessary kernel modules and also have blacklisted amdgpu and radeon drivers, and assigned vfio drivers to the card, as can be seen here:
Bash:
2a:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] (rev c1) (prog-if 00 [VGA controller])
Subsystem: Gigabyte Technology Co., Ltd Vega 10 XL/XT [Radeon RX Vega 56/64]
Flags: bus master, fast devsel, latency 0, IRQ 42, IOMMU group 17
Memory at 7fd0000000 (64-bit, prefetchable) [size=256M]
Memory at 7fe0000000 (64-bit, prefetchable) [size=2M]
I/O ports at d000 [size=256]
Memory at f7800000 (32-bit, non-prefetchable) [size=512K]
Expansion ROM at f7880000 [disabled] [size=128K]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Capabilities: [64] Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150] Advanced Error Reporting
Capabilities: [200] Physical Resizable BAR
Capabilities: [270] Secondary PCI Express
Capabilities: [2a0] Access Control Services
Capabilities: [2b0] Address Translation Service (ATS)
Capabilities: [2c0] Page Request Interface (PRI)
Capabilities: [2d0] Process Address Space ID (PASID)
Capabilities: [320] Latency Tolerance Reporting
Kernel driver in use: vfio-pci
Kernel modules: amdgpu
2a:00.1 Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64]
Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64]
Flags: fast devsel, IRQ 81, IOMMU group 18
Memory at f78a0000 (32-bit, non-prefetchable) [disabled] [size=16K]
Capabilities: [48] Vendor Specific Information: Len=08 <?>
Capabilities: [50] Power Management version 3
Capabilities: [64] Express Endpoint, MSI 00
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150] Advanced Error Reporting
Capabilities: [2a0] Access Control Services
Kernel driver in use: vfio-pci
Kernel modules: snd_hda_intel
I have also tried Switching the PCI-E Slot the cards are in, but the only thing that accomplished is, that the AMD card now shows the GRUB options during boot.
If you have any ideas on how to get this working, I'd be massively thankful :-D.