From 097b67d7e1c853a10264352e4f8035182c8a15f5 Mon Sep 17 00:00:00 2001 From: The412Banner Date: Wed, 23 Sep 2026 10:53:40 -0400 Subject: [PATCH] DirectAudio on by default Everyone who never touched the toggle gets it; anyone who turned it off keeps it off (the setting is only stored when changed). Off, the client's sound came from AAudio driven inside proot, which stutters on some devices. --- .../main/java/com/steamdeck/launcher/core/DeviceReport.kt | 2 +- .../java/com/steamdeck/launcher/session/SessionPrefs.kt | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/steamdeck/launcher/core/DeviceReport.kt b/app/src/main/java/com/steamdeck/launcher/core/DeviceReport.kt index 4bde1448a..a23c36458 100644 --- a/app/src/main/java/com/steamdeck/launcher/core/DeviceReport.kt +++ b/app/src/main/java/com/steamdeck/launcher/core/DeviceReport.kt @@ -146,7 +146,7 @@ object DeviceReport { k("FEX preset", SessionPrefs.fexPreset(context).ifEmpty { "FEX defaults" }) k("Skip xalia", SessionPrefs.noXalia(context)) k("proot without seccomp", SessionPrefs.prootNoSeccomp(context)) - k("DirectAudio for games", SessionPrefs.directAudio(context)) + k("DirectAudio (games and client)", SessionPrefs.directAudio(context)) k("Microphone", SessionPrefs.micEnabled(context)) k("On-screen controls", SessionPrefs.oscMode(context)) k("Touch mode", SessionPrefs.touchMode(context)) diff --git a/app/src/main/java/com/steamdeck/launcher/session/SessionPrefs.kt b/app/src/main/java/com/steamdeck/launcher/session/SessionPrefs.kt index 10372c47d..1dec83576 100644 --- a/app/src/main/java/com/steamdeck/launcher/session/SessionPrefs.kt +++ b/app/src/main/java/com/steamdeck/launcher/session/SessionPrefs.kt @@ -69,10 +69,10 @@ object SessionPrefs { } /** - * DirectAudio for the games the client launches: Wine's audio driver inside them replaced by - * ours, which talks to a helper on this side. The client itself keeps PulseAudio either way. + * DirectAudio: games' Wine audio driver and the client's own sound both go through the relay + * helper on this side. On unless the user turned it off; off, PulseAudio drives the device. */ - fun directAudio(context: Context): Boolean = prefs(context).getBoolean("directAudio", false) + fun directAudio(context: Context): Boolean = prefs(context).getBoolean("directAudio", true) fun setDirectAudio(context: Context, on: Boolean) { prefs(context).edit().putBoolean("directAudio", on).apply()