Steam for Linux

Steam for Linux

Steam for Linux > Limited Beta > Aiheen tiedot
Issue Report: Assertion failed: ClientAPI_InitGlobalInstance: InternalAPI_Init_Internal failed
(removed old thread because it went into the wrong subforum)

Developers, what does it assert on that line?

client_api.cpp (273) : Assertion Failed: ClientAPI_InitGlobalInstance: InternalAPI_Init_Internal failed.

Assert( Assertion Failed: ClientAPI_InitGlobalInstance: InternalAPI_Init_Internal failed.

I'm running Gentoo 32-bit with Gnome 2 and compiz.
< >
Näytetään 1-11 / 11 kommentista
Plague 9.12.2012 kello 5.43 
Exactly the same problem on Gentoo 32bit with KDE, nVidia proprietary.
Plague 11.12.2012 kello 9.43 
Fixed it by properly emerging pulseaudio.
Frigolit 12.12.2012 kello 9.09 
Ugh, I don't want pulseaudio at all ;_; ah well, I'll try and see if it works
ik 17.12.2012 kello 2.12 
I would really advice Steam developers to use SDL for audio output, just like they use it for the games.

Pulse Audio is badly maintained, it have a numerous known bugs that are simply ignored for years and should be workaround by the applications using it. (Stuff like broken pause and 2 second hang at the end of playback).

Using SDL audio gives you a number of advantages:
1. Steam would still work with pulse audio if it is available.
2. The PA workarounds would be incorporated on only one place -> SDL.
3. SDL should automatically fallback to the next available sound output if PA is not installed.
4. The user can select audio output manually by `export SDL_AUDIODRIVER=alsa` , if he wants to avoid PA (e.g. if he have sound related issue).
Plague 18.12.2012 kello 10.39 
I think the problem here is that Ubuntu has PA as a default. That's the reason Steam uses it now. Hopefully the devs will remove that dependency as PA is quite frankly crap soundserver.
Frigolit 19.12.2012 kello 13.20 
Installing PA solved this issue btw, but it screwed up my audio for everything else, so, gotta have a look at that first.

Edit: pulseaudio added evil configuration files to alsa (/usr/share/alsa/alsa.conf.d) setting it as default
Viimeisin muokkaaja on Frigolit; 19.12.2012 kello 13.45
Plague 19.12.2012 kello 18.54 
Exactly! I tried to change the config but that did not really help me, so I uninstalled pulseaudio and will have to emerge it again for next testing, which is really lame.

If someone knows how to have pulseaudio installed and yet use sound like it wasn't I'd be really grateful.
Frigolit 19.12.2012 kello 19.06 
I emerged pulseaudio with alsa support (I'm guessing that's required to use alsa as a sink, but it requires alsa-plugins to have pulseaudio) and then commented out all the stuff in the following files:

And then it didn't interfere with alsa anymore.
ik 20.12.2012 kello 5.45 
I'm on slackware and I compiled Pulse Audio 2.1 on my own. It didn't even try to install itself into alsa. I assume that this behaviour is a bonus from gentoo packagers.
It however tried to install configuration files in dbus, xdg and init.d in order to start its sound deamon.
Steam runs fine without PA server and sound. Microphone may not work though...

For the games you need to set `SDL_AUDIODRIVER=alsa`
Frigolit 20.12.2012 kello 19.20 
Question is if PA can output sound via alsa without alsa support. I guess that depends on the real reason behind the alsa USE-flag for PA, if it means "enable support for alsa" or "add some stuff to alsa to make it support pulseaudio".
Because it would be nice for PA to actually be able to output sound via alsa and not just sit there like a dummy on my system :P
ik 22.12.2012 kello 8.02 
In theory you can.

Usually it is Apps -> PA -> ALSA -> kernel

In order to use the Pulse Audio advantages without adding explicit support for PA in applications, PA allows installation of "virtual" sound card that outputs sound to the PA. This is what these additional file in alsa conf were for.

With the extra conf files you have Apps -> ALSA -> PA -> ALSA -> kernel

The kernel supports only ALSA and OSS, so PA should output to one of them. OSS is deprecated and is emulated using the alsa soundcard kernel modules. It may not even be enabled in your kernel.

Of course the things could be a lot more complicated. Pulse Audio is sound daemon, so it support input from multiple APIs and it also supports output to multiple APIs. It is not clear what the USE flag in your gentoo is covering (input, output or both).

Also, I remember past reports of people who can't use alsa directly, because the PA sound server has taken over the hardware device. This happens because alsa userland is also a kind of a daemon, that can use filters and plugins and can mix multiple inputs through `dmix`. If you can configure PA to output to the dmix sink, instead to hw device sink... then you are good. But don't ask me how to do it.
(If you have sound card that have hardware mixer, then you don't have a problem. AC97 based cards don't have one).
Alternatively, there is a way to start PA server only when needed (and hope it quits when not needed).

OSS doesn't provide multiple input mixers. There is OSS4 that does, but it is not part of any distribution kernel, afaik.

I'm happy that I can install PA and start steam without sound and without PA trashing the rest of my system.
Viimeisin muokkaaja on ik; 25.12.2012 kello 7.21
< >
Näytetään 1-11 / 11 kommentista
Sivua kohden: 15 30 50

Steam for Linux > Limited Beta > Aiheen tiedot