protonscr

Incorrect channel mappings in all surround-sound games.

steamclosed reviewed
ValveSoftware/steam-for-linux#4502 · opened 2016-06-17 by ghost · updated 2019-03-19 · 4 comments · github
?ghost 2016-06-17 github

Your system information

Computer Information:
Manufacturer: Unknown
Model: Unknown
Form Factor: Desktop
No Touch Input Detected

Processor Information:
CPU Vendor: GenuineIntel
CPU Family: 0x6
CPU Model: 0x17
CPU Stepping: 0xa
CPU Type: 0x0
Speed: 2664 Mhz
4 logical processors
4 physical processors
HyperThreading: Unsupported
FCMOV: Supported
SSE2: Supported
SSE3: Supported
SSSE3: Supported
SSE4a: Unsupported
SSE41: Supported
SSE42: Unsupported
AES: Unsupported
AVX: Unsupported
CMPXCHG16B: Supported
LAHF/SAHF: Supported
PrefetchW: Unsupported

Network Information:
Network Speed:

Operating System Version:
"Manjaro Linux" (64 bit)
Kernel Name: Linux
Kernel Version: 4.6.2-1-MANJARO
X Server Vendor: The X.Org Foundation
X Server Release: 11704000
X Window Manager: KWin
Steam Runtime Version: steam-runtime-beta-release_2016-06-15

Video Card:
Driver: NVIDIA Corporation GeForce GTX 760/PCIe/SSE2

Driver Version:  4.5.0 NVIDIA 364.19
OpenGL Version: 4.5
Desktop Color Depth: 24 bits per pixel
Monitor Refresh Rate: 60 Hz
VendorID:  0x10de
DeviceID:  0x1187
Revision Not Detected
Number of Monitors:  2
Number of Logical Video Cards:  1
Primary Display Resolution:  1920 x 1080
Desktop Resolution: 3840 x 1080
Primary Display Size: 27.48" x 15.43"  (31.50" diag)
                                        69.8cm x 39.2cm  (80.0cm diag)
Primary Bus: PCI Express 16x
Primary VRAM: 4096 MB
Supported MSAA Modes:  2x 4x 8x 16x 

Sound card:
Audio device: Realtek ALC1200

Memory:
RAM: 7987 Mb

Miscellaneous:
UI Language: English
LANG: en_US.UTF-8
Microphone: Not set
Total Hard Disk Space Available: 40960 Mb
Largest Free Hard Disk Block: 4228 Mb
VR Headset: None detected

  • Steam client version: 1466122242
  • Distribution (e.g. Ubuntu): Tested on SteamOS, Ubuntu, and Manjaro
  • Opted into Steam client beta?: [Yes/No] Yes
  • Have you checked for system updates?: [Yes/No] Yes

Please describe your issue in as much detail as possible:

Every single Linux game I have tested which supports 7.1 surround gets the channel mapping wrong. side-left and side-right get mapped to front left-of-center and front right-of-center, according to pavucontrol.

If remixing is not enabled in pulseaudio, there is no sound on the side channels.

If remixing is enabled, it seems like the actual signal for the side channels is discarded, and the signal sent is a mix of the front and rear channels. I'm not sure how to check this, but it doesn't sound right.

The correct mapping should be: front-left, front-right, rear-left, rear-right, center, lfe, side-left, side-right.
What we always get is: front-left, front-right, rear-left, rear-right, center, lfe, front left-of-center, front right-of-center. Note: there are no "front left-of-center" and "front right-of-center" channels in the 7.1 standard.

Due to the overwhelming consistency of this problem (every single game I've tested has this issue, regardless of publisher or distro), I assume it's related to some library in the steam runtime. Other non-steam applications, such as Kodi and VLC, consistently do this correctly. Test files from https://www2.iis.fraunhofer.de/AAC/multichannel.html play back flawlessly in Kodi.

Steps for reproducing this issue:

  1. Run any game which otherwise properly supports 7.1, such as Civ BE, Serious Sam 3, XCOM: EW, ARK: SOTF, etc.
  2. Notice missing/incorrectly mapped channels.
?ghost 2016-07-09 github

The files on fraunhofer's page, which generally play back correctly on my system, do not play back correctly in the web browser in Steam overlay. The side and rear channels are swapped.

While I haven't found any steam games where 7.1 completely works with all channels correctly assigned, I did find something interesting. Blender, when downloaded and launched from Steam, actually works correctly. Out of the 100+ items in my Steam linux library, only Blender has passed the test.

?ghost 2016-08-01 github

I can confirm that this is a bug in steam runtime. When I launch steam with "STEAM_RUNTIME=0 steam", the issue is not present.

Ccminnoy 2019-03-19 github

Any progress on this issue? I've discovered that surround 5.1 works great when the host is a Windows machine (Windows 10 in my case). However when I use my Linux machine as host and the SteamLink-hardware box as client almost all channels are swapped wrong. If the client is a Windows machine with the same Linux host (maybe also with Linux client but that I didn't test) than the channels are outputed correctly. So I can only comment on the SteamLink-hardware with a Linux Ubuntu as host.

The mapping I see:
HOST -> CLIENT
FL -> FL
F MID -> FR & RR
FR -> RL
SUB -> SUB
BL -> FR
BR -> RL

This happens on standard steam client as well as the latest beta version.

Kkisak-valve maintainer 2019-03-19 github

Hello @cminnoy, please open a new issue report.

Since this issue report was opened Steam's handling of the Steam runtime has changed to prefer host libraries over the Steam runtime variants so the issue described here should not occur for most users.

Closing as the reporting user has turned into a ghost.

Nothing extracted yet.