Skip to content

PR #453: Improve PulseAudio playback stability

Pre-release
Pre-release

Choose a tag to compare

released this 23 May 01:08

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.