[vfio-users] Problems with R9 290 audio

Carlos Eduardo P. Guidugli guidugli at gmail.com
Sun Jun 26 16:15:08 UTC 2016


Solved the problem. For some reason, audio and GPU do not work under
the same bus (root.1). I upgraded my workstation to Fedora 24, which
include newer libvirt version which allow the addition of ioh3420. So,
I did add the video card to it, as explained in https://www.redhat.com/
archives/vfio-users/2016-January/msg00301.html. Again, if I add the R9
sound on the same bus, it gives me a BSOD. But now if I add the R9
audio to the pci.2 bus, it works; it no longer gives me a code 10.
Probably some patch related to this code 10 was integrated into the
newer version.

Thanks

On Sat, 2016-06-25 at 00:03 -0300, Carlos Eduardo P. Guidugli wrote:
> Hi,
> 
> I have a Sapphire Tri-x R9 290 which I used to assign to a Windows
> virtual machine using virt-manager. When I tried to install latest
> drivers, I started to received some BSOD. Reading the forums I found
> the recommendation of using ioh3420. I created a new virtual machine
> based on Q35 and using UEFI, and after some trial and error,
> everything
> works except the R9 290 sound. If I assign audio as -device vfio-
> pci,host=01:00.1,bus=pcie.0,addr=00.1 , I start getting
> video_tdr_failure blue screen. If I change to other address,
> everything
> works except audio from R9 which fails with code 10. Tried to move
> audio to pci.2 and pci.1 and both fails with code 10 as well. If I
> change to pcie.0, it does not show any failure on device manager but
> it
> doesn't really work: if I try to test the audio, it freezes the VM
> for
> some time. I believe I am out of options now. Can someone help me?
> 
> Using Fedora 23 with libvirt 1.2.18 and qemu 2.4.1. Most of the
> parameters below were generated by virsh domxml-to-native.
> 
> Thank you
> 
> LC_ALL=C PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin \
> /usr/bin/qemu-kvm -name Gaming -machine pc-q35-2.4,accel=kvm,usb=off
> \
> -monitor unix:./gaming-sock,server,nowait \
> -cpu host,kvm=off,hv_time,hv_relaxed,hv_vapic,hv_spinlocks=0x1fff \
> -drive file=/etc/edk2/OVMF_CODE-pure-
> efi.fd,if=pflash,format=raw,unit=0,readonly=on \
> -drive
> file=/var/lib/libvirt/qemu/nvram/Gaming_VARS.fd,if=pflash,format=raw,
> un
> it=1 \
> -m 12288 \
> -realtime mlock=off \
> -smp 8,sockets=1,cores=4,threads=2 \
> -uuid 72f43879-1829-456f-b257-366c41234fbe \
> -no-user-config \
> -nodefaults \
> -chardev
> socket,id=charmonitor,path=/var/lib/libvirt/qemu/Gaming.monitor,serve
> r,
> nowait \
> -mon chardev=charmonitor,id=monitor,mode=control \
> -rtc base=localtime,driftfix=slew \
> -global kvm-pit.lost_tick_policy=discard \
> -no-hpet \
> -no-shutdown \
> -global ICH9-LPC.disable_s3=1 \
> -global ICH9-LPC.disable_s4=1 \
> -boot d,menu=on,strict=on \
> -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e \
> -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 \
> -device ich9-usb-ehci1,id=usb,bus=pci.2,addr=0x2.0x7 \
> -device ich9-usb-
> uhci1,masterbus=usb.0,firstport=0,bus=pci.2,multifunction=on,addr=0x2
> \
> -device ich9-usb-
> uhci2,masterbus=usb.0,firstport=2,bus=pci.2,addr=0x2.0x1 \
> -device ich9-usb-
> uhci3,masterbus=usb.0,firstport=4,bus=pci.2,addr=0x2.0x2 \
> -device virtio-scsi-pci,id=scsi0,bus=pci.2,addr=0x4 \
> -device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x3 \
> -drive 'file=/Storage/Data/Softwares/SO
> Images/Windows/Win10_EnglishInternational_x64.iso,if=none,media=cdrom
> ,i
> d=drive-sata0-0-0,readonly=on,format=raw' \
> -device ide-cd,bus=ide.0,drive=drive-sata0-0-0,id=sata0-0-0 \
> -drive 'file=/Storage/Data/Softwares/SO Images/Windows/virtio-
> win.iso,if=none,media=cdrom,id=drive-sata0-0-
> 1,readonly=on,format=raw'
> \
> -device ide-cd,bus=ide.1,drive=drive-sata0-0-1,id=sata0-0-1 \
> -drive file=/opt/kvm/images2/Gaming.qcow2,if=none,id=drive-scsi0-0-0-
> 2,format=qcow2 \
> -device scsi-hd,bus=scsi0.0,channel=0,scsi-id=0,lun=2,drive=drive-
> scsi0-0-0-2,id=scsi0-0-0-2,bootindex=1 \
> -netdev tap,id=hostnet0,script=/etc/ovs-ifup,downscript=/etc/ovs-
> ifdown 
> \
> -device virtio-net-
> pci,netdev=hostnet0,id=net0,mac=52:54:00:22:a1:78,bus=pci.2,addr=0x1
> \
> -chardev pty,id=charserial0 \
> -device isa-serial,chardev=charserial0,id=serial0 \
> -chardev spicevmc,id=charchannel0,name=vdagent \
> -device virtserialport,bus=virtio-
> serial0.0,nr=1,chardev=charchannel0,id=channel0,name=com.redhat.spice
> .0
> \
> -device usb-tablet,id=input0 \
> -spice port=5901,addr=127.0.0.1,disable-ticketing,seamless-
> migration=on 
> \
> -chardev spicevmc,id=charredir0,name=usbredir \
> -device usb-redir,chardev=charredir0,id=redir0 \
> -chardev spicevmc,id=charredir1,name=usbredir \
> -device usb-redir,chardev=charredir1,id=redir1 \
> -device virtio-balloon-pci,id=balloon0,bus=pci.2,addr=0xa \
> -device qxl-
> vga,id=video0,ram_size=67108864,vram_size=67108864,vgamem_mb=16,bus=p
> ci
> e.0,addr=0x1 \
> -msg timestamp=on \
> -device
> ioh3420,bus=pcie.0,addr=1c.0,multifunction=on,port=1,chassis=1,id=roo
> t.
> 1 \
> -device
> ioh3420,bus=pcie.0,multifunction=on,port=2,chassis=2,id=root.2
> \
> -device
> ioh3420,bus=pcie.0,multifunction=on,port=3,chassis=3,id=root.3
> \
> -device vfio-
> pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,romfile=/opt/k
> vm
> /images/Sapphire.R9290.4096.140115_1.rom \
> -device vfio-pci,host=01:00.1,bus=pcie.0,addr=09.0 \
> -device vfio-pci,host=00:1a.0,bus=root.2,addr=00.0 \
> -device vfio-pci,host=00:1b.0,bus=root.3,addr=00.0 &




More information about the vfio-users mailing list