Notes to make double GPU Passtrough works (iGPU+Linux & Radeon+win11)

HariSeldon

New Member
Nov 6, 2023
11
0
1
Hi everyone,
I've spent quite a lot of time to configure on my server a double GPU passthrough.
I'm sharing it because "maybe" can be anyway helpful to some proxmox newbie like me :)

Please keep in mind that these are only "personal notes" that applies to my machine and they are wrote in this way.
Obviously they are also pretty straight-forwarded and I hope they could be useful somehow.

Code:
0) System configuration: Intel Core i5 12400 (Alder Lake), Radeon 6400 low profile (RDNA2), 32GB DDR4, MSI PRO B760M D4.
System has been configured with 2 VM with 2 GPU passtrough at the same time, fully working: Win11+radeon6400, Lubuntu23.10+UHD730 (iGPU)

1) For none of the both videocard is needed to extract the bios ( romfile ) (UHD730 e Radeon 6400)

2) To make the passthrough of the radeon on windows WORK correctly it is MANDATORY to disable the RESIZABLE-BAR from host bios ( hardware machine ). Many tests has been done on this: with the resizable bar activated, the win11 vm goes at low resolution and radeon driver doesn't load.

3) Double check pci ids with : lspci -nnk
(look at "pci_output.txt").

4) Configure the following files in the following way:

#/etc/defaults/grub
#
#Testing full passthough with UEFI, LUBUNTU and i440fx: fully working!
GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on iommu=pt pcie_acs_override=downstream,multifunction initcall_blacklist=sysfb_init"

#/etc/moprobe.d/vfio.conf
#
options vfio-pci ids=8086:4682,8086:7a50,8086:7a60,8086:7a62,1002:743f,1002:1478,1002:1479,1002:ab28,15b7:5002 disable_vga=1
options vfio_iommu_type1 allow_unsafe_interrupts=1
options kvm ignore_msrs=1

#etc/modprobe.d/pve-blacklist.conf
#
# This file contains a list of modules which are not supported by Proxmox VE

# nvidiafb see bugreport https://bugzilla.proxmox.com/show_bug.cgi?id=701
blacklist nvidiafb
blacklist radeon
blacklist amdgpu
blacklist nouveau
blacklist nvidia
blacklist nvidia-gpu
blacklist snd_hda_intel
blacklist snd_hda_codec_hdmi
blacklist snd_sof_pci_intel_tgl
blacklist snd_soc_avs
blacklist i915
blacklist xhci_hcd
blacklist mei_me
blacklist xhci_pci
blacklist ahci

#/etc/modules
#
# Modules required for PCI passthrough
vfio
vfio_iommu_type1
vfio_pci
vfio_virqfd

5) At the end update proxmox config with:
update-initramfs -k all -u && update-grub

6) Please refer to the vm configuration ("proxmox_vm_cfg_linux.txt" & "proxmox_vm_cfg_win11.txt" ) extensively tested with gpu and different devices passthrough.
One thing to note is that a working GPU passthrough with also HDMI audio is needed i440fx machine type.



############ OTHER INFO NOT USED ######################

#read igpu rom - doesn't work with Intel 730, worked with Intel uhd630
root@mygalaxy-orionis:/sys/bus/pci/devices/0000:00:02.0# echo 1 > rom
root@mygalaxy-orionis:/sys/bus/pci/devices/0000:00:02.0# cat rom > /usr/share/kvm/igpu_uhd730.bin
root@mygalaxy-orionis:/sys/bus/pci/devices/0000:00:02.0# echo 0 > rom

#romfile add in this way : [...],romfile=igpu_uhd630.bin
hostpci0: 00:02,x-vga=on,romfile=igpu_uhd630.bin
 

Attachments

Last edited: