ValveSoftware / ValveSoftware/Proton
Surround sound support? Part 2: Current state of positional audio (5.1 / 7.1) in Proton
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 32.8k
- Forks
- 1.6k
- PR merge metrics
- PR metrics pending
Description
Feature Request
This is a follow-up to https://github.com/ValveSoftware/Proton/issues/1803, where intrepid users and devs like @ColdPie1, @Loacoon1 and @pedrofleck investigated surround sound support in Proton and made a bunch of headway. Unfortunately, I still run into games with broken surround sound with worrying regularity.
Setup/background:
Hooking up a home theatre system to a PC is incredibly easy. Simply plug an HDMI cable into the graphics card and AVR. I can confirm that surround sound has worked perfectly for me on Linux Mint, Ubuntu and Windows since 2009. I listen to multichannel mixes of music (e.g., Pink Floyd), I watch movies and I play video games. VLC, SMPlayer, Parole Media Player, GZDoom, Kodi, you name them, disc formats like DVD, Blu-Ray, audio formats like PCM audio, DTS, AC3, Dolby True HD, DTS-HD MA, multichannel file formats like .flac, .dts, .mka, .ac3, .mkv, .avi, .wav, .ogg... They all work. So, system-side, everything is set up correctly:
Screen 1: PC => DisplayPort cable > Screen (2560x1440)
Screen 2: PC => DVI cable > Screen (1280x1024)
Screen 3: PC => HDMI cable > AVR > HDMI cable > Screen (1920x1080)
I run games on screen 1.
I can also confirm that this works with AVRs made by Yamaha, Denon, Panasonic, JBL and several more at my friends' places, where I bring my laptop for gaming or movie nights. Both my laptop and desktop PC have Nvidia graphics cards (RTX 2070 and GTX 1080 Ti, respectively).
I confirm:
- that I haven't found another request for this feature.
There's #1803. It's from 2018 and was closed in Feb, 2020. - [✓] that I have checked whether there are updates for my system available that contain this feature already.
Description
Games that support surround sound should also support it when played through Proton (and, ideally, Wine). Examples:
Black Mesa: https://github.com/ValveSoftware/Proton/issues/4545#issuecomment-1143409340
Haven't tested yet if other Source engine games are affected.
Styx: Shards of Darkness: https://github.com/ValveSoftware/Proton/issues/964#issuecomment-1138436039
This game freezes during launch when using HDMI for audio. It works perfectly when using another device (e.g. headphones), but well, stereo only in that case.
Layers of Fear 2: https://github.com/lutris/lutris/issues/4426
I don't have this game on Steam (but GOG), but the behaviour when running it through Lutris is the exact same as Styx: Shards of Darkness, so I presume it's the same bug.
Mirror's Edge: https://github.com/ValveSoftware/Proton/issues/1803#issuecomment-1135784181
No surround sound out of the box, although there is a complex workaround discovered by @Loacoon1 and described in detail in my comment linked above.
Serious Sam 2: https://github.com/ValveSoftware/Proton/issues/1803#issuecomment-1143385877
The Mirror's Edge workaround plus a .ini tweak can be used to get this to work.
Prince of Persia 2008
Works out of the box on Windows but requires IndirectSound on Linux. Doesn't work with DSOAL.
Dishonored: https://github.com/ValveSoftware/Proton/issues/51#issuecomment-1213104231
@ColdPie1 offered a few thoughts on this one, but so far, I haven't been able to deduce a workaround.
Fallout: New Vegas: https://github.com/ValveSoftware/Proton/issues/356#issuecomment-1143392956
No dice, even after trying DSOAL, Mirror's Edge workaround and the like. I read some reports indicating other users are having more success.
Doom Eternal: https://github.com/ValveSoftware/Proton/issues/3773#issuecomment-1213417973
This is probably a false positive. After installing Doom Eternal on my PC, it only played in stereo, but I think I was using Proton-GE. Once I switched to Proton Experimental, it started working. So something might be off here, but probably isn't?
All the above games require no tinkering for surround to work in Windows. Others, like F.E.A.R., Duke Nukem: Manhattan Project or Prey (2006), do require tinkering on either OS, so I don't think they should be listed here (though of course it would be awesome if they worked out of the box through Proton).
Justification [optional]
I understand it's not an important issue. After all, the games I am reporting above are running perfectly well in stereo, and let's be real, who cares about surround sound? I get it, few do.
Still, I'm wary before installing any new game at this point. My failure rates have been pretty high. I'd be happy just knowing more devs are aware that surround sound remains broken in many cases and will eventually look at it. After all, it is a feature of these games that we can enjoy on Windows, but not on Linux. How awesome would it be to just ditch Windows in a couple years?
And yeah, ideally, I would very much hope this could also be added in Wine.
Risks [optional]
Can't think of any.
References [optional]
https://github.com/ValveSoftware/Proton/issues/356#issuecomment-1143392956
https://github.com/ValveSoftware/Proton/issues/4545#issuecomment-1143409340
https://github.com/ValveSoftware/Proton/issues/964#issuecomment-1138436039
https://github.com/lutris/lutris/issues/4426
https://github.com/ValveSoftware/Proton/issues/1803#issuecomment-1135784181
https://github.com/ValveSoftware/Proton/issues/1803#issuecomment-1143385877
https://github.com/ValveSoftware/Proton/issues/51#issuecomment-1213104231
https://github.com/ValveSoftware/Proton/issues/3773#issuecomment-1213417973
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Start by reviewing the linked issue #1803 and the referenced per-game reports to understand the existing surround-sound work and affected cases. Done would require a defined, reproducible Proton change that makes supported 5.1/7.1 games work without game-specific workarounds.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100