[vfio-users] SB X-Fi Titanium passthrough

Peter Flynn ptf.peterflynn at gmail.com
Sat Mar 12 04:00:25 UTC 2016


Having the exact same issue here. Nearly identical, except for the fact
that I'm experiencing it on Windows 10. I've tried Windows 7 as well,
thinking it was 10's fault, but with no success, as you might have guessed.
The card doesn't seem to be sharing its IRQ on my system, and it looks like
it spammed interrupts, as Windows was starting, until it was disabled by
the kernel. Again, this only happens with the official drivers, so there
must be something that they utilize that the generic drivers do not.

On Mon, Feb 8, 2016 at 11:25 PM, Daniel Browne <jairuncaloth gmail com>
 wrote:

> Hello,
> I have a Win7 x64 Pro guest on a Fedora 22 host. Using VFIO-PCI to pass
> through my graphics and audio cards. I'm managing my VMs through VMM. It's
> been up and running for months mostly successfully except for one stupid
> little problem I haven't been able to solve.
> I've been attempting to get my Creative X-Fi Titanium sound card working
> correctly in the guest. If I let windows use generic drivers, it works well
> enough to provide basic audio (occasionally the audio just crashes and the
> system has to be rebooted before it works again but that's somewhat rare).
> I wanted to install the official drivers to take advantage of the card's
> full capabilities (such as surround emulation for headphones).
> Once I install the official drivers, the device shows up in device
> manager, volume controls are there, windows says the device is working, but
> audio doesn't work. Attempting to play a test in the speaker properties
> results in an error 'failed to play test tone'. I've gone through all the
> standard hints and tips and tricks I've been able to find to get the
> drivers working in Win7.
> I'm starting to suspect some kind of resource conflict. Sometimes upon
> boot after installing drivers my keyboard will fail to function. Boot up
> takes much longer than normal as well. In the linux console, I'll see
> messages pop up such as "kernel:Disabling IRQ #11". My most recent attempt
> involved enabling MSI as described here
> http://vfio.blogspot.com/2014/09/vfio-interrupts-and-how-to-coax-windows.html?m=1 thinking
> it might be related. While the guest OS happily switches it over to MSI, it
> doesn't help.
> This forum thread shows another person in a similar situation.
> https://lime-technology.com/forum/index.php?topic=42459.0
> I'm pretty much out of ideas. If anyone has anything else I'd love to hear
> it.
> Including any relevant config info I can think of below:
> Mobo: ASRock Z97 Pro4
> CPU: i7-4790K
> $ uname -r
> 4.2.8-200.fc22.x86_64
> GRUB_CMDLINE_LINUX="rhgb quiet intel_iommu=on splash
> pci-stub.ids=10de:13c2,10de:0fbb,1102:000b pcie_acs_override=downstream"
> $ lspci
> 00:00.0 Host bridge: Intel Corporation 4th Gen Core Processor DRAM
> Controller (rev 06)
> 00:01.0 PCI bridge: Intel Corporation Xeon E3-1200 v3/4th Gen Core
> Processor PCI Express x16 Controller (rev 06)
> 00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th
> Gen Core Processor Integrated Graphics Controller (rev 06)
> 00:03.0 Audio device: Intel Corporation Xeon E3-1200 v3/4th Gen Core
> Processor HD Audio Controller (rev 06)
> 00:14.0 USB controller: Intel Corporation 9 Series Chipset Family USB xHCI
> Controller
> 00:16.0 Communication controller: Intel Corporation 9 Series Chipset
> Family ME Interface #1
> 00:19.0 Ethernet controller: Intel Corporation Ethernet Connection (2)
> I218-V
> 00:1a.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI
> Controller #2
> 00:1c.0 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express
> Root Port 1 (rev d0)
> 00:1c.2 PCI bridge: Intel Corporation 82801 PCI Bridge (rev d0)
> 00:1c.7 PCI bridge: Intel Corporation 9 Series Chipset Family PCI Express
> Root Port 8 (rev d0)
> 00:1d.0 USB controller: Intel Corporation 9 Series Chipset Family USB EHCI
> Controller #1
> 00:1f.0 ISA bridge: Intel Corporation 9 Series Chipset Family Z97 LPC
> Controller
> 00:1f.2 SATA controller: Intel Corporation 9 Series Chipset Family SATA
> Controller [AHCI Mode]
> 00:1f.3 SMBus: Intel Corporation 9 Series Chipset Family SMBus Controller
> 01:00.0 VGA compatible controller: NVIDIA Corporation GM204 [GeForce GTX
> 970] (rev a1)
> 01:00.1 Audio device: NVIDIA Corporation GM204 High Definition Audio
> Controller (rev a1)
> 03:00.0 PCI bridge: ASMedia Technology Inc. ASM1083/1085 PCIe to PCI
> Bridge (rev 03)
> 05:00.0 Audio device: Creative Labs EMU20k2 [X-Fi Titanium Series] (rev 04)
> <domain type='kvm' id='6'>
>   <name>win7</name>
>   <uuid>54b2fed9-e7d8-4624-a674-ec355e76eb32</uuid>
>   <title>TheBria-VM</title>
>   <description>Win7 with pcie passthrough</description>
>   <memory unit='KiB'>12582912</memory>
>   <currentMemory unit='KiB'>12582912</currentMemory>
>   <vcpu placement='static'>4</vcpu>
>   <cputune>
>     <vcpupin vcpu='0' cpuset='2'/>
>   </cputune>
>   <resource>
>     <partition>/machine</partition>
>   </resource>
>   <os>
>     <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type>
>     <loader readonly='yes'
> type='pflash'>/usr/share/edk2.git/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
>     <nvram>/var/lib/libvirt/qemu/nvram/win7_VARS.fd</nvram>
>     <boot dev='hd'/>
>   </os>
>   <features>
>     <acpi/>
>     <apic/>
>     <pae/>
>     <kvm>
>       <hidden state='on'/>
>     </kvm>
>   </features>
>   <cpu mode='host-passthrough'/>
>   <clock offset='localtime'>
>     <timer name='rtc' tickpolicy='catchup'/>
>     <timer name='pit' tickpolicy='delay'/>
>     <timer name='hpet' present='no'/>
>   </clock>
>   <on_poweroff>destroy</on_poweroff>
>   <on_reboot>restart</on_reboot>
>   <on_crash>restart</on_crash>
>   <pm>
>     <suspend-to-mem enabled='no'/>
>     <suspend-to-disk enabled='no'/>
>   </pm>
>   <devices>
>     <emulator>/usr/bin/qemu-kvm</emulator>
>     <disk type='file' device='disk'>
>       <driver name='qemu' type='raw'/>
>       <source file='/home/dbrowne/storage/ssd/win7.qcow2'/>
>       <backingStore/>
>       <target dev='sdc' bus='scsi'/>
>       <alias name='scsi0-0-0-2'/>
>       <address type='drive' controller='0' bus='0' target='0' unit='2'/>
>     </disk>
>     <disk type='block' device='cdrom'>
>       <driver name='qemu' type='raw'/>
>       <backingStore/>
>       <target dev='hda' bus='ide'/>
>       <readonly/>
>       <alias name='ide0-0-0'/>
>       <address type='drive' controller='0' bus='0' target='0' unit='0'/>
>     </disk>
>     <controller type='usb' index='0' model='ich9-ehci1'>
>       <alias name='usb0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
> function='0x7'/>
>     </controller>
>     <controller type='usb' index='0' model='ich9-uhci1'>
>       <alias name='usb0'/>
>       <master startport='0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
> function='0x0' multifunction='on'/>
>     </controller>
>     <controller type='usb' index='0' model='ich9-uhci2'>
>       <alias name='usb0'/>
>       <master startport='2'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
> function='0x1'/>
>     </controller>
>     <controller type='usb' index='0' model='ich9-uhci3'>
>       <alias name='usb0'/>
>       <master startport='4'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x05'
> function='0x2'/>
>     </controller>
>     <controller type='pci' index='0' model='pci-root'>
>       <alias name='pci.0'/>
>     </controller>
>     <controller type='ide' index='0'>
>       <alias name='ide0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x01'
> function='0x1'/>
>     </controller>
>     <controller type='scsi' index='0' model='virtio-scsi'>
>       <alias name='scsi0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x06'
> function='0x0'/>
>     </controller>
>     <interface type='bridge'>
>       <mac address='de:ad:be:ef:7a:10'/>
>       <source bridge='br0'/>
>       <target dev='vnet0'/>
>       <model type='virtio'/>
>       <alias name='net0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x02'
> function='0x0'/>
>     </interface>
>     <serial type='pty'>
>       <source path='/dev/pts/2'/>
>       <target port='0'/>
>       <alias name='serial0'/>
>     </serial>
>     <console type='pty' tty='/dev/pts/2'>
>       <source path='/dev/pts/2'/>
>       <target type='serial' port='0'/>
>       <alias name='serial0'/>
>     </console>
>     <hostdev mode='subsystem' type='usb' managed='yes'>
>       <source>
>         <vendor id='0x0556'/>
>         <product id='0x0001'/>
>         <address bus='1' device='2'/>
>       </source>
>       <alias name='hostdev0'/>
>     </hostdev>
>     <hostdev mode='subsystem' type='usb' managed='yes'>
>       <source>
>         <vendor id='0x046d'/>
>         <product id='0xc07d'/>
>         <address bus='1' device='4'/>
>       </source>
>       <alias name='hostdev1'/>
>     </hostdev>
>     <hostdev mode='subsystem' type='usb' managed='yes'>
>       <source>
>         <vendor id='0x1532'/>
>         <product id='0x010e'/>
>         <address bus='1' device='5'/>
>       </source>
>       <alias name='hostdev2'/>
>     </hostdev>
>     <hostdev mode='subsystem' type='pci' managed='yes'>
>       <driver name='vfio'/>
>       <source>
>         <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
>       </source>
>       <alias name='hostdev3'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x03'
> function='0x0'/>
>     </hostdev>
>     <hostdev mode='subsystem' type='pci' managed='yes'>
>       <driver name='vfio'/>
>       <source>
>         <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
>       </source>
>       <alias name='hostdev4'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x04'
> function='0x0'/>
>     </hostdev>
>     <hostdev mode='subsystem' type='usb' managed='yes'>
>       <source>
>         <vendor id='0x1b1c'/>
>         <product id='0x0c02'/>
>         <address bus='1' device='3'/>
>       </source>
>       <alias name='hostdev5'/>
>     </hostdev>
>     <hostdev mode='subsystem' type='pci' managed='yes'>
>       <driver name='vfio'/>
>       <source>
>         <address domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
>       </source>
>       <alias name='hostdev6'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x07'
> function='0x0'/>
>     </hostdev>
>     <redirdev bus='usb' type='spicevmc'>
>       <alias name='redir0'/>
>     </redirdev>
>     <redirdev bus='usb' type='spicevmc'>
>       <alias name='redir1'/>
>     </redirdev>
>     <memballoon model='virtio'>
>       <alias name='balloon0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x08'
> function='0x0'/>
>     </memballoon>
>     <rng model='virtio'>
>       <backend model='random'>/dev/random</backend>
>       <alias name='rng0'/>
>       <address type='pci' domain='0x0000' bus='0x00' slot='0x09'
> function='0x0'/>
>     </rng>
>   </devices>
>   <seclabel type='dynamic' model='selinux' relabel='yes'>
>     <label>system_u:system_r:svirt_t:s0:c261,c401</label>
>     <imagelabel>system_u:object_r:svirt_image_t:s0:c261,c401</imagelabel>
>   </seclabel>
> </domain>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/vfio-users/attachments/20160311/9ebcda72/attachment.htm>


More information about the vfio-users mailing list