teeedubb Jan 20, 2014 @ 2:28am
Recommended audio sound system?
I cant seem to find much info and it looks like SteamOS is using pulse, but I would like to know what is the recommended audio sound system for Steam Linux?
Showing 1-15 of 19 comments
< >
sounds like a wooosh Jan 20, 2014 @ 2:50am 
Most likely a default one as others will build on it.
Kranky K. Krackpot Sr. Jan 20, 2014 @ 3:07am 
What you mean by "Steam Linux" and "recommended audio sound system"?
Yup, and I suppose too that SteamOS distro uses Pulse by default, because Steam client wants PA somehow. There're some people around here who already tried SteamOS, maybe they'll check that and tell us.
UraniumDeer Jan 20, 2014 @ 3:43am 
I'm pretty sure PA is recommended. It seems that people using ALSA can't get microphone to work.
Valve said, during their 3 part announcement, that they'd be working on tweaking sound, to reduce latency. I wonder if that'll result in better existing sound systems, or if Valve is brewing on something of their own.
[Linux] Junior s2 Camila Jan 20, 2014 @ 7:42am 
Originally posted by UraniumDeer:
It seems that people using ALSA can't get microphone to work.
That's not true. Some people have problems, some don't. Same thing with PA.
It all depends on your hardware. On mine, for example, I only use ALSA, PA is a piece of crap.
LOLCAT Jan 20, 2014 @ 12:04pm 
Steam was first designed with Ubuntu in mind. Ubuntu has ALSA. It should work.
teeedubb Jan 20, 2014 @ 6:10pm 
Yeah I'm using ALSA too but it took alot of mucking about with ~/.asoundrc to get non-crackling/working sound, and I havent tried to get a mic or surround working yet. I'm interested in seeing what Valve recommends because if its PA(which it looks like it is from SteamOS) I might end up using PA in conjunction with pure alsa for xbmc.
Jamie F Jan 20, 2014 @ 7:39pm 
mind you all sound systems use alsa as a back end even if you have pulse audio

hardware
-ffado -alsa - -OSS layer 1
Jack Pulse audio Layer 2
Gstreamer Xine Phonon Layer 2.5
Last edited by Jamie F; Jan 20, 2014 @ 7:40pm
thetargos Jan 21, 2014 @ 10:02pm 
Just for the record for those of you who have not been around in the Linux camp for the pertinent time to know:

ALSA (Advanced Linux Sound Architecture) is actually a collection of sound card DRIVERS, as well as supporting libraries for general-purpose use of sound devices. Originally developed by the SuSE guys for the GUS sound cards, it quickly expanded to become the default sound drivers for the Linux kernel, promptly surpassing the ancient OSS 2 (I think) sound drivers found in the older 2.4.x kernels as soon as 2.6 was released. With that out of the way, its use and using it as a develpment target is/was much harder than OSS, to the point that it took many years for some applications to develop native support for it. Some of the shortcomings of the infrastructure were that even though it does provide "a way" for "multistream mix" (AKA softmix, via dmix), it is/was somewhat difficult to get it working...

Why is this relevant? Simple, since some applications (especially older, legacy applications and others ported to/from BSD and other Unix systems), still used the OSS model for accessing the hardware via /dev/dsp, claiming exclusive rights over the node, and blocking any other application (source) from using it, this is especially true for "single channel" sound devices (not to be confused with mono, stereo, 4.0, 4.1, 5.1, 7.1, etc), which despite their inner complexity (and thus supporting many "voices"), only exposed one output-stream and one input-stream (even some pro-grade brands like M-Audio cards!), this posed a problem for "games" on Linux, as many still rely/ied on the older model, for which the compatibility layer alsa-oss is required, and which still claims exclusive rights over the node, making it impossible to use the mic and game at the same time (two different sources, one source/stream supported), despite what VoIP program you may use (read: even if it supported ALSA natively). Only cards which with pure ALSA were able to output the game's audio and use the mic in these mixed scenarios (vintage OSS game + ALSA VoIP app, where dmix is of no use... to mortals) were those supporting (in the ALSA drivers, anyway) hardware mixing. Cheap onboard "cards" were notable for lack of this, and as I said before, even some known pro brands did as well, others like the Creative Labs Emu10k* based cards did support HWmix as did others some ALC and others based off VIA VT8xx chipsets also did (up to 4 streams [AKA, sources] simoultaneously, enough for any game/VoIP/MusicPlayer combo). Please note that the lack of "hardware mixing" in ALSA does not mean a problem with the drivers (lack of support) or the hardware as such, that's why ALSA does provide mechanisms to support multiple simoultaneous sources almost in "hardware", well... kinda.


Enter PulseAudio... Pulse is a sound server. Sound servers are not a foreign concept in computing (dating to back to the rise of multimedia on the "PC", early 1990s). What it is destined to do is to "mix streams" (sources) to the output device, so it is a piece of software that sits between the application layer and the hardware exposing a single stream to the hardware drivers, while mixing the different sources in the background. It also serves as manager of the hardware in most cases. The Windows Sound System (WSS) of older days (Win9x-WinXP) and the new Universal Audio Architecture (Vista, 7, 8, sever 2008, 2012) are also sound servers, as is CoreAudio in the Mac world. Pulse evolved from the "esound" sound server, ironically used originally in the Enlightment desktop environment, later also used by GNOME (we're talking GNOME 1.4.x days!), to the point of becoming the "defacto" sound server in Linux and other Unix-like systems (KDE has always used their own, aRTs... with which many developed a love-hate relationship, up until 4x and phonon). It solved many of the problems with the lack of support from many different hardware vendors of hardware mixing in ALSA by means of sitting between ALSA (the drivers) and the applications without using dmix. However, Pulse also grew quite a bit in scope and has capabilities beyond the "hardware" solely... It is a sound abstraction system to the point that it allows to stream sound from one application to another application, or to another sound device, and even to another or several other computers over the network! It can also be combined with yet another sound server for low latency, JACK (even though it supposedly can operate in low latency confiturations), or it can be stopped at all if the user so chooses to (no need to uninstall it, simply remove it from loading when starting a user's session. It also allows for easier multiuser management of access to the hardware: say you log in, start a music player, then drop to a VT, the sound stops, log in as root perform some management tasks, exit the session and go back to your desktop, and sound magically works again. Change the example with your wife trying to peform some task on her session in your computer, so you switch users, sounds stops, she logs in and sound is working just fine in her session (only not the playlist you left playing), and the music continues when you switch back to yours.

Pulse has many advantages, way many more than what its detractors claim... well, for the end users, anyway. These do come at a price, a low one by todays standards: CPU utilization is indeed higher than pure ALSA (depending on the task), it may induce latency (trust me, Pulse is lighting fast compared to CoreAudio on Mac!), see the help about getting it to work in low latency mode, easier multiuser management, advanced management of sound (devices and sources), easy management of multiple sound devices inputs and outputs (line-in, line-out, HDMI, S-PDIF, HD Audio, etc). I still prefer pure ALSA with a HWmixing supported sound card for gaming, but having PA for my (amateur) audio work is a bliss, for PROs there's always JACK :D

So take your pick. I'm not surprised at all that Valve went with PA by default.

Quick Edit:

If you'd like to know how many sources are supported by your hardware, and how many outputs does your HW combination have:

cat /proc/asound/pcm
That should do the trick. Here's mine:

00-00: emu10k1 : ADC Capture/Standard PCM Playback : playback 32 : capture 1
00-01: emu10k1 mic : Mic Capture : capture 1
00-02: emu10k1 efx : Multichannel Capture/PT Playback : playback 8 : capture 1
00-03: emu10k1 : Multichannel Playback : playback 1
00-04: p16v : p16v : playback 1 : capture 1
01-00: ALC887-VD Analog : ALC887-VD Analog : playback 1 : capture 1
01-01: ALC887-VD Digital : ALC887-VD Digital : playback 1
01-02: ALC887-VD Alt Analog : ALC887-VD Alt Analog : capture 1
02-03: HDMI 0 : HDMI 0 : playback 1
02-07: HDMI 1 : HDMI 1 : playback 1
02-08: HDMI 2 : HDMI 2 : playback 1
02-09: HDMI 3 : HDMI 3 : playback 1
Last edited by thetargos; Jan 21, 2014 @ 10:16pm
Kranky K. Krackpot Sr. Jan 22, 2014 @ 1:38am 
Here's a (rather basic) article about sound on Linux: http://tuxradar.com/content/how-it-works-linux-audio-explained
What "sound system" is "better" or "recommended" in general and how to use it -- it's a big topic depending not only on software, but greatly on hardware too. Radio and TV streaming, karaoke hobbies, and professional audio-processing make this topic even bigger. For home use with an on-board chip ALSA is enough and mostly works out of the box. PA has a nice GUI, a lot of ready-made routine under the hood, and may be quite handy handling several audio outputs connected to PC (e.g. analog stereo headphones, and 7.1 digital speakers, and a HDMI TV with Dolby, etc). Some DEs simply like PA's universality (at the expense of system resources and debatable quality). BTW, PA still needs ALSA/OSS (at least, in kernel) to work.
Particularily In Steam, playback (speakers) doesn't need PA, only ALSA. For simultanious playback (Steam and some other app) it needs mixing: either in hardware, or in software (with ALSA's dmix plugin, or a full-featured app like PA). Anyone can choose what is easier: to buy a HWMIX card, to install PA, or to write alsa's config of 5-10 lines.
Recording (mic) in Steam is more complicated. By default it wants PA for some reason, but it kinda works without PA as well, even with mixing, after tweaking ALSA's config (though, with ALSA I couldn't get acceptable quality in mic). Anyway, if a working mic in Steam is sooo necessary, for many it'll be easier to install PA, I think.
Letalis Sonus Jan 23, 2014 @ 9:21am 
Not every sound card that has a hardware mixer does accept multiple audio streams. For example, the excellent ICE1712 chip does have a 36bit wide hardware mixer, but while offering a lot of configuration options, it is still only useable for internally mixing its channels - e.g. you may tell it to mix the line in signal into stereo line out.

BTW: Nowadays ALSA does set up dmix automatically, no config voodoo required.
thetargos Jan 26, 2014 @ 2:29pm 
Originally posted by Letalis Sonus:
BTW: Nowadays ALSA does set up dmix automatically, no config voodoo required.
Except when you want to use it in a mixed environment of legacy OSS apps (game) and ALSA apps (VoIP, music player, etc)
thetargos Jan 26, 2014 @ 2:53pm 
Originally posted by Letalis Sonus:
Not every sound card that has a hardware mixer does accept multiple audio streams. For example, the excellent ICE1712 chip does have a 36bit wide hardware mixer, but while offering a lot of configuration options, it is still only useable for internally mixing its channels - e.g. you may tell it to mix the line in signal into stereo line out.
That is what I meant about the status/degree of support in ALSA, unless that's how the hardware is designed to start with, which I very much doubt, but am unfamiliar with it... Alas there are some cards (like the M-Audio ones) which despite their impressive design, are in fact designed to work like that on every OS they support, so that might be the case for these ICE cards? I'll have to read up on them, though.
Kranky K. Krackpot Sr. Jan 27, 2014 @ 1:08am 
Originally posted by thetargos:
Originally posted by Letalis Sonus:
Not every sound card that has a hardware mixer does accept multiple audio streams. For example, the excellent ICE1712 chip does have a 36bit wide hardware mixer, but while offering a lot of configuration options, it is still only useable for internally mixing its channels - e.g. you may tell it to mix the line in signal into stereo line out.
That is what I meant about the status/degree of support in ALSA, unless that's how the hardware is designed to start with, which I very much doubt, but am unfamiliar with it... Alas there are some cards (like the M-Audio ones) which despite their impressive design, are in fact designed to work like that on every OS they support, so that might be the case for these ICE cards? I'll have to read up on them, though.
The world of sound cards is waaay more crooked than that of, say, GPUs: there're dozens of vendors, and nearly everyone of them has dozens of models, all with different quirks. If someone dives too deep into all that, he ultimately becomes an audio-maniac, or a digital signal processing profi... Fortunately, today's on-board chips (mostly, Intel HD with Realtek codec) work well enough for everyone, except sound professionals and audiomaniacs.
Anyway, a card needs a (alsa or oss) driver to work. Alsa-project.org and opensound.com tell which cards are (fully or partially) supported. As for HW mixing (or rather multiplexing? making several streams sound simultaneously from single output) specifically -- many cards, both cheap and expensive, don't have it. The cheap don't because it's cheaper without it, the expensive don't because it's implied that since HW mixing is crappy (and it is) you'll use your hi-fi software mixer anyway.
LOLCAT Jan 27, 2014 @ 1:15pm 
Originally posted by Kranky K. Krackpot:
The world of sound cards is waaay more crooked than that of, say, GPUs: there're dozens of vendors, and nearly everyone of them has dozens of models, all with different quirks.
This is overrated I think. There are many types of sound cards, but 90% of people use Realtek HD, 9% use Realtek AC97, the rest is expendable.
DIRT Jan 27, 2014 @ 1:31pm 
I have loaded a live usb on hundreds of random computers. I haven't had time to test everything but only time I had crackling sound is when I used skype. Pulse worked for me every time except for one computer that was to new and there was no drivers for it on my live usb.
Last edited by DIRT; Jan 27, 2014 @ 1:32pm
Showing 1-15 of 19 comments
< >
Per page: 15 30 50
Date Posted: Jan 20, 2014 @ 2:28am
Posts: 19