Ignitenz Posted July 16, 2016 Share Posted July 16, 2016 Having problems with Audio. I can't figure this out. I have everything in UnRAID working perfectly except Audio. When I play music and even system sounds I get random micro cuts in the audio, static noises and pops/clicks, along with the "underwater" sound but only for a micro second, it's never prolonged but is always noticeable. I don't think it's the MSI problem, becuase of this; it says MSI Enable-. lspci -vvv 00:1f.3 Audio device: Intel Corporation Sunrise Point-H HD Audio (rev 31) Subsystem: ASRock Incorporation Sunrise Point-H HD Audio Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 32 Interrupt: pin A routed to IRQ 16 Region 0: Memory at df340000 (64-bit, non-prefetchable) [size=16K] Region 4: Memory at df320000 (64-bit, non-prefetchable) [size=64K] Capabilities: [50] Power Management version 3 Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0-,D1-,D2-,D3hot+,D3cold+) Status: D0 NoSoftRst+ PME-Enable- DSel=0 DScale=0 PME- Capabilities: [60] MSI: Enable- Count=1/1 Maskable- 64bit+ Address: 0000000000000000 Data: 0000 Kernel driver in use: vfio-pci I have an i5-6600 with cores 1, 2 and 3 passed through to my Windows 10 VM, Core 0 is assigned to other VM's. I don't think it's a CPU problem. My Average CPU load never goes over 50% and when I run htop my system load is always ~1.7 or less. I've never seen it at 2. I have 48gb of RAM, and 16 of that is assigned to my VM. Here's my XML for my VM: <domain type='kvm' id='8'> <name>Nick-Desktop</name> <uuid>52e75470-0b77-15e5-24c6-a5a8d93e6823</uuid> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="windows.png" os="windows10"/> </metadata> <memory unit='KiB'>16777216</memory> <currentMemory unit='KiB'>16777216</currentMemory> <memoryBacking> <nosharepages/> <locked/> </memoryBacking> <vcpu placement='static'>3</vcpu> <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='2'/> <vcpupin vcpu='2' cpuset='3'/> </cputune> <resource> <partition>/machine</partition> </resource> <os> <type arch='x86_64' machine='pc-i440fx-2.5'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/52e75470-0b77-15e5-24c6-a5a8d93e6823_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough'> <topology sockets='1' cores='3' 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/local/sbin/qemu</emulator> <disk type='file' device='disk'> <driver name='qemu' type='raw' cache='writeback'/> <source file='/mnt/cache/FastVDisk/Windows 10/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/ISOs/Win10_1511_2_English_x64.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/ISOs/virtio-win-0.1.118-1.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' model='nec-xhci'> <alias name='usb'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0'/> </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:00:f9:b0'/> <source bridge='br0'/> <target dev='vnet1'/> <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/1'/> <target port='0'/> <alias name='serial0'/> </serial> <console type='pty' tty='/dev/pts/1'> <source path='/dev/pts/1'/> <target type='serial' port='0'/> <alias name='serial0'/> </console> <channel type='unix'> <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-Nick-Desktop/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='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/> </source> <alias name='hostdev0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x1f' function='0x3'/> </source> <alias name='hostdev1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x00' slot='0x14' function='0x0'/> </source> <alias name='hostdev2'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/> </hostdev> <memballoon model='virtio'> <alias name='balloon0'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </memballoon> </devices> </domain> Any ideas on what I can do next? I've tried default windows drivers and the Realtek drivers, too. I've tried the audio quality fix in control panel (changing the sound quality to a different Bit Rate/kHZ too, to no avail. Any idea? Quote Link to comment
saarg Posted July 16, 2016 Share Posted July 16, 2016 Msi is not enabled, so try enabling that before trying anything else. Quote Link to comment
SpaceInvaderOne Posted July 16, 2016 Share Posted July 16, 2016 Msi is not enabled, so try enabling that before trying anything else. Use this programme to easily enable msi for your sound. Unzip and run as administrator https://www.dropbox.com/s/gymaipg6vprd508/MSI_util.zip?dl=0 1 Quote Link to comment
saarg Posted July 16, 2016 Share Posted July 16, 2016 Msi is not enabled, so try enabling that before trying anything else. Use this programme to easily enable msi for your sound. Unzip and run as administrator https://www.dropbox.com/s/gymaipg6vprd508/MSI_util.zip?dl=0 Thanks, I was too lazy to find it for him Quote Link to comment
Ignitenz Posted July 16, 2016 Author Share Posted July 16, 2016 Thanks. I did this. It has made somewhat of a difference but it's still not perfect. I have USB headset and the audio out of that is 100% perfect, so that's weird? Quote Link to comment
saarg Posted July 16, 2016 Share Posted July 16, 2016 I have always had problems passing through only a USB audio device. For perfect playback/sound you have to pass through a USB controller and then connect the audio device. Quote Link to comment
Ignitenz Posted July 17, 2016 Author Share Posted July 17, 2016 I have always had problems passing through only a USB audio device. For perfect playback/sound you have to pass through a USB controller and then connect the audio device. What I'm referring to is that passing through my integrated Audio controller causes issues, but when I pass through my USB Audio device I have no problems. Quote Link to comment
SpaceInvaderOne Posted July 17, 2016 Share Posted July 17, 2016 I have always had problems passing through only a USB audio device. For perfect playback/sound you have to pass through a USB controller and then connect the audio device. What I'm referring to is that passing through my integrated Audio controller causes issues, but when I pass through my USB Audio device I have no problems. It looks like you are not using hyper-thread pairs <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='2'/> <vcpupin vcpu='2' cpuset='3'/> </cputune> Check your thread pairs in settings system devices. your pairs will be 0 ------4 physical core 1 1 ------5 physical core 2 2 ------6 physical core 3 3 ------7 physical core 4 Only use pairs, do not use one hyperthread of a core or else you will get latency. So if you use 1 also use 5. If you assign 5 to something else that physical core 2 is split between 2 different processes and will be a performance hit. It has no relationship to the load on the cores so your max load being only 50% isnt an indictation your vcpu assignments are okay. I would try to pin emulator tasks to another core not used by the vm aswell. It helps alot of people get better performance. read dlandon's excellent post http://lime-technology.com/forum/index.php?topic=49051.msg470454#msg470454 Quote Link to comment
saarg Posted July 17, 2016 Share Posted July 17, 2016 I have always had problems passing through only a USB audio device. For perfect playback/sound you have to pass through a USB controller and then connect the audio device. What I'm referring to is that passing through my integrated Audio controller causes issues, but when I pass through my USB Audio device I have no problems. Yeah, I read that as isn't 100% Quote Link to comment
Ignitenz Posted July 18, 2016 Author Share Posted July 18, 2016 I have always had problems passing through only a USB audio device. For perfect playback/sound you have to pass through a USB controller and then connect the audio device. What I'm referring to is that passing through my integrated Audio controller causes issues, but when I pass through my USB Audio device I have no problems. It looks like you are not using hyper-thread pairs <cputune> <vcpupin vcpu='0' cpuset='1'/> <vcpupin vcpu='1' cpuset='2'/> <vcpupin vcpu='2' cpuset='3'/> </cputune> Check your thread pairs in settings system devices. your pairs will be 0 ------4 physical core 1 1 ------5 physical core 2 2 ------6 physical core 3 3 ------7 physical core 4 Only use pairs, do not use one hyperthread of a core or else you will get latency. So if you use 1 also use 5. If you assign 5 to something else that physical core 2 is split between 2 different processes and will be a performance hit. It has no relationship to the load on the cores so your max load being only 50% isnt an indictation your vcpu assignments are okay. I would try to pin emulator tasks to another core not used by the vm aswell. It helps alot of people get better performance. read dlandon's excellent post http://lime-technology.com/forum/index.php?topic=49051.msg470454#msg470454 Thanks for the assistance, but my CPU does not support hyper threading Quote Link to comment
MadMage999 Posted March 27, 2018 Share Posted March 27, 2018 MSI did the trick for me on ASUS M5A97 LE R2.0 with Realtek ALC887 integrated sound. Quote Link to comment
T-Birth Posted May 23, 2022 Share Posted May 23, 2022 Helped me in 2022, too. Thx. Quote Link to comment
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.