Steam for Linux

Steam for Linux

Ivy Allie Sep 30, 2018 @ 12:03pm
Can't use Bluetooth headphones with Steam on Linux
I've brought this problem to a few different Linux forums already without success, but so far as I can tell it affects Steam games exclusively, so I'm bringing it here. Hopefully one of you has seen this before.

I have a pair of Bluetooth headphones paired to the computer. Some apps are capable of playing through them if selected in pavucontrol. Steam games, though, won't let me select them. In fact, I can't change the output on those apps at all. I can click the button and see a list (screenshot available on my cross-post[unix.stackexchange.com]), but if I select a different option it just goes straight back to HD-Audio Generic. Other apps (such as Spotify, as seen in the screenshot) allow me to switch from one device to another without issue. What's going on?

I've also tried to change the sink via the command line using pactl but for some reason it returns "Invalid Argument." A pretty much identical situation is described in this thread[unix.stackexchange.com], but unfortunately it was never answered.

Here's the sink-input data from pactl:
Sink Input #8 Driver: protocol-native.c Owner Module: 11 Client: 24 Sink: 0 Sample Specification: float32le 2ch 44100Hz Channel Map: front-left,front-right Format: pcm, format.sample_format = "\"float32le\"" format.channels = "2" format.channel_map = "\"front-left,front-right\"" Corked: no Mute: no Volume: front-left: 65536 / 100% / 0.00 dB, front-right: 65536 / 100% / 0.00 dB balance 0.00 Buffer Latency: 54807 usec Sink Latency: 23177 usec Resample method: copy Properties: media.role = hex: phonon.streamid = hex: media.name = "Playback Stream" application.name = "bioshock.i386" native-protocol.peer = "UNIX socket client" native-protocol.version = "26" application.process.id = "10390" application.process.user = "john" application.process.host = "strangelove" application.process.binary = "bioshock.i386" application.language = "C" window.x11.display = ":0" application.process.machine_id = [redacted] application.process.session_id = "2" module-stream-restore.id = "sink-input-by-application-name:bioshock.i386"

I'm running Linux Mint 18.3 "Sylvia", KDE Plasma 5.8.9, KDE framework 5.36.0, and pulseaudio 8.3. The games I tested were BioShock Infinite and The Talos Principle.
< >
Showing 1-5 of 5 comments
thetargos Sep 30, 2018 @ 1:33pm 
I assume you are refering only to the headphones and not as in a headset (mic/phones). I have a couple of those coupled with both my desktop and laptop, and on both I can use them, one is a Marley Positive Vibration 2 and the others are Skull Candy Hesh 2 wireless. I can use them both just fine, so long as the default device is selected and as long as the audio profile is set to high quality audio (which in turn shuts off the mic). I can set that both from pavucontrol or the GNOME audio settings window.
Ivy Allie Sep 30, 2018 @ 1:40pm 
Correct, I'm only trying to get audio. I'm not concerned about the mic.

Is "high quality audio" the exact name of the profile you're using? Mine is set to "High Fidelity Playback (A2DP Sink)". The only other profile available is called "Headset Head Unit," but if you enable that, the audio sounds really bad.
thetargos Sep 30, 2018 @ 1:45pm 
Yes, at the moment I have none of those headsets available to me, and I can't look into the config to get the exact profile name, but the high fidelity audio option is what I use. Again, I have to make them the default sink, otherwise I see the same behaviour as you: The applications will not change to that sink with an invalid return value, but if it set as the default, I can route other apps just fine, should I need to.
Ivy Allie Oct 6, 2018 @ 5:31pm 
I set the headphones to default using pacmd set-default-sink , but the behavior hasn't changed. After the game started I checked the sinks again to make sure it was still the default, and it was, but for some reason the game manages to override that and go to a different sink.
Ivy Allie Oct 6, 2018 @ 6:01pm 
I finally found the solution: https://steamcommunity.com/app/93200/discussions/0/864959809826195633/

It seems that some apps use something called OpenALsoft to control audio, and it has a configuration option that inhibits sink changes. To disable the option, you can create a config file.

~/.alsoftrc
[pulse] allow-moves=yes
< >
Showing 1-5 of 5 comments
Per page: 1530 50

Date Posted: Sep 30, 2018 @ 12:03pm
Posts: 5