ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
24.17k stars 1.06k forks source link

Cogmind - No Audio (722730) #226

Open jaccarmac opened 6 years ago

jaccarmac commented 6 years ago

Everything else works perfectly. PulseAudio doesn't show the executable producing any output.

kisak-valve commented 6 years ago

Cogmind installs the VC redistributable package on every install. (722730)

Issue transferred from https://github.com/ValveSoftware/Proton/issues/230. @jaccarmac posted on 2018-08-23T06:34:17:

This one-time setup seemed to only happen once for Dungeon of the Endless, the other Steam Play game I've experimented with so far. This happens across Steam restarts and also within a single session. A download shows up for Cogmind though it is 0 bytes/0 bytes as reported by Steam.

Ape commented 6 years ago

I also have this issue. It is caused by the fact that Cogmind uses SDL for audio and Steam/Proton sets SDL_AUDIODRIVER environment variable to alsa. This value would be fine for Linux applications, but a Windows application needs an audio driver that is available in Windows/Wine and cannot handle alsa.

The workaround is to unset the environment variable so that the application defaults to a backend that is available in Wine. This can be done with a registry entry like described here: https://wiki.winehq.org/Sound#SDL_applications

The registry entry is a workaround, but I think Proton should just set the environment variable to "" itself so that the registry entry would not be needed.

Otherwise the game works perfectly for me and I would suggest whitelisting the game after the audio issue has been fixed.

jaccarmac commented 6 years ago

Thanks for the update. Interesting that you tracked the cause to an SDL bug. I haven't tried the fix yet and will definitely do so. However, I will note that sound sometimes works for me, which suggests that the issue isn't as simple as Wine not being able to use ALSA.

Agree on the whitelisting as soon as the sound issue is fixed in a consistent way, however.

Ape commented 6 years ago

I would not say this is a bug in SDL in any way. The way SDL behaves is completely understandable. Just don't give it bad parameters to work with.

Ape commented 5 years ago

This started to occur again for me. I needed to set "Force the use of a specific Steam Play compatibility tool" to Proton 3.7-8 and it was fixed again. Setting 3.16-4 does not work.

kisak-valve commented 5 years ago

Hello @Ape, please test 3.16-7 with no workarounds. (https://github.com/ValveSoftware/wine/commit/1ef83da3b15171782dc009bb6649665769122aa5)

Ape commented 5 years ago

@kisak-valve For some reason 3.16-7 or 3.16-4 do not work with or without the workaround. I think there might be some other issue in addition to the SDL_AUDIODRIVER variable.

kisak-valve commented 5 years ago

Please copy your system information from Steam (Steam -> Help -> System Information) and put it in a gist, then include a link to the gist in this issue report. Also, please add PROTON_LOG=1 %command% to the game's launch options and drag and drop the generated $HOME/steam-$APPID.log into the comment box.

Ape commented 5 years ago

For some reason I get no log file with Proton 3.16-7 and that launch option. The exact same launch option does write log files with 3.7-8.

Here is my system information and the log file for 3.7-8 (with working audio): https://gist.github.com/Ape/2f307f7a6898ba2bed4bd5d567980739