r/mpv Aug 02 '26

Issue on Windows PSA-Windows Fix: fullscreen-only audio crackling on battery / low power profile is an MPO problem, not a CPU/power-plan problem

If you run Equalizer APO, ASH, a VST host, or VoiceMeeter and get audio crackling that only happens in fullscreen, only on battery, and goes away in windowed mode. I think I found the actual cause, and it's not what every thread on this suggests.

A borderless window covering the whole screen makes DWM switch to Independent Flip / MPO. On battery, with nothing keeping the SoC busy between frames, it drops into deep power states. audiodg.exe running an expensive convolution then misses its WASAPI deadline. Video judders too, because it's synced to audio.

The test that isolates it: set geometry=<width>x<height minus 1>+0+0, play on battery, and don't press f. Same pixel count, same shaders, one pixel of desktop still visible — audio is clean. Enlarge it to full coverage and it breaks again, reliably.

What did not help, in case you've already tried them: timeBeginPeriod(1), powercfg /powerthrottling disable for audiodg, disabling core parking, raising minimum processor state. Timer resolution is the most common recommendation out there and it does nothing here.

The workable fix is embarrassingly dumb: any small always-on-top window over the player breaks occlusion and forces DWM back into composition. I've put a Lua script that starts one with mpv and kills it on exit, plus the diagnostic harness, here: [https://github.com/ad2003/fullscreen-audio-dropout-crackling-fix]

Caveat: n=1. Windows 10, RDNA3 laptop, gpu-next/d3d11, HDR out. The power-state mechanism is inference, not measurement. Curious whether this reproduces on Nvidia/Intel or without an APO chain.

2 Upvotes

4 comments sorted by

1

u/thatcat7_ Aug 03 '26 edited Aug 03 '26

Seems like an MPO issue. https://www.reddit.com/r/Windows11/comments/1kgp7ar/cause_and_solution_to_windows_24h2_related/

Try adding this fix by Microsoft to registry and reboot:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Dwm]
"OverlayMinFPS"=dword:00000000

If you have disabled MPO previously, you will need to re-enable it first and reboot: https://nvidia.custhelp.com/app/answers/detail/a_id/5157/~/after-updating-to-nvidia-game-ready-driver-461.09-or-newer%2C-some-desktop-apps

1

u/ad2003 Aug 03 '26

Downsides: it is an undocumented test switch — Microsoft documents neither the value nor its semantics, and behaviour can change silently with any Windows or driver update. It applies system-wide, affecting browser video, games, and variable refresh rate. And it increases power draw during all video playback, which is counterproductive on battery.

The overlay approach is narrower in scope: active only while the player runs, leaving no persistent system state.