protonscr

Steam games audio fails when JACK Server is being used

steamclosed reviewedAudio
ValveSoftware/steam-for-linux#3400 · opened 2014-07-11 by thndgonz · updated 2018-03-30 · 8 comments · github
Tthndgonz 2014-07-11 github

There's this ongoing problem with Steam current environment that for some reason steam (Linux) games fail to open audio. I thought it was just a misconfiguration on my part, perhaps. Sadly, I think this is an issue with Steam. I'll bring an example, (I can bring two more if needed)

Super Hexagon, which is the fastest game to launch.

Launching it on Steam: http://pastebin.com/NzzpDr5h

This is a version I got from GOG. http://pastebin.com/yediRif8 (despite the failure to find pulse, audio works, you can see it by the call it did to jack_client_new which has been renamed to jack_client_open)

Image on qjackctl, I renamed the client for the sake of clarity: https://dl.dropboxusercontent.com/u/37705/2014-07-11-11%3A23%3A12-screenshot.png

This is my asoundrc which Steam somehow fails to work with:

pcm.!default {
type plug
slave { pcm "jack" }
}

pcm.jack {
type jack
playback_ports {
0 system:playback_1
1 system:playback_2
}
capture_ports {
0 system:capture_1
1 system:capture_2
}

hint {
  show on
  description "JACK Audio Connection Kit Server"
}

}

ctl.mixer0 {
type hw
card 1
}

I've also tested Guacamelee, Monaco and Edge and they work fine outside the Steam environment.

TTele42 2014-07-16 github

From what I'm reading here, /home/david/.local/share/Steam/ubuntu12_32/steam-runtime/amd64/usr/lib/x86_64-linux-gnu/libstdc++.so.6 gets loaded, which is too old / not compiled for your system, and is not providing symbols the system library /usr/lib/libffado.so.2 needs to work.

The simple assertion would be that the steam runtime is breaking more than it fixes on your system, and you may want to partially dissect it so that more system libraries are used (for testing purposes).

As a side note, I need to try to get my jack setup closer to yours, as I have JACK + alsa loopback device and an experimental openal to jack branch.

Eedward81 2014-08-09 github

I am just ran into the same issue. I had to create some symlinks to replace the steam libraries with those of my system.
ln -s /usr/lib32/libgcc_s.so.1 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/lib/i386-linux-gnu/libgcc_s.so.1
ln -s /usr/lib32/libstdc++.so ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libstdc++.so

ln -s /usr/lib32/libjack.so ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libjack.so.0
ln -s /usr/lib32/libasound.so.2 ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/libasound.so.2
ln -s /usr/lib32/alsa-lib ~/.local/share/Steam/ubuntu12_32/steam-runtime/i386/usr/lib/i386-linux-gnu/alsa-lib

Remember to ensure you have all the libraries, and create a backup of libraries to replace.

BBrottweiler 2015-02-24 github

Just found this issue, and I want to add my input.

I recently installed Binding of Isaac: Rebirth and Don't Starve. When I installed Binding of Isaac, I had no sound. I did what was described here to get it to work. (The Binding of Isaac section didn't exist, I added it).

Later, I installed Don't Starve, and the same thing there. I had no sound. I did what was described on the archlinux wiki again but this time that didn't work. I did what else was described in that section, such as installing lib32-alsa-plugins, but still nothing.

I can't for the life of me get sound in Don't Starve. Here's some errors:

When starting Steam in a console, then starting Don't Starve, I get these errors:

Cannot read socket fd = 46 err = Success
Could not read result type = 22
Client name = rjack conflits with another running client
Cannot connect to the server
FMOD Error: Error initializing output device. 
SoundSystem::Initialize failed
cDontStarveGame::DoGameSpecificInitialize()
FMOD Error: An invalid object handle was used.

Then I get this error everytime I hover over a button, which should give a sound FMOD Error: Can't play event dontstarve/HUD/click_mouseover: An invalid object handle was used..

Related threads (I made these, no reply):

Note: Everytime I go into Don't Starve, I go to settings, I raise the volume, save, go back to settings, sound is reset to zero.

?ghost 2016-08-21 github

Hello I know that this is an old thread but I think I've found the solution.
I couldn't start Darkest Dungeon after installing jack so i started it via terminal.

Turns out that it loaded the default device configured for pulseaudio.
So what I did was change the Input Devices to Jack source (PulseAudio JACK Source)
and Output Devices to Jack sink (PulseAudio JACK Sink) via pavucontrol.

Darkest Dungeon loaded fine after that. I've tested out Binding of Isaac and it works too.

Pprikhi 2017-07-21 github

As someone that doesn't want to run pulseaudio, I had resorted to killing/starting JACK & swapping .asoundrc files before/after playing games.

I was finally able to get all my games working with JACK by switching away from the alsa-jack plugin, and using a loopback device instead:
http://alsa.opensrc.org/Jack_and_Loopback_device_as_Alsa-to-Jack_bridge

If you're running JACK via Cadence, you can just switch the ALSA Bridge to ALSA -> Loop -> JACK.

Kkisak-valve maintainer 2018-03-02 github

Hello @thndgonz, @edward81, are either of you still experiencing the original issue in this issue report?

The current steam client should be preferring system libraries over the steam runtime if the system libraries are newer than the steam runtime variants.

Tthndgonz 2018-03-02 github

@kisak-valve Can't confirm. I'm no longer using linux, hopefully edward still is.

Kkisak-valve maintainer 2018-03-30 github

Thanks, closing pending feedback from @edward81.

Nothing extracted yet.