I have 2 GPUs in my system (both AMD) successfully passed through and working at near-native performance. One of the VMs is my primary workstation so the onboard sound is also passed through. This VM, however, has issues with garbled audio. I listen to music all day on this computer and occasionally a song will play fine, but most of the time, the audio is garbled/distorted, sometimes really bad to the point I cannot understand the song or music, and eventually the audio just stops. If I stop and start pianobar, the music starts to play again, usually somewhat distorted and the cycle continues. The guest is Windows 10; I have enabled MSI within Windows. I have read through the forums but am unable to find a solution.
What is frustrating is that I had all of this working under Alpine Linux on the same hardware using kvm/libvirt with no issues. I switched back to all Windows but my hardware doesn't support DDA in Hyper-V, so moved back to KVM in order to dedicate one of my video cards for game streaming for my children. I decided to give ProxMox a try because of the ease of use of management of the VMs (versus running Virt Manager under Cygwin on my Windows workstations).
Any ideas on what I can do? I can provide any all info as needed on the host and the guest that is not below.
JR
What is frustrating is that I had all of this working under Alpine Linux on the same hardware using kvm/libvirt with no issues. I switched back to all Windows but my hardware doesn't support DDA in Hyper-V, so moved back to KVM in order to dedicate one of my video cards for game streaming for my children. I decided to give ProxMox a try because of the ease of use of management of the VMs (versus running Virt Manager under Cygwin on my Windows workstations).
Any ideas on what I can do? I can provide any all info as needed on the host and the guest that is not below.
JR
Code:
host:
ASUS M5A99FX PRO R2.0
AMD FX-8350
32GB RAM
AMD Radeon RX 480 (and HD7950 to the other VM)
guest:
agent: 1
balloon: 0
bios: ovmf
boot: dcn
bootdisk: scsi0
cores: 4
cpu: host
efidisk0: vmdata1:vm-101-disk-0,size=4M
hostpci0: 01:00.0,pcie=1,x-vga=1 [RX 480 Video]
hostpci1: 01:00.1,pcie=1 [RX 480 Audio]
hostpci2: 00:14.2,pcie=1 [Onboard sound, on its own IOMMU]
hostpci3: 04:00.0,pcie=1 [USB 3.0 add-in card]
machine: q35
memory: 12288
name: foehammer
net0: virtio=82:BF:7B:B6:C1:6B,bridge=vmbr0,firewall=1
numa: 1
onboot: 1
ostype: win10
rng0: source=/dev/urandom
sata0: none,media=cdrom
scsi0: /dev/disk/by-id/ata-Samsung_SSD_840_PRO_Series_S1ANNEAD644477V,size=125034840K [os disk]
scsi1: /dev/disk/by-id/ata-Samsung_SSD_850_PRO_512GB_S39FNX0J909231V,size=500107608K [secondary data disk]
scsihw: virtio-scsi-single
smbios1: uuid=44ec0428-c4ba-49ac-a127-96493c8c29c5
sockets: 1
startup: order=2,up=60,down=300
tablet: 0
vga: none
vmgenid: 02766609-ad10-4ba0-9e04-2584a349423d
[PENDING]
hostpci2: 00:14.2,pcie=1,rombar=0 [same id, just changing rombar]
hostpci3: 04:00.0,pcie=1,rombar=0 [same id, just changing rombar]
vga: std [added in order to allow AMD reset bug workaround from https://www.reddit.com/r/VFIO/comments/iaxqal/userfriendly_workaround_for_amd_reset_bug_windows/ to work
relevant lines from config files:
root@coruscant:~# cat /etc/modules
vfio
vfio_pci
vfio_virqfd
vfio_iommu_type1
root@coruscant:~# cat /etc/modprobe.d/vfio.conf
options vfio-pci ids=1002:67df,1002:aaf0,1002:679a,1002:aaa0 disable-vga=1 [video cards]
options vfio-pci ids=1002:4383,1b4b:9230,1b73:1100 [onboard sound, usb3.0 card, and storage controller passed through to a 3rd VM]
root@coruscant:~# cat /etc/modprobe.d/blacklist.conf
blacklist radeon
blacklist nouveau
blacklist nvidia
blacklist amdgpu
blacklist snd_hda_intel
root@coruscant:~# cat /etc/modprobe.d/pve-blacklist.conf
blacklist nvidiafb
root@coruscant:~# cat /etc/default/grub
GRUB_DISTRIBUTOR="Proxmox Virtual Environment"
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on iommu=pt video=efifb:off video=vesafb:off nomodeset"
GRUB_CMDLINE_LINUX=""