SteamOS icon indicating copy to clipboard operation
SteamOS copied to clipboard

Games running under proton in 3.6.x and 3.7.x produce garbled audio

Open safijari opened this issue 1 year ago • 2 comments

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:

  1. Be me and have my Steam Deck OLED (apparently)
  2. Be on preview/beta or main (OS 3.6.x or 3.7.x)
  3. 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 avatar Jun 19 '24 22:06 safijari

@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

lostgoat avatar Jun 21 '24 16:06 lostgoat

Workaround for this for now: run systemctl restart --user wireplumber.service

safijari avatar Jun 22 '24 14:06 safijari