mostlydave Posted November 3, 2015 Posted November 3, 2015 I have had my windows 10 gaming VM setup and running great for several months. All of the sudden I'm having audio issues. I'll watch a couple youtube videos or start to play a game and my audio stutter/slows down like it's in slow motion. The only changes I have made recently are cranking up the ram dedicated to the VM, I've got 24 GB installed with 16 going to this VM. Below is the XML, anyone have any ideas? <domain type='kvm' id='9' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>Aryll</name> <uuid>5105bd78-05d5-63e5-edcb-6d375bf1b7aa</uuid> <metadata> <vmtemplate name="Custom" icon="windows.png" os="windows"/> </metadata> <memory unit='KiB'>16777216</memory> <currentMemory unit='KiB'>16777216</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='2'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='4'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> </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='6' 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/disks/ssd1/Aryll/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/tmp/VM Installation Media/Rescue.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/tmp/VM Installation Media/virtio-win-0.1.105.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:4a:fb:44'/> <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/Aryll.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/> <alias name='channel0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <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=02:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=02:00.1,bus=root.1,addr=00.1'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=00:14.0,bus=root.1,addr=00.2'/> </qemu:commandline> </domain> Quote
united418 Posted November 3, 2015 Posted November 3, 2015 same issue here. I tried Win7 and Win8. GPU : MSI GTX 970. MOBO : Inter DX58SO I7 940 Memory : 24 GB Everything runs fine on statup but randomly I got my audio stutter/slow down like mostlydave said. Sound get in slow motion. Graphics get slower too but not much. Need to restart the VM to get audio works without distortion. Happen most of the time with host passthrough instead of QEMU64 emulated <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'> <name>win78vm2</name> <uuid>3a4e57fe-bb4d-d4f7-5cb4-99a3502d54b6</uuid> <metadata> <vmtemplate name="Custom" icon="windows7.png" os="windows7"/> </metadata> <memory unit='KiB'>10485760</memory> <currentMemory unit='KiB'>10485760</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>6</vcpu> <cputune> <vcpupin vcpu='0' cpuset='2'/> <vcpupin vcpu='1' cpuset='3'/> <vcpupin vcpu='2' cpuset='4'/> <vcpupin vcpu='3' cpuset='5'/> <vcpupin vcpu='4' cpuset='6'/> <vcpupin vcpu='5' cpuset='7'/> </cputune> <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='6' 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/appdata/win78vm2/vdisk1.img'/> <target dev='hdc' bus='virtio'/> <boot order='1'/> <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/PC/Microsoft.Windows.7.Enterprise.x86.SP1.Integrated.June.2012-BIE/bie786612.iso'/> <target dev='hda' bus='ide'/> <readonly/> <boot order='2'/> <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/PC/VMs/virtio-win-0.1.96.iso'/> <target dev='hdb' bus='ide'/> <readonly/> <address type='drive' controller='0' bus='0' target='0' unit='1'/> </disk> <controller type='usb' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/> </controller> <controller type='pci' index='0' model='pci-root'/> <controller type='ide' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/> </controller> <controller type='virtio-serial' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/> </controller> <interface type='bridge'> <mac address='52:54:00:bb:03:3a'/> <source bridge='br0'/> <model type='virtio'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </interface> <serial type='pty'> <target port='0'/> </serial> <console type='pty'> <target type='serial' port='0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/win78vm2.org.qemu.guest_agent.0'/> <target type='virtio' name='org.qemu.guest_agent.0'/> <address type='virtio-serial' controller='0' bus='0' port='1'/> </channel> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x046d'/> <product id='0xc52b'/> </source> </hostdev> <hostdev mode='subsystem' type='usb' managed='yes'> <source> <vendor id='0x045e'/> <product id='0x0291'/> </source> </hostdev> <memballoon model='virtio'> <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=02:00.0,bus=root.1,addr=00.0,multifunction=on,x-vga=on'/> <qemu:arg value='-device'/> <qemu:arg value='vfio-pci,host=02:00.1,bus=root.1,addr=00.1'/> </qemu:commandline> </domain> Any help on this will be appreciated Quote
jonp Posted November 3, 2015 Posted November 3, 2015 If you are trying to pump audio through HDMI on the video card itself, you need to apply the MSI audio fix which is spelled out here. This will solve the "demonic audio" issue as some have come to call it. http://lime-technology.com/wiki/index.php/UnRAID_6/VM_Guest_Support#Enable_MSI_for_Interrupts_to_Fix_HDMI_Audio_Support Quote
united418 Posted November 3, 2015 Posted November 3, 2015 In my case I use the audio through HDMI and I could probably call it that way "demonic audio" . I'll try it right away . Quote
jonp Posted November 3, 2015 Posted November 3, 2015 In my case I use the audio through HDMI and I could probably call it that way "demonic audio" . I'll try it right away . Guaranteed to resolve your issue. This is a known issue. Quote
mostlydave Posted November 3, 2015 Author Posted November 3, 2015 Thanks jonp! I actually found the original demonic audio post and enabled msi for my video card, but I didn't enable it for the audio device itself, that seems to have done the trick! I reccomend this tool from the instruction page for enabling MSI, it's way easier (and safer) than messing with the registry: Edit: Here is utility for switching MSI-mode http://www.mediafire.com/download/hr...i/MSI_util.zip Quote
united418 Posted November 3, 2015 Posted November 3, 2015 got it work too. before Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+ and now Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ using the tools. I will need to confirm that demonize sound will not come back. Quote
united418 Posted November 4, 2015 Posted November 4, 2015 just a quick feedback.. tx jonp , it works Quote
jonp Posted November 4, 2015 Posted November 4, 2015 just a quick feedback.. tx jonp , it works As if there was a doubt! Quote
SpaceInvaderOne Posted November 4, 2015 Posted November 4, 2015 I also had that problemon both 750ti and 950 so just passed through the on board sound instead. I will try this method now. Quote
bungee91 Posted November 6, 2015 Posted November 6, 2015 Something to keep in mind.. When I update my graphics drivers, this gets reverted to non MSI. I'm not certain why that is the case, but with my GT720's I've confirmed this in Windows 10. Also that tool linked a couple of posts up is a really nice way to do this as opposed to creating the registry entry manually! Hopefully we can figure out a way to force this to stay enabled even when updating drivers. Quote
jonp Posted November 6, 2015 Posted November 6, 2015 Something to keep in mind.. When I update my graphics drivers, this gets reverted to non MSI. I'm not certain why that is the case, but with my GT720's I've confirmed this in Windows 10. Also that tool linked a couple of posts up is a really nice way to do this as opposed to creating the registry entry manually! Hopefully we can figure out a way to force this to stay enabled even when updating drivers. Interesting observation on it changing back! I will need to double check my systems for that. I generally prefer to use the onboard analog audio for my two Windows setups, but for a media center, that's not realistic, I realize that, and sometimes you legitimately just want to use HDMI audio. I'm going to have to check that tool out too and if all's good, I'll probably link that in the wiki and write up a guide using that as opposed to the manual way. Quote
crash987_9 Posted May 23, 2016 Posted May 23, 2016 sorry to bring a post back from the dead, i am having thr same problem with a 980Ti. i went to try get the app to fix this problem but it looks like the link is down. If anyone still has it could you please link me to were i could find it Thanks Quote
SpaceInvaderOne Posted May 23, 2016 Posted May 23, 2016 sure heres my dropbox link https://www.dropbox.com/s/gymaipg6vprd508/MSI_util.zip?dl=0 Quote
KeeNuM23 Posted July 19, 2019 Posted July 19, 2019 You guys are awesome. The MSI_util worked perfectly after a check, apply, and reboot! Quote
whoDat Posted December 2, 2021 Posted December 2, 2021 This MSI fix doesn't appear to work on a Windows 11 VM? It did work on my Windows 10 VM many moons ago, however on this new Windows 11 VM, after making the change (tried both the app and manual reg edit), I still get the crackling / demonic audio after playing music on youtube for awhile (It works fine for the first few minutes). Also when I launch the game "New World" I get the crackling audio right away. I did confirm it is enabled: root@Watcher:~# lspci -v -s 1:00.1 01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1) Subsystem: eVga.com. Corp. GP104 High Definition Audio Controller Flags: bus master, fast devsel, latency 0, IRQ 161, IOMMU group 15 Memory at df080000 (32-bit, non-prefetchable) [size=16K] Capabilities: [60] Power Management version 3 Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+ Capabilities: [78] Express Endpoint, MSI 00 Capabilities: [100] Advanced Error Reporting Kernel driver in use: vfio-pci Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.