Blame
|
1 | # VM iGPU Passthrough |
||||||
|
2 | |||||||
| 3 | ### Setting Up |
|||||||
|
4 | This guide seems to work for Strix Halo: |
||||||
|
5 | https://github.com/isc30/ryzen-gpu-passthrough-proxmox |
||||||
| 6 | ||||||||
|
7 | There's also a guide from a Framework Desktop owner available here: |
||||||
| 8 | https://community.frame.work/t/anyone-using-proxmox-ve/74863/6?u=beralt |
|||||||
| 9 | ||||||||
| 10 | These are mostly tied to Proxmox (version 8 or higher), but should still be applicable to other distros with QEMU installed. |
|||||||
|
11 | |||||||
|
12 | ### Configuration |
||||||
| 13 | ```bash |
|||||||
| 14 | # /etc/kernel/cmdline |
|||||||
| 15 | ... iommu=pt initcall_blacklist=sysfb_init |
|||||||
| 16 | ``` |
|||||||
| 17 | ||||||||
| 18 | ```bash |
|||||||
| 19 | # /etc/modules |
|||||||
| 20 | vfio |
|||||||
| 21 | vfio_iommu_type1 |
|||||||
| 22 | vfio_pci |
|||||||
| 23 | ``` |
|||||||
| 24 | ||||||||
| 25 | ```bash |
|||||||
| 26 | # /etc/modprobe.d/blacklist.conf |
|||||||
| 27 | blacklist radeon |
|||||||
| 28 | blacklist amdgpu |
|||||||
| 29 | blacklist snd_hda_intel |
|||||||
| 30 | ``` |
|||||||
| 31 | ||||||||
| 32 | ```bash |
|||||||
| 33 | # /etc/modprobe.d/vfio.conf |
|||||||
| 34 | options vfio-pci ids=1002:1586,1002:1640 disable_vga=1 |
|||||||
| 35 | ``` |
|||||||
| 36 | ||||||||
| 37 | ```bash |
|||||||
| 38 | # vm.conf for QEMU |
|||||||
|
39 | machine: pc-q35-9.2+pve1,viommu=virtio |
||||||
| 40 | cpu: host |
|||||||
| 41 | # don't forget to replace the IDs if needed |
|||||||
|
42 | hostpci0: 0000:c6:00.0,pcie=1,romfile=vbios_8060s.bin,x-vga=1 |
||||||
| 43 | hostpci1: 0000:c6:00.1,pcie=1,romfile=AMDGopDriver.rom |
|||||||
| 44 | ``` |
|||||||
| 45 | ||||||||
|
46 | Proxmox VM: |
||||||
|
47 |  |
||||||
| 48 | ||||||||
|
49 | ### Windows VMs |
||||||
|
50 | - hardware IDs are `1002:1586` (iGPU) and `1002:1640` (audio) |
||||||
|
51 | - the 'reset bug' is here, I found no way to avoid it, so **you can passthrough the iGPU to a Windows guest only once per boot of the host** |
||||||
|
52 | - don't bother with `vendor-reset` module and/or `RadeonResetBugFix` service, they are severely outdated and don't do anything in our case |
||||||
|
53 | - if your VM crashes during GPU driver install, switch the CPU type to something generic (`x86-64-v4` for example seems to work fine), install the driver, then return it back to `host` |
||||||
|
54 | - if you see unknown PCI device (`1af4:1057`) in your Device Manager, install `viomem` driver manually from virtio drivers ISO |
||||||
|
55 | - set the fixed VRAM amount in the BIOS and never change it on the OS level, otherwise expect major slowdowns and crashes |
||||||
|
56 | - [this issue](https://github.com/isc30/ryzen-gpu-passthrough-proxmox/issues/112) might be worth looking into |
||||||
| 57 | ||||||||
|
58 | ### Linux VMs |
||||||
| 59 | - the guide and configuration are valid for Linux too |
|||||||
| 60 | - Proxmox 9 seems to be a must to avoid the reset bug |
|||||||
| 61 | - use recent kernels (6.15+), if you see amdgpu driver errors during boot most likely your kernel is too old |
|||||||
| 62 | - just like with Windows, dynamic VRAM allocation seems to be very unstable, set the fixed amount in the BIOS |
|||||||
| 63 | ||||||||
|
64 | ### Additional Info (Discord) |
||||||
| 65 | - [my personal experience and why I gave up on the idea of the iGPU passthrough](https://discord.com/channels/1384139280020148365/1384139280632250492/1430532693208334368) |
|||||||
| 66 | - [a discussion thread with additional links for LXC passthrough](https://discord.com/channels/1384139280020148365/1425880739638939770) |
|||||||
| 67 | ||||||||
|
68 | ### Files |
||||||
|
69 | (taken from [[EVO-X2|Devices/GMKtec-EVO-X2]], BIOS version 1.04) |
||||||
|
70 | - [vbios_8060s.bin](./vbios_8060s.bin) |
||||||
| 71 | - [AMDGopDriver.rom](./AMDGopDriver.rom) |
|||||||