New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No sound in CS2 #3256
Comments
Beat me to it. :D |
Seems like everyone is on the same boat - for me I am getting some devices in sound settings, but the names look like something I would get on Windows instead of Pipewire and some devices are missing. |
+1 also having sound issues with Pipewire. |
Got audio for a bit when messing with output devices but it didn't hold after a restart. Hoping valve sees this and fixes it quick. |
It seems like the issue is caused by CS2 not being able to use either Pulse or Pipewire API natively. But yeah audio technically works but not in a viable way. |
Using ALSA directly means the game takes full control of the audio device, which doesn't let any other application use it until its released. Pulseaudio and Pipewire exist specifically to fix that problem (among other things). |
Anyone have a workaround yet? |
Also using pipewire here. CSGO used to use pulseaudio when you passed SDL_AUDIODRIVER=pulse as env var. But this no longer works. It also doesn't use jack so you can't use pw-jack either. |
What audio library does it use? I think with OpenAL maybe we can set the backend with an environment variable. |
|
can confirm, no audio on my end either. Although i can select what looks like my headset as output it does nothing |
Same issue here. Pipewire as well. Any workaround? |
This worked for me! |
Doesn't work. Can you give more details on how you ran this? |
I just started steam using that, and opened the game. Got the sound. |
Can confirm, did that and selected the audio source until it worked. |
There seems to be a startup option |
Well, you are only able to use cs2 audio, other outputs don't work. |
Same using bluetooth audio. None of the options so far, including launching Steam with |
Same problem here: |
I was able to get sound after adding |
Tried to relaunch steam withou any variables to test other solutions but now it sound works even without the parameter. Will try to see if restarting the system messes it up again Edit: confirming, restarting messes it |
This issue seems to be present in the latest Dota2 Update (Compendium). So yeah it should be fixed soon. ________________________________________ |
Putting |
Sorry but i can't reproduce sound cutting off/game crashing not in previous version nor current version (couple hours ago), only increasing delay (#3283) Your SDL_AUDIO_DRIVER variable just forces SDL to use native Pipewire, may be crashes are related to sdl still defaults to ALSA? Do you have pipewire-alsa or pipewire-pulse installed? I use Pipewire with pipewire-pulse bridge. Wired USB DAC, 48khz. |
I literally restarted the game without the option, no sound. systemctl --user restart wireplumber;systemctl --user restart pipewire I use a wired usb dac as well. I have pipewire-pulse installed. I see you explained what it is, I was kinda in a match playing without sound, so I updated my comment while you already posted that. As others said I can use alsa and it works, but I can't play any other audio on my system then. It's still broken when using the pipewire back-end. |
(Basically pipewire-pulse and pipewire-alsa are compatibility layers/bridges, made to provide sound through pipewire system but Pulseaudio/alsa api. So your old applications, which are working only with alsa/pulse can provide sound through it and through Pipewire) |
Does anyone have problems with sound delay? I have a 1-2 second delay in first and other match |
When I use the pipewire driver, sound stops working after around a minute. The pulse driver gets more delayed as time goes on. I'd like to just use the pipewire driver as I have pipewire though. |
You can use "SDL_AUDIO_DRIVER=alsa %command%" When in-game do this in a terminal, while having no video or similar with audio playing: "systemctl --user restart wireplumber;systemctl --user restart pipewire" Then if your system supports alsa you should be able to change the audio devices back and forth and have good audio in the game, except that you can't have any other audio playing on your system while playing the game. Maybe this could also be redirected to pipewire-alsa to be able to have other audio signals running at the same time? But I don't know much about pipewire-alsa so yeah. |
I tried running the game with pipewire-alsa, and you still have to choose between hearing the game or hearing everything else Using the default device routes everything through PipeWire as it should, but it doesn't do anything in CS2 |
using the launch option "-sdlaudiodriver pipewire" in CS2's property menu in steam should allow you to hear audio from more than 1 application, works for me. |
the sound is broken for me on pipewire with |
I just downloaded the lastest update and sound is working through pipewire with |
ok, seems like a problem on my end, thanks for answering |
SDL3 audio is currently under heavy developement, expect breakages, and they really broke it for alsa. The right way on linux is all games, game engines have only 1 API to care of: the native alsa-lib. The actual software mixer [jack/pulseaudio2(pipewire/gwireplumber)/pulseaudio1/dmix] is hidden behind the alsa API as it should be. jack & pulseaudio2(pipewire/gwireplumber) & pulseaudio 1 are hidden behind an alsa-lib PCM plugin. I did fix to a recent git SDL3, here: |
oh, and it tracked there for SDL3: dota2 and cs2 uses the same linux runtime. |
Adding -sdlaudiodriver pipewire gives me false hope by working until about 30 seconds into the match. To fix that I have tried to change the sound device and whenever I try it the game completely crashes. To test out if that's an issue only related to Linux i set up Windows 10 on other disk. On Win10 it is even worse as game crashes completely out of nowhere at the moment when on Linux I would lose the sound. |
Look at the SDL audio issue right above, I finished my ALSA audio code contribution. I have been playing dota2 with alsa dmix multi-channel enabling with it (and testing very little with cs2, namely only the title screen). |
When I open cs2, by usb headset doesn't show up in the audio output list. /etc/asound.conf: defaults.pcm.card 2 |
@stefan11111 as far as I know, SDL3 devs are still reviewing/merging/debugging/etc my alsa code. No news from them, weird as some other fixes went it very fast (like the input bug). |
@stefan11111 I can upload to you a libSDL3 build which is "supposed" to work with cs2 (it works on my system), if you trust my binary. |
Sure. |
There, it was linked with a glibc 2.33: https://transfer.sh/IaIfxX40q2/libSDL3.so.0 Hopefully it will work for you too (this is omega alpha code), and it is working now, 20231205. |
Which one should I replace:
Also, my system has glibc 2.38-r1. Will the lib work? |
@sylware The lib I replaced was /home/stefan/.local/share/Steam/steamapps/common/Counter-Strike Global Offensive/game/bin/linuxsteamrt64/libSDL3.so.0(after backing that up, of course). Since you seem knowledgeable about steam, do you know exactly what dependencies proton needs in order to work? |
Glad it works (for now...). I works for dota2 as well. info: A more recent glibc can run binaries linked with "older" glibcs, but very often (and sometimes certainly), binaries linked with a "recent" glibc won't run on systems with "older" glibcs (most of the time for not really pertinent reasons). That's one of the reasons which make building wide "glibc" spectrum binaries something "hard" (don't expect that from "normal" game devs). The alsa canonical "default" is actually set by the alsa lib included in the "pressure-vessel" steam runtime (for dota2 and cs2), it may not import your configuration (I use the ALSA_CARD environment which is going thru the container, but I have not tested /etc/asound.rc or $HOME/.asoundrc). Sorry I am a #noproton guy, I have a lean vanilla git wine/vkd3d... and since it seems (until proven otherwise) proton does include copies of microsoft windowns DLLs, I don't use it. I rarely have something working though (but I got a few interesting windows games working). |
Could you please tell me how to use ALSA_CARD to set the soundcard? |
I have the rather special problem, that the sound cuts off after a while (can be anything, from 30sec to even 10-15 min on the server -- usually, within 2-5 min though) when playing on the deathmatch servers of warmupserver.net (pipewire 1.0 on arch linux). On Valve deathmatch or premier/competitive everything works fine. I tried everything from -sdlaudiodriver alsa/pulse/pipewire, forcing 44100hz system-wide to even switching back to pulseaudio. Sadly, to no avail. Once the audio cuts off, I can get it back by switching back and forth with another sound device. However, once I do so, the game tends to crash shortly after (sometimes, the game crashes directly instead of the audio cutting off). I have not tried other non-official deathmatch servers yet. Ah, and Windows works fine of course. |
Closing because the issue reported here was fixed in late September 2023. If anyone is seeing follow up issues, those issues should be tracked separately. |
Your system information
Steam
->Help
->System Information
) in a gist:https://gist.github.com/returntoreality/8e4f6fecd93d16e2d74da87586343b7f
Please describe your issue in as much detail as possible:
I have no sound. I can see the audio devices in game, but it does not matter what I select, there is no sound. pw-top does not show cs2.
Steps for reproducing this issue:
The text was updated successfully, but these errors were encountered: