I am having problems with audio distortion in Windows 10, but it varies in severity between apps. Foobar2000 is very heavily distorted on most tracks, with buzzes and skips. Windows Media Player also plays distorted, but it seems to take longer for it to get bad. Groove Music on the other hand, sounds mostly fine (maybe some very slight skipping). I am running Windows 10 under KVM with pci passthrough, but so far I don't see any reason to think that KVM/passthrough is the problem. I am on a Ryzen Threadripper 1950x with 32GB RAM given to Windows.
My troubleshooting attempts thus far have revealed:
- Due to some earlier issues I had, I thought it might be related to playing audio over the network. However, I get the same problem when I play off the local HD as when I play off my NAS.
- Other machines play of the NAS without issue.
- The audio issue happens with HDMI output and USB-DAC output.
- It is associated with system interrupts showing prominently in the Resource Manager.
- The same hardware is fine under Linux.
- The same hardware was fine under Windows 10 for the past year with the same setup.
- I was using PCI passthrough to give Windows access to my USB and video cards, although I have given the USB card to another VM as I suspected it of causing problems.
- I have tried turning off all audio enhancements in the control panel.
- I have tried uninstalling the HD audio drivers and letting them reinstall.
- I tried the newest version of the AMD drivers is addition to the stable one.
- I turned on MSI interrupts for my HD audio device, no luck. They are already on for all the rest of the potentially relevant stuff I checked.
- Disabling my network driver, Intel 92574L v12.17.10.8, appeared to reduce DPC latencies a little according to DCP latency checker, but did not fix the audio issue.
- I switched to the netKVM virtio driver, and that helped somewhat, but sound in Foobar2000 is still awful.
- Windows Performance Analyzer shows that some variation in which is responsible for the lion's share of DPC/ISR. The first time I tried this,
ntoskml.exe
was on top. The top sub-process under that wasntdll.dll!<symbols disabled>
, under which wasatikmdag.sys
. Foobar.exe and ntoskml.exe were also prominent. - I tried switch to a different video card (NVIDA instead of AMD), but the problem was the same, except that now the NVIDIA drivers were prominent in DPC/ISR.
Here are some screenshots with Windows performance analyzer with two different GPUs providing the HDMI audio output. In both cases, the computer was idle for the first part, I played the crappy Foobar2000 audio in the middle, and then let it idle for a bit at the end. Looking at DPC latency showed high latencies the whole time, but a big increase when playing audio.
I'm not really sure where to go from here. I am under the impression that symbols could help me get more detail, but I don't understand which symbols to get or where/how to use them.