Closed Dubanubiel closed 11 years ago
@gdrewb-valve That really sucks, but all you have to do is uninstall PulseAudio, apparently Alsa CAN handle more than one stream, sadly though, there's no sound notification on Unity (Ubuntu) anymore.
I've read the entire thread, as I have recently started playing Guns of Icarus Online, and got about 14 hangs in a period of three hours. Uninstalling PA isn't an option for me - it's really ingrained in the Ubuntu desktop, and I don't want to deal with the mess that happens without it (I also use a USB headset).
So I've went to Steams Settings, Voice, and set it to use my USB headset for voice input via ALSA - not PulseAudio like it offered. My voice still works and the game hasn't hung yet!
Setting the voice input to ALSA didn't solve the issue for TF2.
Setting the voice input to ALSA doesn't help here aswell. Steam still uses PulseAudio for voice input and output. And when setting SDL_AUDIODRIVER to ALSA Counter-Strike: Source uses ALSA for output but voice input is still going through steam and crashes it pretty often. That really is starting to piss me off since it happens at least 10 times a day. I thought switching to pulse was a step forward, not behind.
Can anyone else who plays Guns of Icarus Online confirm what I've found? It could be that there's a difference between how TF2 and this game use the voice API. I really haven't had a crash since, and was getting them very
regularly before.
I've been playing Guns Of Icarus today without crashing. I'm using the beta version of Steam, under debian testing (amd64), and with the output set to use ALSA instead of the default PulseAudio as stated by vadi2 a few comments before.
However I didn't have time to test it enough to feel that the crash won't occur again. As son as I can I'll try to test it more.
I also own Guns of Icarus but haven't played it all that much yet, can anyone provide some updates to this? Are you using Pulse in your case @vadi2?
The crash bug is still persistant and it happened to me more than 10 times today and I just removed pulseaudio and switched to alsa. Couldn't stand playing like this anymore. Please update when you've fixed this issue so I can test it.
@DerRidda: Yes, using PulseAudio. These are my audio settings in Steam that has eliminated crashes:
35 hours played and pretty much no crashes, whereas I got 14 in the first 3 hours.
Oh and this is set in the Voice tab, and this is the mic input, not speakers output... don't confuse this.
@gdrewb-valve: This is a routine inquiry asking about any progress in tackling this issue. It's 4 month since the first reports appeared and I would rather not have it become a two digit number.
Has any cooperation with the PulseAudio and/or OpenAL devs happened? I have been following the Steam beta client change log and the only thing I was hoping to see on there was at least an experimental fix regarding this issue. Now that the beta client has been pushed out to stable I really hope the next beta run will try to find means to at least circumvent this specific problem.
I don't have any good news for you. We haven't gotten any engagement from pulseaudio and things are stalled. It's difficult to impossible for us to work around the issue since we don't know what's going wrong to work around (other than the heavy-weight workarounds detailed here).
So, zero progress in 4 months...?
AKA: It works enough for people to buy games on Linux, and that's all they care.
On 13-06-17 04:18 PM, MrPopinjay wrote:
So, zero progress in 4 months...?
— Reply to this email directly or view it on GitHub https://github.com/ValveSoftware/steam-for-linux/issues/1853#issuecomment-19571696.
Well it doesn't. At least not for me. I've gone from being an occasional WINE gamer, to an enthusiastic Linux gamer, to not gaming at all.
It's just too frustrating playing games that require teamwork and being mute.
I'm sad to see this problem have gone unfixed for so long. Is there any way we can help in getting the attention from the guys at PulseAudio? We probably can't file a bug report, and spamming them is not an option either, but we may be able to assist @gdrewb-valve by showing how many are affected by this. In the end, it's exactly things like these that will decide the fate of the future of gaming in Linux. @gdrewb-valve have you not received any answer at all from the PulseAudio guys?
I'll help in any way I can as well as a user.
I haven't gotten any response of any kind to my bug report.
It's a bit early too tell, but I think using SDL_AUDIO=alsa fixed the crashing without screwing up my audio setup in Ubuntu 13.04. I also got the microphone working after trying different devices within Steam. I'll report bug when I've done some more testing. For now, sleep.
Like I mentioned earlier in the thread, just setting the mic to an alsa device worked for me on Guns of Icarus fairly successfully. I don't want to screw up the audio setup in my OS either.
In the Steam settings I set my input to "ALSA Default". I thought I had fixed it, because I was able to talk with folks just fine in TF2. But unfortunately after about an hour of playing the game stuttered, I stopped being able to talk and hear people. I was able to play for maybe another 15 and then both TF2 and Steam crashed.
For those posting about success when choosing ALSA as an input source in steam: does your microphone continue to function(i.e. players can still hear you) when switching to a different server or changing a map?
I don't play TF, I play Guns of Icarus - and yeah, switching maps, matches is fine.
I also selected my microphone via alsa specifially - not the "alsa default" option.
@adaricmar - Yep, works fine for me. Make sure you've selected the correct device in Steam settings.
@gdrewb-valve: After all these other fine gentleman have pointed out setting the Steam voice settings to use the very specific ALSA device instead of just "ALSA default" I tried it myself in CS:S and it actually seems to work. Do you know what the difference between the two is? Would that be a solution? Omit all the PulseAudio options and the "ALSA default" setting from just the voice options and "force" Steam/the user to pick a specific ALSA device, that is.
I'm pretty sure picking ALSA in voice won't help. It is just an illusion that pulseaudio presents to programs - pulseaudio is still in control of the audio. Can someone confirm that picking ALSA and playing for hours straight with lots of mic use doesn't crash? It crashes for me. Also, when I do that, I have to repeatedly click DETECT DEVICES then TEST MICROPHONE, until it starts working. Usually 3 or 4 times at least. If I don't, the mic doesn't work. Even with pulseaudio uninstalled it is like that.
Since I first posted here I've switched to a different distribution of Linux, I was on Ubuntu 12.10 and now I'm on Linux Mint 14 (MATE desktop) 64 bit. The crash is still essentially the same, but now, it is slightly different.
On Ubuntu, the crash resulted in an endless hang. On Linux Mint, what happens is, it freezes momentarily, then the display at the top that shows the F4 checkboxes has 2x more people (12 if there are 6 players, with the second 6 being duplicates of the first). It's definitely a memory corruption.
After the memory corruption, mic stops working, the game resumes running, and after a while, the server kicks me with a message "You must be logged in to Steam" (and I still am logged in to steam).
I've since removed pulseaudio and I don't have the problem. This is definitely not a good solution, because I can't record screencasts this way (I use ffmpeg to record games, and I need pulseaudio to be able to capture game sound).
If I were on the TF2 development team, I would find what variables would cause the players display at the top to be doubled, and set a hardware data breakpoint one of those variables. That or perhaps a variable involved with checking if the player is still logged on to steam. With a bit of luck, your machine will break into the debugger with the exact call stack that is causing the issue (right at whatever instruction is clobbering that memory).
Forget the pulseaudio people, they won't help. They will deny it and give you a list of excuses and other things to blame, like the game itself, ALSA, your audio driver, your kernel, your hardware, etc. From what I've seen, they take any criticism or issues with pulseaudio personally. All professional software developers know, all code has bugs. Usually lots of bugs.
@doug65536: Don't be too dismissive of the ALSA setting, I tried to set it to "ALSA default" plenty of times before but that didn't change a thing but for some reason that is totally beyond me selecting the device directly seems to be different and has also seemingly fixed it for me, with PulseAudio still installed of course. So far I have played several 2+ hours sessions of CS:S with heavy voice usage, multiple map changes and not encountered the problem again while this time frame usually was enough to trigger the crash under PulseAudio.
About that DETECT DEVICES and TEST MICROPHONE behavior: Yes, when selecting the specific ALSA device it behaves the same for me, for some reason half the time the test won't work unless I click detect devices again but in-game it works all the time, seems to be more of a Steam derp than an actual ALSA problem.
I strongly recommend that you install PulseAudio again and try it this way yourself, we need more people to test this and report back as many people will just stop communicating as soon as their issue disappears for them.
Maybe you will be able to do screencasts again.
@doug65536 I can confirm as well. I haven't had a single crash with this setup. Here is what i do:
I have played many hours without any crashes in both Garry's mod and CS:S. It does not break system-audio, nor does it function any differently in-game. It just works. I have had one of those loop-freezes, but the game survived and so did Steam and therefore voice-chat. Test microphone does seem to be a little unpredictable, but others can hear me fine all the time.
While I'm disappointed that this issue has yet to be fixed, whether it's because of Steam or PulseAudio (I wouldn't wonder if PulseAudio would just ignore it, they do seem pretty dismissive about any issues), I'm glad I can at least play properly now.
@McAndze I'm sorry to say this but you're wrong. I tried this a while ago and retried it right now. I've set the audio device in steam to ALSA and started it through SDL_AUDIO=alsa steam. I've opened pavucontrol on my second screen and tried out the mic test in steam itself: it uses Pulse Tried with the test in the steam overlay: it uses Pulse And last, I tried it ingame and: it uses Pulse Every time I use my voice activation key it opens a new audiostream in the record tab of pavucontrol. Even though counter-strike uses ALSA for outputting sound.
@BotoX: But is it still crashing this way?
Well, that'd require some testing but since it still relies on pulse and none of the devs said that this issue has been resolved I guess it does crash. I tested it before and it was crashing so I'm pretty sure it'll still do so. I can test it, though I have to learn right now and rather not play games :P
It just crashed, back to ALSA I go.
Are you absolutely certain that you explicitly selected the ALSA device that corresponds to your microphone in the Steam settings' voice tab? As was stated before "ALSA default" will not work. I doubt because of how casually you just wrote "I've set the audio device in steam to ALSA".
I'm asking again because everyone that has tried it so far has no crashing problems anymore including people that are not following this issue.
I guess that's how you do it, isn't it? This is after I removed pulse again.
Yes, that's what I've been mentioning - select your actual device [via ALSA]. Not the 'ALSA Default' option.
Yes, it still uses PA technically - whatever, the point is, it really helps mitigate the crashes.
So this actually is a steam issue?
Vadim Peretokin notifications@github.com wrote:
Yes, that's what I've been mentioning - select your actual device [via ALSA]. Not the 'ALSA Default' option.
Yes, it still uses PA technically - whatever, the point is, it really helps mitigate the crashes.
Reply to this email directly or view it on GitHub: https://github.com/ValveSoftware/steam-for-linux/issues/1853#issuecomment-19941346
I don't know. No information we have verifies fault on either side. Changing the way steam gets its audio does have an effect, but it could be a bug in PA or Steam equally.
@BotoX While it may not work for you, I am not wrong. I haven't had a single crash after doing this. I do not know exactly what effect this has on anything, as it is still using PA, but I know it makes a difference. I haven't had a single crash since I set up Steam this way.
Oh dear, is anyone else experiencing crashes again with the ALSA device work around in use since the latest Steam client updates? Because I am and it's happening in way shorter time frames than all the time I have used it before when it was still working.
Seems like false alarm but an interesting discovery came out of this: i was using mumble before I started playing CS:S during which I saw these crashes again. Turns out Mumble didn't seem to have quit properly and there was still a speex-dispatcher process running, as soon as I killed that process manually the crashes went away again.
I don't know if anything of value can be deduced from that but i thought I'd mention it.
Starting steam with "SDL_AUDIO=alsa steam" from terminal and selecting the ALSA device manually in steam settings, I get a lot of
AL lib: alsa.c:771: Could not open capture device 'plughw:0,0': Das Gerät oder die Ressource ist belegt
when using voice chat in guns of icarus. (the last part of the output means something like the device or resource is occupied)
In the background, I had mumble running, with voice activation. Don't know if mumble makes a difference, maybe it's a problem that steam/guns of icarus and mumble are in some sort of a race condition for the device?
I am also having this problem. Sometimes when using the voice button, steam crashes and the game freezes for a while. Then it unfreezes after a while but I cant play since steam is not running.
Just a bit more info for tracking: a user posted on the Steam forums that they're actually seeing PulseAudio fail with out-of-memory. Apparently pulse then aborts the process, which is very unfriendly behavior.
mmap() failed: Cannot allocate memory mmap() failed: Cannot allocate memory Assertion 'b' failed at pulsecore/memblock.c:454, function pa_memblock_acquire(). Aborting.
http://steamcommunity.com/app/221410/discussions/0/882966057032293824/
So, now that you know what is happening and where is there anything you could do to anticipate and prevent it?
Unfortunately no, as we have no visibility into what PA is asking for, plus it's hard to estimate when a memory allocation will fail in general. Even if we knew when a problem would occur the best we could do would be to simply stop using voice chat since we don't have a way to prevent an allocate in the guts of PA. That's a bit better than crashing but not a great user experience.
Hm, but this also happens to people on 64bit machines.
Steam and TF2 are both 32-bit applications.
Ahh, sorry then.
Using SDL_AUDIO=alsa 'fixes' the crash, but also just allocated more and more memory on the heap (maybe it's not freeing it?) until eventually all 4GB of my system memory is gone.
Note that this is allocated by hl2_linux, not in a shared library. This is through smaps:
08ad6000-24fdf000 rw-p 00000000 00:00 0 [heap]
Size: 463908 kB
Rss: 463792 kB
Pss: 463792 kB
Shared_Clean: 0 kB
Shared_Dirty: 0 kB
Private_Clean: 0 kB
Private_Dirty: 463792 kB
Referenced: 267304 kB
Anonymous: 463792 kB
AnonHugePages: 151552 kB
Swap: 0 kB
KernelPageSize: 4 kB
MMUPageSize: 4 kB
Locked: 0 kB
VmFlags: rd wr mr mw me ac
That would be 463MB, wouldn't it? That's not an excessive size.
This appears to be related to the pa_memblock_acquire problem: https://bugs.freedesktop.org/show_bug.cgi?id=43269. It suggests there's a bug fix available: http://cgit.freedesktop.org/pulseaudio/pulseaudio/commit/?id=dfd44036b54d65314664622ff93dfd18eee03c7b.
We will apply that in the Steam runtime version of PA. That will definitely fix the Assertion 'b' failed issue, but whether it fixes everything is unclear. I know some people here have built their own PA, if somebody's interested and applies the patch and overrides the Steam runtime PA please let me know how it goes.
Ever since the official launch of steam for Linux, TF2 will crash when I hit the microphone button. It will usually work the first couple of times but then it will freeze up, sort of catch itself, be REALLY slow and buggy, and then won't close without having to turn off my computer. I can Alt+tab away and shutdown but I can't even kill TF2 using system monitor.
Processor Information: Vendor: AuthenticAMD Speed: 2800 Mhz 2 logical processors 2 physical processors HyperThreading: Unsupported FCMOV: Supported SSE2: Supported SSE3: Supported SSSE3: Supported SSE4a: Supported SSE41: Unsupported SSE42: Unsupported
Network Information: Network Speed:
Operating System Version: Ubuntu 12.10 (32 bit) Kernel Name: Linux Kernel Version: 3.5.0-23-generic X Server Vendor: The X.Org Foundation X Server Release: 11300000 X Window Manager: Compiz Steam Runtime Version:
Video Card: Driver: NVIDIA Corporation GeForce 9800 GTX+/PCIe/SSE2/3DNOW!
Sound card: Audio device: Realtek ALC889A
Memory: RAM: 4036 Mb
Miscellaneous: UI Language: English LANG: en_CA.UTF-8 Microphone: Not set Total Hard Disk Space Available: 202004 Mb Largest Free Hard Disk Block: 123696 Mb
Installed software:
Recent Failure Reports: Sun Feb 17 01:29:17 2013 GMT: file ''/tmp/dumps/assert_20130216202905_1.dmp'', upload yes: ''CrashID=bp-913d3f0f-27b9-4711-98fc-4f1712130216''