protonscr

[beta] steam voice does not work with alsa

steamclosed Steam clientAudio
ValveSoftware/steam-for-linux#5571 · opened 2018-07-15 by sylware · updated 2021-06-02 · 12 comments · github
Ssylware 2018-07-15 github

On an alsa only system, in the beta friend voice preference screen, I get many entries for the mic of my webcam, none of which seems to work.
In-game voice is fine though.

Kkisak-valve maintainer 2018-07-17 github

Per "Fixed not saving settings for voice input/output device when something other than default was selected inside the Steam Client" in the 2018-07-17 Steam client beta update, please retest this issue.

Ssylware 2018-07-18 github

On Tue, Jul 17, 2018 at 04:56:04PM -0700, kisak-valve wrote:

Per "Fixed not saving settings for voice input/output device when something
other than default was selected inside the Steam Client" in the
2018-07-17
Steam client beta update, please retest this issue.

Does not change anything. alsa only system.
In the voice settings of the new chat client, my USB webcam mic has 3 entries
instead of 1 in voice input device drop box:

  • HD Webcam C615, USB Audio-Default Audio Device
  • HD Webcam C615, USB Audio-Front speakers
  • HD Webcam C615, USB Audio-IEC958 (S/PDIF) Digital Audio Output

My south bridge, has 2 entries in this drop box:

  • HDA ATI SB, ALC892 Analog-Default Audio Device
  • HDA ATI SB, ALC892 Analog-Front speakers

In the voice output device drop box I have only "default".

I cannot hear anything whatever I select.
The client runs with SDL_AUDIODRIVER=alsa environment variable.

In-game voice chat is fine.

Ssylware 2018-09-10 github

What's up with this issue?

I noted that in-game voice settings are now unavailable in the main steam
client settings but only through the overlay (in dota2). I fear in-game voice
will migrate to this broken audio management system and then stop working too.

Ssylware 2018-10-05 github

tested, does work, but the input box entries and out box entries are really misleading or plain wrong. Shall I open a new issue for that or do we stick to this one?

Ssylware 2019-01-17 github

In latest beta client update, the content of input/output drop-down boxes is still a mess or quite mis-leading. I can manage to select an input and output which work, but only if the 3 audio plugins are disabled (echo cancellation, volume gain, etc).

Ssylware 2019-01-17 github

In-game voice is now broken: in dota2, in the ingame voice tab of the steam overlay, I cannot select the alsa device matching my USB webcam mic. It is stuck on pulseaudio (even if I click on device detection).

Ssylware 2019-02-12 github

does in-game voice (dota2) and the new chat voice use an open source audio software component? I may try to fix it.

Ssylware 2019-08-26 github

Did some tests today, got some improvement: I can enable the 3 audio plugins and it will work.
The input selection drop down box content is still misleading.

Ssylware 2020-03-25 github

the misleading entries in the drop down box are from an alsa library bug.
Each of my capture device gets an additional "front speakers" misleading entry. I tested those misleading entries with the alsa util, arecord, and they configured and worked well because the alsa library front.conf file makes "front speakers" actually a simple pass thru.
I don't mention the alsa pcm hint "IO" which is broken beyond anything usable.
Then, I don't see any "clean" way to build properly a "clean" list of input devices.

Ssylware 2020-03-25 github

It seems the only way to get a clean list is to enumerate the cards and devices like in the alsa-utils aplay, which should give triplets (card M, device N, playback/capture). Then for each capture triplet, the idea would be to use some pcm pipeline like: 'plug:SLAVE="dsnoop:CARD=M,DEV=N"', namely with many software conversions and sharing with any other client. Same thing with playback triplet with some pcm like 'plug:SLAVE="dmix:CARD=M,DEV=N"'. Then each of those pcm may be "tested": configured and ready to play/capture to refine the list which would be displayed to the use.
For playback, it may be possible to statically/manually add pcms "surroundX:CARD=M,DEV=N" for the user to test (it seems dota/libSDL is doing something like that).

Ssylware 2020-03-27 github

ok, alsa-lib is getting some love regarding pcm device "hinting". Latest alsa-lib plus a bit of patching some configuration files did the trick: my input and output devices lists in steam voice chat drop down boxes are now "clean" in regards of the mic from my usb webcam (and my other devices).
Waiting commit of the patches for the configuration files from the alsa-lib devs though (I may have missed something important).
That said, the previous code I did describe is still valid and "should be" quite robust.
I did discover another alsa-lib bug, but a nasty one. It should impact marginaly some alsa handling apps which use timestamps from the pcm status "kernel driver" call with an alsa-lib plugin "pipeline". The alsa-lib devs are now aware of the bug.

Ssylware 2021-06-02 github

works with alsa(dmix/dsnoop) now.

Launch options