Games running under proton in 3.6.x and 3.7.x produce garbled audio
Your system information
- Steam client version: 1718751621
- SteamOS version: 3.6.5
- Opted into Steam client beta?: [Yes]
- Opted into SteamOS beta?: [Yes]
- Have you checked for updates in Settings > System?: [Yes]
Please describe your issue in as much detail as possible:
Audio in any game running through proton is garbled.
Steps for reproducing this issue:
- Be me and have my Steam Deck OLED (apparently)
- Be on preview/beta or main (OS 3.6.x or 3.7.x)
- Run a game with proton
Note: The issue does not present itself when playing the audio through a usb headset or through bluetooth. It's present when the audio is playing through the built in speakers and through 3.5mm headphones.
https://github.com/ValveSoftware/SteamOS/assets/5191844/28b04e39-6889-464c-9688-7d81fb63845f
@safijari it looks like your pipewire config has been edited somewhere. Based on the system report you submitted, this is what the output of wpctl status looks like on your system:
---------------------------------------------------
Command: wpctl status
PipeWire 'pipewire-0' [1.0.3, deck@steamdeck, cookie:1069369301]
└─ Clients:
28. gamescope [1.0.3, deck@steamdeck, pid:1529]
32. xdg-desktop-portal [1.0.3, deck@steamdeck, pid:1160]
33. WirePlumber [1.0.3, deck@steamdeck, pid:1190]
41. WirePlumber [export] [1.0.3, deck@steamdeck, pid:1190]
65. pipewire [1.0.3, deck@steamdeck, pid:2001]
66. Steam Voice Settings [1.0.3, deck@steamdeck, pid:1782]
67. Steam [1.0.3, deck@steamdeck, pid:1782]
68. Chromium input [1.0.3, deck@steamdeck, pid:3968]
69. wpctl [1.0.3, deck@steamdeck, pid:7220]
75. Chromium [1.0.3, deck@steamdeck, pid:3968]
81. Balatro.exe [1.0.3, deck@steamdeck, pid:6134]
Audio
├─ Devices:
│ 42. Rembrandt Radeon High Definition Audio Controller [alsa]
│ 43. ACP/ACP3X/ACP6x Audio Coprocessor [alsa]
│
├─ Sinks:
│ * 51. ACP/ACP3X/ACP6x Audio Coprocessor Speaker [vol: 0.45]
│ 52. ACP/ACP3X/ACP6x Audio Coprocessor Headphones [vol: 1.00]
│
├─ Sources:
│ * 53. ACP/ACP3X/ACP6x Audio Coprocessor Headset Microphone + Internal Microphone [vol: 1.00 MUTED]
│
├─ Filters:
│
└─ Streams:
76. Chromium
78. output_FL > Speaker:playback_FL [active]
80. output_FR > Speaker:playback_FR [active]
82. Balatro.exe
83. output_FR > Speaker:playback_FR [active]
85. output_FL > Speaker:playback_FL [active]
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sources:
│ * 63. (null)
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
This is what it looks like on my system when playing the same game:
PipeWire 'pipewire-0' [1.0.3, deck@steamdeck, cookie:330781764]
└─ Clients:
35. gamescope [1.0.3, deck@steamdeck, pid:5780]
36. WirePlumber [1.0.3, deck@steamdeck, pid:1221]
37. pipewire [1.0.3, deck@steamdeck, pid:1217]
38. pipewire [1.0.3, deck@steamdeck, pid:1217]
41. pipewire [1.0.3, deck@steamdeck, pid:1217]
43. pipewire [1.0.3, deck@steamdeck, pid:1217]
58. WirePlumber [export] [1.0.3, deck@steamdeck, pid:1221]
112. pipewire [1.0.3, deck@steamdeck, pid:2527]
113. Steam Voice Settings [1.0.3, deck@steamdeck, pid:6025]
114. Steam [1.0.3, deck@steamdeck, pid:6025]
116. Chromium input [1.0.3, deck@steamdeck, pid:6845]
119. wpctl [1.0.3, deck@steamdeck, pid:7625]
128. Balatro.exe [1.0.3, deck@steamdeck, pid:7545]
Audio
├─ Devices:
│ 73. Rembrandt Radeon High Definition Audio Controller [alsa]
│ 97. ACP/ACP3X/ACP6x Audio Coprocessor [alsa]
│
├─ Sinks:
│ * 93. ACP/ACP3X/ACP6x Audio Coprocessor Speaker [vol: 0.50]
│ 94. ACP/ACP3X/ACP6x Audio Coprocessor Headphones [vol: 1.00]
│
├─ Sources:
│ * 92. ACP/ACP3X/ACP6x Audio Coprocessor Headset Microphone + Internal Microphone [vol: 1.00]
│
├─ Filters:
│ - filter-chain-1217-28
│ 44. filter-chain-capture [Stream/Input/Audio]
│ 45. filter-chain-source [Audio/Source]
│ - filter-chain-1217-29
│ 46. filter-chain-sink [Audio/Sink]
│ 47. filter-chain-playback [Stream/Output/Audio]
│ - loopback-1217-30
│ 49. output.virtual-sink [Stream/Output/Audio]
│ 50. input.virtual-sink [Audio/Sink]
│ - loopback-1217-31
│ 51. output.virtual-source [Audio/Source]
│ 52. input.virtual-source [Stream/Input/Audio]
│
└─ Streams:
129. Balatro.exe
131. output_FR > Filter Chain Sink:playback_FR [active]
132. output_FL > Filter Chain Sink:playback_FL [active]
Video
├─ Devices:
│
├─ Sinks:
│
├─ Sources:
│ * 39. (null)
│
├─ Filters:
│
└─ Streams:
Settings
└─ Default Configured Devices:
Note that the filter chains are missing. A factory reset will probably fix your unit, but that might be a bit overkill. You can check if you have any custom local config files in the directories listed in this man page and try deleting them: https://man.archlinux.org/man/extra/pipewire/pipewire.conf.5.en
Workaround for this for now: run systemctl restart --user wireplumber.service