PR #453: Improve PulseAudio playback stability
Pre-release
Pre-release
PR #453
Title: Improve PulseAudio playback stability
Source PR: WinNative-Emu/WinNative#453
Source branch: pulse-audio-stability
Source commit: c7cd901c9b36ee1c76d825a3de2ef50f37521a7b
Build workflow run: https://github.com/WinNative-Emu/WinNative/actions/runs/26319576523
What This PR Is About
- Adds PulseAudio runtime options for latency, fragments, sample rate, channel count, sink volume, and AAudio performance mode through existing env vars.
- Configures the bundled Pulse daemon for the Android native output sample rate by default, 10 ms fragments, 40 ms client latency, no flat volumes, no deferred volume, and lightweight resampling.
- Keeps Pulse default volume at unity gain while preserving env overrides for device-specific volume tuning.
- Adds explicit daemon channel-map defaults for mono and stereo output without passing unsupported channel-map arguments to module-aaudio-sink.
- Patches the bundled AAudio sink performance-mode immediate at runtime so Pulse defaults to a less underrun-prone mode while still allowing low-latency override.
- Propagates the selected Pulse latency to Wine clients through PULSE_LATENCY_MSEC unless the user already sets it.
- Fixes the non-arm64 Pulse LD_LIBRARY_PATH system library path.
- Makes audio perfect for Metaphor: ReFantazio.
- Validated with .\gradlew.bat :app:compileStandardDebugJavaWithJavac.
Attached Artifacts
- WinNative-Debug-Standard-PR.453-c7cd9.apk
- WinNative-Debug-Ludashi-PR.453-c7cd9.apk
- WinNative-Debug-Pubg-PR.453-c7cd9.apk
Built from source commit c7cd9.