Support us on Patreon to keep GamingOnLinux alive. This ensures all of our main content remains free for everyone. Just good, fresh content! Alternatively, you can donate through PayPal. You can also buy games using our partner links for GOG and Humble Store.
The Shameful and Disappointing Surround Sound Thread
Page: 1/2»
  Go to:
MajGuano Jun 21, 2016
So, I have been going through my entire library of linux games on steam, and comparing the surround support to their windows counterparts. So far, I've completed testing on about half of my library. I will update this thread as I complete more. My internet connection is pretty slow, so installing Windows games can take me a while.

Behold ... MajGuano's Linux Gaming Surround Sound Award list (sorted alphabetically by award tier)! It's just like the Video Game Awards, except nobody wins!

Testing was done with the 7.1 analog output from my motherboard's built-in Intel 82801I (Realtek ALC1200) HD Audio Controller by looking at the application's outputs in pavucontrol and listening to check if any content was played back on these channels.

Platinum Diamond-Encrusted Unicorn Star Champion Defender-of-the-Faith Award (100% working in 7.1 out-of-the-box - windows version only 5.1 or worse):
NO GAMES MET THIS GOAL! (and probably never will)


Gold Star Award (100% working in 7.1 out-of-the-box - audio feature parity with Windows):
NO STEAM GAMES MET THIS GOAL!
And it's steam runtime's fault.
STEAM_RUNTIME=0 steam
Should get you around the bad-mapping problem if you have the necessary system libraries installed.
Blender from Steam actually works without doing any hacky stuff, but it's not a game. ...
OpenArena and other non-steam games work fine.

Silver Medal: (5.1 working 100% out-of-the-box, Windows version also 5.1 only)
NO GAMES MET THIS GOAL!
(All 5.1-only games tested had incorrect mapping of SL and SR to BL and BR on my hardware. Pulseaudio is probably to blame for this failure)

Honorable mention (Mostly-working out-of-the-box: either 5.1 only when 7.1 present in windows, missing channels, incorrect mappings, or other tweaks needed. Some of these may not be the dev's fault, instead Steam libs or Pulseaudio is probably borking it):
Amnesia: The Dark Descent
ARK: Survival of the Fittest
Awesomenauts
Counter Strike: Global Offensive
Euro-Truck Simulator 2
Goat Simulator
Left 4 Dead 2
Serious Sam 3
Sid Meier's Civilization: Beyond Earth
The Talos Principle
XCOM: Enemy Unknown

SHAME! SHAME! SHAME! (Games that are stereo-only on Linux while the Windows version supports surround):
Alien Isolation
Bastion
Bioshock Infinite
Borderlands 2
Borderlands: The Pre-Sequel
Brutal Legend
Dead Island
Dungeon Defenders
Half-Life 2
Half-Life 2: Update
Metro 2033 Redux
Metro Last Light Redux
Metro Last Light (Removed from Steam, but still in my Library)
Middle-earth: Shadow of Mordor
Rust (Has in-game settings for 5.1 and 7.1, but they don't do anything.)
Saints Row III (Advertises Dolby DTS Surround on Splash Screen. SHAME!)
Saints Row IV
Shadow Warrior
Team Fortress 2
Tomb Raider (Opens up a 5.1 sink, but doesn't use it).
Total War: Atilla (Has in-game settings, but they don't work)
The Witcher 2
XCOM 2

Notes:
The results are shockingly bad. Many games were completely missing surround sound. Among the games that did actually support surround, every single one incorrectly mapped the side channels.

Frequent problems include:
No surround support at all in Linux version. This appears to be the case with all of VP's EON ports. In the case of EON ports, they show up as a 7.1 pulseaudio client, but only output to front-left and front-right.

5.1 only, when 7.1 is available on Windows. This is only a problem with the few Valve games with surround on the Linux version. 7.1 is also screwed up on windows as well, with the side channels totally missing.

Non-standard channel mapping, in 7.1, labeling the side channels as "front left-of-center" and "front right-of-center" instead of "side-left" and "side-right". If pulseaudio's remixing is disabled, there will be no signal on the side channels. If pulseaudio's remixing is enabled, I suspect the signal for the side channels is ignored, and pulseaudio sends an incorrect signal to the side channels which is just a mix of the front and rear channels. Pulse might be also mixing the imaginary FLoC and FRoC with L, C, and R. This is hard for my ears to disambiguate. It's certainly not doing it right.


In 5.1 mode, every single game tested mapped the side channels to the rear. This is also incorrect. There are no rear channels in 5.1, only L, R, SL, SR, C, and LFE. The rear channels (BL, BR) should NEVER be activated in 5.1. Windows consistently gets this correct.

[EDIT: Full test results removed from this post. Will link to full results in external document when ready. The "full" results are an enormous wall-of-text and still incomplete. It's sort of a to-do list for me and a list of items others might not want to bother testing on their own, because I'll get around to them myself soon enough. It also includes many games which are stereo-only on both linux and windows, to avoid duplicate testing]
Ehvis Jun 22, 2016
Interesting thread. I've been looking to get some surround support lately. However, since I have no desire too fill my room with speakers, I wanted to do this with a headset. Unfortunately, I haven't been able to find a working (for me) htrf, which made the downmixing (and with that the entire surround option) a no go.

One question though, do open source games get it right?
Schattenspiegel Jun 22, 2016
One of the few things that actually annoyed me in games that rely on positional audio.
My fix was to get a good stereo headset for the games where I my 5.1 surround speakers are not supported properly.
It's a pretty sad picture.
One wonders why it's such a problem to get it right. Is it simply laziness of the porters, lack of standartisation concerning channel mapping(a menu, or at least configfile entry adressing that should not be to much to ask for should it), or real technical hurdles that prevent them from giving us the same sound experience as on Windows.

@MajGuano since you went to all the troubble testing and explaining anyway: would you mind sharing your tweaks and vitual sink configuration for the games you got I working with?
I am pretty sure not everyone is familiar with pulseaudio configuration.
Hamish Jun 23, 2016
shadow Warrior no Yes Same engine as Talos and Sam3, but no surround, even though it's supported in those other games

The Shadow Warrior reboot does not use the Serious Engine. It uses the Road Hog Engine.
MajGuano Jun 24, 2016
One question though, do open source games get it right?

The only one i've checked so far is OpenArena, which does not appear to support surround at all. Kodi and VLC consistently get it right though. I strongly suspect the bad-mapping problem is caused by something in the Steam libraries.

@MajGuano since you went to all the troubble testing and explaining anyway: would you mind sharing your tweaks and vitual sink configuration for the games you got I working with?
I am pretty sure not everyone is familiar with pulseaudio configuration.

I'm working on a script I can share that will be likely to work on other systems to manage some audio configs. It's not ready yet. Since I do a lot of audio work, I actually use pulse-JACK bridge (I've tested with this off, it doesn't make any difference). My already-complex config complicates things.

Pulseaudio configuration is a freakin' nightmare. It does not have sane defaults. The config files are in /etc/pulse, but they are sometimes unpredictably overridden by files in ~/.config/pulse or ~/.pulse . I'm not sure how much of this is due to my pulse-jack bridge, and how much is just due to general pulseaudio suckage.

The most important thing to do is disable remixing in /etc/pulse/daemon.conf. Look for ";enable-remixing=yes". Uncomment it and change it to "no". Then, restart pulse. If this doesn't work for you, look around for a daemon.conf in ~/.pulse or ~/.config/pulse and add "enable-remixing=no" there. For some reason, Lennart decided to ignore the specification that "unused channels should not be activated". If you don't disable remixing, pulse won't only screw up surround sound, it will also ruin stereo content as well. Sending L to all the L's and R to all the R's isn't so bad (this will create phase problems if your speakers aren't equidistant from the listener), but sending L+R or L-R to C is a sin which cannot be forgiven. It destroys stereo.

One tweak you can do fairly easily is to stick to 5.1 mode. In KDE there's a GUI for this in systemsettings. I don't know about other DE's. Pulseaudio will _still_ screw this up -- it will enable BL and BR instead of SL and SR. If you're using analog output you can just reach down and swap the cables to make it right. Alternatively, If you're using a pulse-JACK bridge, you can easily pipe the BL, BR output to SL SR with Carla, or a similar tool. You won't be getting all 8 of your channels, but at least the 6 which you do have will sound correct in most cases.

The Shadow Warrior reboot does not use the Serious Engine. It uses the Road Hog Engine.

Whoops! Sorry about that mistake.

I'll be doing more testing this evening.
MajGuano Jun 24, 2016
Interesting thread. I've been looking to get some surround support lately. However, since I have no desire too fill my room with speakers, I wanted to do this with a headset. Unfortunately, I haven't been able to find a working (for me) htrf, which made the downmixing (and with that the entire surround option) a no go.

I've never understood "surround" headsets. Do they do some kind of head-tracking (is that what you meant by "htrf"?) to dynamically adjust the downmix? If not, it seems kinda' pointless.

You should fill your room with speakers anyway. Video game troubles aside, it's worth it for music and videos. I'm sure you could find something small which could either be inconspicuous or put away when not in use. These stands look like they'd be easy to stash in a closet or something. You've never actually heard music until you've heard the 5.1 mix of King Crimson's Red in all its multichannel glory. ;)
Ehvis Jun 25, 2016
My (limited) research gave me three types of surround headsets:

1. Actual surround with multiple drivers per ear. Big downside is that because of that the drivers are small and very low quality.
2. Virtual surround in firmware. Those basically contain some form of HRTF (Head related transfer function) in the firmware to downmix surround to two channels.
3. Virtual surround in software. Basically just a stereo headset.

Since type 1. are just bad, you're stuck with some kind of downmixing. The HRTF is basically a method to encode the location of sound into a stereo signal. This is fine, because you only have two ears. However, the method is highly dependent on the shape of your head and ears. And I've found literally hundreds of different HRTFs.

Unfortunately, since 2. generally only contains one "common" version of HRTF, you have to be lucky that it works right for you.

So I've been looking at 3. But apparently I'm not "common" and I haven't been able to find one that manages to give me a full directional spectrum.

I actually have a full 5.1 setup for my home cinema, but that's nowhere near my gaming pc. Does the steam link support surround?
MajGuano Jun 25, 2016
My (limited) research gave me three types of surround headsets:

1. Actual surround with multiple drivers per ear. Big downside is that because of that the drivers are small and very low quality.
2. Virtual surround in firmware. Those basically contain some form of HRTF (Head related transfer function) in the firmware to downmix surround to two channels.
3. Virtual surround in software. Basically just a stereo headset.

Since type 1. are just bad, you're stuck with some kind of downmixing. The HRTF is basically a method to encode the location of sound into a stereo signal. This is fine, because you only have two ears. However, the method is highly dependent on the shape of your head and ears. And I've found literally hundreds of different HRTFs.

Unfortunately, since 2. generally only contains one "common" version of HRTF, you have to be lucky that it works right for you.

So I've been looking at 3. But apparently I'm not "common" and I haven't been able to find one that manages to give me a full directional spectrum.

Neither 1, 2, or 3 seem like they would be any good for gaming. As far as gaming goes, the main feature of surround sound is to precisely hone-in on the origin of sounds just by turning your head slightly. Remember, you can turn your head about 90 degrees in each direction while still keeping your eyes on the screen. If the headset cannot emulate this -- if it's not tracking the head position and dynamically adjusting the mix, it's just a lame effect. It would probably still be kinda-okay for non-interactive media.

I actually have a full 5.1 setup for my home cinema, but that's nowhere near my gaming pc. Does the steam link support surround?

The steam link supports 5.1, but not 7.1.
MajGuano Jun 25, 2016
Added Goat Simulator to "Honorable Mentions"
MajGuano Jun 26, 2016
I've completed some more tests, but it seems like there's a few more details i should be discretely keeping track of: most notably silver-level 5.1-only support.

I'm not sure how to define this, since I don't have any 5.1-only hardware. If some game actually gets 5.1 right on my hardware with no tweaks (Zero games have passed this test either, but this is likely entirely pulseaudio's fault), it should be noted.
[EDIT: This tier is now defined as "Silver", but has no entries]

Pulseaudio really sucks and is very opaque. Pulseaudio itself defaults to enabling the wrong channels when set to work in 5.1 mode on 7.1 gear. Lennart & friends apparently have no clue. They "wontfixed" other people's complaints about the remixing default. I'm starting to understand why some people have very strong opinions opposing "Lennartware" in general. I've run into some systemd WTF's as well, but haven't had enormous trouble disabling stupid behaviors (wait 90 sec before refusing to boot because some fstab entry couldn't be mounted? really???).

If remixing is enabled (as by foolish default), and the user has correctly set up the analog outputs for 5.1 (L, R, SL, SR, C, LFE), pulse will wrongly attempt to send the (correct?) signal to (L, R, BL, BR, C, LFE) if the user uses KDE's KCM to specify 5.1 mode on 7.1 hardware. What signal actually gets sent to SL and SR? Is it a dupe of BL and BR or is it a mix or L+BL and R+BR? Does it behave any differently on SteamOS? What happens to -"3-D"* audio if pulse is assuming incorrect speaker positions (when remixing and when not remixing)? What happens if you're on 5.1-only gear and you don't even have a BL and BR? I suspect, if remixing is disabled, you get nothing on SL and SR. I can think of a few ways to check these out, but they all seem like kind of a pain ...

If you disable remixing. Kodi will play back whatever channels are specified by the source media. In Kodi's DSP menu, accessed by clicking the sound icon while playing media, there's an information button which will reveal which channels are available to kodi through pulse, and which channels the media files are declared to use. Kodi is capable of remixing this internally, but it is not enabled by default. The available channels reported to me by kodi are L, R, SR, SL, C, LFE, BL, BR. All 7.1 media files, including test files from Freunhaufer as well as Dobly, attempt to use these channels exactly. I don't even have to disable remixing for pulse to not screw this up. Some 5.1 media files attempt to use BL and BR, instead of SL and SR (against spec) but most do not, and use the appropriate channels. This is why I strongly suspect some lib in the steam runtime for the mapping trouble. Kodi sees the correct channels to be available. Pavucontrol reports kodi is using the correct channels. Zero Steam games use the correct channels.

I'm not aware of any open-source games which use 5.1 or 7.1. I've had a hard time running Steam games with native libs. Media players all seem to work okay. i should play back 5.1 and 7.1 media in steam's built-in music player. I think I may have attempted this before, but maybe Steam's music scanner skipped my .flac and .dts files. I'm not sure about this, I don't use Steam's built-in music player very often (because it sucks) but it's worth investigating.

From where I'm sitting, it looks like very few people actually care about this right now. However, but let's compare this to pretty much anything else out there in the wild:
Xbox gets it right.
Xbox360 gets it right.
Xbox One gets it right.
PS2 gets it right.
PS3 gets it right.
PS4 gets it right.
Windows gets it right (on the same hardware).
MacOS (hackintoshed) gets it right (on the same hardware).

SteamOS gets it wrong.
Ubuntu gets it wrong.
Arch gets it wrong. ...

... But only in the gaming context. With just video or audio files, they all appear to be just fine. The buggy games all have two things in common: Steam runtime and Pulseaudio. (VLC works fine for me with the JACK backend as well as pulse). I'm not going to touch the pulseaudio source code with a ten-foot pole, but I'll probably take a closer peek at some of the steam libs within the next few weeks to see if maybe I can fix this myself. It's all open-source stuff, such as SDL and the like, right? It might be as simple as hunting down and changing a few strings.

Of course, the best I can reasonably hope to do on my own is to be able to promote some of the "Honorable Mentions" to "Gold Star", because the bad-mapping bug is probably outside the game code. However, everything on the "SHAME!" list will likely stay shameful until the devs fix 'em (not gonna' happen, in most cases).

The "SHAME!" list is almost twice as long as the "Honorable Mention" list, so far. Two of the three highest-profile contract porting houses, Feral and Aspyr, have mixed results with some honorable titles and some shameful titles (VP only has shame). Even Valve has titles on each of the lists.

One thing worth noting is that VERY few games have in-game controls for this stuff. All of the few Valve games which support surround can enable/disable it from a drop-down menu in the audio settings, independently of Pulseaudio's configuration (and they ONLY do 5.1 or stereo). Of tested non-Valve games, only Rust actually has in-game controls, and they don't do anything. In fact, I don't think I've spotted any Unity3D games which even make the "honorable" list, but I haven't been paying much attention to the engines used, and I could be wrong about that. ;)

If SteamOS is ever going to be able to be taken seriously in the living room, it needs to be able to integrate properly with home theater systems. They MUST get this right.

*Quad, 5.1, and 7.1 are NOT 3-D audio. They're 2-D. Stereo is 1-D. ATMOS is actually 3-D, and specifies elevated speakers, with the minimum config being 5.1.2. ATMOS is actually pretty freakin' cool, but I don't personally own any gear that can handle it. Maybe there's a software decoder out there somewhere (probably for Windows) which would let me use my 7.1 analog outs as a 5.1.2? I'm not aware of any games which support ATMOS, but I do have some ATMOS Blu-Rays available.
MajGuano Jun 30, 2016
Added Middle-earth: Shadow of Mordor to shame list.

This game advertises DTS 5.1 on splash screen, but only outputs stereo.

Note: This probably exposes Feral to legal action from Dolby, should they choose to pursue it. I doubt they'd want their trademarks being abused like that.

Since Feral doesn't even bother to test surround, I doubt this will ever be fixed. I have requested a refund, therefore no further testing will be available. I may consider re-purchase if surround is publicly announced as fixed.

EDIT: I reported this issue to Feral because of the potential legal liability. I doubt they'll actually fix it, but they should probably remove the advertisement from the splash screen.
MajGuano Jun 30, 2016
Added Tomb Raider to "Honorable Mentions".

This game supports 5.1 only (with BL and BR enabled instead of SL and SR -- the same wrong mapping consistently exhibited by every 5.1-only game tested so far. This is almost-certainly pulseaudio's fault.)
Ehvis Jun 30, 2016
With Tomb Raider also being Feral, I'm wondering why there is so much difference between their ports. Maybe it's because that's the latest and they have now included it into their library. In that case it'd be nice to have updated versions of other games. Especially Alien Isolation.
MajGuano Jun 30, 2016
With Tomb Raider also being Feral, I'm wondering why there is so much difference between their ports. Maybe it's because that's the latest and they have now included it into their library. In that case it'd be nice to have updated versions of other games. Especially Alien Isolation.

They don't test it. They just assume that if it works in the Windows version, it will work in the Linux version.

How do I know this? They told me when I contacted them about Alien Isolation. Here are some snippets from their reply:

We have not changed any of the audio data in the game, so as the original Windows version supported 5.1 you should be able to get it to function on Linux.

[SNIP]

We do not test using surround sound during development, so please do let us know if you are able to configure the audio to output in 5.1 in case there are any others experiencing similar.

Their surround support is really hit-and miss: Tomb Raider, XCOM? Yes. Alien Isolation, Shadow of Mordor? No. Why the inconsistency? I dunno. It doesn't seem to have anything to do with the age of the game. (Aspyr has similar issues: Civ BE? Yes. Borderlands2? No.)


[EDIT: I accidentally reported my own post when trying to click the edit button. Please ignore this report. Thank you, moderators.]
MajGuano Jun 30, 2016
Lol. We should do a kickstarter to buy Feral a kick-ass surround system. That way, they'd have no excuse for not testing, and could at least note "stereo only" in the additional notes for their linux ports on their respective store pages, so I don't waste time and money on broken crap.

Shadow of Mordor was really disappointing, becuase it was 40+ gigabytes to download. It took me nearly a week. If they'd noted it on the store page, they could have saved me a lot of time as well as the power needed to keep my desktop continually running for that time, just to download junk I'd be refunding only a few minutes later. The power alone probably cost me an extra $5, at least.
MajGuano Jul 2, 2016
Added Total War: Atilla to shame list.

This game has in-game settings for 5.1 and 7.1, but they don't do anything.
MajGuano Jul 4, 2016
Added XCOM 2 to shame list. This comes as a bit of a surprise, since XCOM: EU worked. Not too surprising though, since it's a Feral port, and they seem to have a coin-toss-equivalent success rate.
poisond Jul 6, 2016
Since PA I had problems with surround as well, even now there is some channel crossover and bad sound artifacts. I tried all kinds of config flags but I cant get it to work as flawlessly as with plain ALSA.
One thing I don't experience though is swapped channels, but I only have a 5.1 setup. Since all the audio problems I ever had on linux were PAs fault, I'd default to blaming it :P
(I hate bluez for dropping ALSA support, now there's no way I can get rid of that cancer)

On a side note: the thing I'd care for even more than proper surround audio would be stereo 3D. Tomb Raider apparently supports it on windows judging from the grayed out config flag.
MajGuano Jul 6, 2016
Everything on this page plays back fine for me in Chromium, in VLC, and in kodi.
https://www2.iis.fraunhofer.de/AAC/multichannel.html

Blender seems to properly output 7.1 to pulse or JACK. Not sure about LFE channel. BGE export works on Linux and Windows for me. Auto-detects 7.1 and gets it right.
MajGuano Jul 6, 2016
Blender from Steam works properly.
First Gold Star! ... but not a game.
MajGuano Jul 6, 2016
Visiting that fraunhofer web page in Steam overlay's web browser while playing a stereo-only game (tf2) exhibited a bad-mapping bug. SR and SL were swapped with BR and BL
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
Login / Register