Skip to content
View in the app

A better way to browse. Learn more.

Unraid

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Passing through USB Audio to Win10 VM

Featured Replies

Hey all, I did some research and spent over 8 hours getting my Win10 VM on unRAID working for the most part, then I got stymied on the Steelseries Siberia 350 that I wanted to pass through so the person using the machine could join voice chat games.  At first I was having issues passing through any USB devices until I found the XML tweak for the usb section, so I implemented that then the keyboard and mouse passed through fine.  I just can seem to figure out the headset.  Has anyone been able to get this to work or do you have any recommendations on how to tweak the settings.  I pasted in my XML in case that would help.  If you need any other information let me know!

 

<domain type='kvm' id='1' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>WIN10</name>
  <uuid>604e41e5-7cdc-e945-9e58-e50308d300db</uuid>
  <metadata>
    <vmtemplate name="Custom" icon="windows.png" os="windows"/>
  </metadata>
  <memory unit='KiB'>12582912</memory>
  <currentMemory unit='KiB'>12582912</currentMemory>
  <memoryBacking>
    <nosharepages/>
    <locked/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='3'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.3'>hvm</type>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='4' threads='1'/>
  </cpu>
  <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>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/vDisks/WIN10/vdisk1.img'/>
      <backingStore/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <alias name='virtio-disk2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/ISO/en_windows_10_multiple_editions_version_1511_updated_apr_2016_x64_dvd_8705583.iso'/>
      <backingStore/>
      <target dev='hda' bus='ide'/>
      <readonly/>
      <boot order='2'/>
      <alias name='ide0-0-0'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/ISO/virtio-win-0.1.118.iso'/>
      <backingStore/>
      <target dev='hdb' bus='ide'/>
      <readonly/>
      <alias name='ide0-0-1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='1'/>
    </disk>
    <controller type='usb' index='0'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'>
      <alias name='pci.0'/>
    </controller>
    <controller type='ide' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:63:cc:2a'/>
      <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/0'/>
      <target port='0'/>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/WIN10.org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x045e'/>
        <product id='0x00f0'/>
        <address bus='1' device='6'/>
      </source>
      <alias name='hostdev0'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x0665'/>
        <product id='0x6000'/>
        <address bus='1' device='5'/>
      </source>
      <alias name='hostdev1'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x1038'/>
        <product id='0x1229'/>
        <address bus='1' device='9'/>
      </source>
      <alias name='hostdev2'/>
    </hostdev>
    <hostdev mode='subsystem' type='usb' managed='yes'>
      <source>
        <vendor id='0x05e3'/>
        <product id='0x0745'/>
        <address bus='1' device='2'/>
      </source>
      <alias name='hostdev3'/>
    </hostdev>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='ioh3420,bus=pci.0,addr=1c.0,multifunction=on,port=2,chassis=1,id=root.1'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='vfio-pci,host=01:00.1,bus=root.1,addr=00.1'/>
  </qemu:commandline>
</domain>

 

I appreciate any help  :D

It's not clear from your post what the problem is.

Is the problem that it doesn't show up in the VM, have bad sound, or no sound? Is the headset listed in the XML? Which one is it?

Also post your diagnostics by going to the webgui, tools --> Diagnostics.

  • Author

My apologies for not being clear enough.

 

[*]I have the device plugged into the machine

[*]I have the device selected in the USB list on the VM (see attached image)

[*]I see an unidentified Mass Storage Device, unsure if that is normal (see attached image)

[*]I do not see the headset under sound device

[*]Audio being passed through the Nvidia card via HDMI sounds fine

Selected_device.png.2909da2418ad0629ff83f8a2f611208b.png

USBMassStorage.png.5af1b38f28c21d5cd563b861b82eaeb9.png

tower-diagnostics-20160805-0616.zip

I can see from the qemu log that one of the USB devices have a problem, and it might be the headset.

I can also see problems regarding a USB devices being reset.

Have you tried switching USB ports and disabling USB 3 if you have?

 

You could try to use a USB 3 controller in the VM per instructions in this post.

 

Another thing not really related to USB pass-through. You should not assign all the cores for the VM. Leave at least one for unraid itself.

 

Which version of unraid do you run?

  • Author

I can see from the qemu log that one of the USB devices have a problem, and it might be the headset.

I can also see problems regarding a USB devices being reset.

Have you tried switching USB ports and disabling USB 3 if you have?

I have tried using different plugs, I haven't specifically tried a USB 2 plug (I can try that tonight)

You could try to use a USB 3 controller in the VM per instructions in this post.

Interesting, at one point in time I had applied this patch, is it possible that if you manually go into the edit and check / uncheck devices does it reset this setting?

Another thing not really related to USB pass-through. You should not assign all the cores for the VM. Leave at least one for unraid itself.

I'll do that also tonight

Which version of unraid do you run?

6.1.9

I can see from the qemu log that one of the USB devices have a problem, and it might be the headset.

I can also see problems regarding a USB devices being reset.

Have you tried switching USB ports and disabling USB 3 if you have?

I have tried using different plugs, I haven't specifically tried a USB 2 plug (I can try that tonight)

You could try to use a USB 3 controller in the VM per instructions in this post.

Interesting, at one point in time I had applied this patch, is it possible that if you manually go into the edit and check / uncheck devices does it reset this setting?

Another thing not really related to USB pass-through. You should not assign all the cores for the VM. Leave at least one for unraid itself.

I'll do that also tonight

Which version of unraid do you run?

6.1.9

 

If you edit the XML and then go edit the VM Template you loose the changes to the XML you did.

 

If you don't get it to work, you could try the latest 6.2RC to see if it resolves the problem.

Archived

This topic is now archived and is closed to further replies.

Account

Navigation

Search

Search

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.