7 ms·
It really isn't. Unless you have a card without a driver (exceedingly rare, though it's not uncommon to need a recent kernel to use recent hardware) ALSA pretty
by gue5t 13y ago
It really isn't. Unless you have a card without a driver (exceedingly rare, though it's not uncommon to need a recent kernel to use recent hardware) ALSA pretty much Just Works. For complex features like streaming sound over the network you need PulseAudio, which due to its complexity takes more configuration and setup, but that's done out of the box on a fair number of distros. I don't know of any major software that requires OSS (though if I'm not mistaken it's still the preferred solution for BSD and therefore often available as an option), and only professional software uses JACK; users of JACK generally buy high-end hardware specifically for that purpose and know what they're doing.
So there are three major components for different purposes. Core audio support is the domain of ALSA itself and Linux does a good job with it. PulseAudio provides advanced capabilities on top of the more basic/hardware-oriented functionality in ALSA, and JACK provides low-latency audio for realtime applications that need it (not games, only really audio processing equipment). With large amounts of work the partial redundancy between these components could be removed, but it's really not a big issue; for desktop or professional use getting things to work right isn't too hard.
- peterwwillis 13y agoMy sound card "mostly" worked when I installed Linux this year. But I spent a week researching to finally deduce how to modify my Skype and Alsa configs by hand to get Skype to use the microphone. I still don't remember what I did, though it had to do with setting a specific hardware type id. Nobody should ever have to do that.
- pmahoney 13y agoI actually find PulseAudio vs. JACK incredibly annoying. I like to play around with "professional" audio. I don't consider it professional, but more relevantly I like to play with certain apps that require JACK. It's certainly an RTFM thing, but last time I didn't know how to get PulseAudio to go away. I wrote a shell script to keep killing it in a loop (since it restarts itself) long enough to get JACK to take over. I know there must be better ways... Then inevitably once I've got JACK setup, I'll want to play some background music or watch some Flash video online without tearing down my JACK setup. Oops, does that audio player support JACK natively? Do I have that plugin installed? Can I run Pulse and have it direct output into JACK? None of this has worked smoothly in my experience. > users of JACK generally buy high-end hardware specifically for that purpose and know what they're doing This has not been my experience. I love to dabble, but apparently don't know what I'm doing.
- pyre 13y agoFYI on killing PulseAudio: * Turning off auto-respawn (from 2010, not sure if it's entirely accurate): http://www.linuxplanet.com/linuxplanet/tutorials/7130/2 http://www.linuxplanet.com/linuxplanet/tutorials/7130/2 * Script I used to use to get Skype and PulseAudio to play nice in the early days of PA: http://ubuntuforums.org/showthread.php?t=790889 http://ubuntuforums.org/showthread.php?t=790889
- leephillips 13y agoReminds me of how I seem to need to purge anything related to "avahi" before I can get wireless networking to work. I don't know what that junk is for but I wish it wasn't installed by default.
- toyg 13y agoIt provides compatibility with Apple's more recent network technologies (Bonjour/Rendezvous etc), plus probably other stuff I don't know anything about.
- thwarted 13y agoI don't know why it is generally enabled on "server" installations. That being said, the only time I've had a legit use of it was on a media server, running mediatomb, which uses avahi to do SSDP/mDNS/zeroconf/DNS-SD [1], and on the client running VLC (I think the "local network" options interface with avahi itself). Which actually ended up being quite nice. I usually disable it, and try to uninstall it completely, on other server installations. [1] http://en.wikipedia.org/wiki/Zero_configuration_networking http://en.wikipedia.org/wiki/Zero_configuration_networking
- aerique 13y agoAs a non-professional, I use a non-realtime JACK as the new ESD. I prefer that over the incomprehensible monster that PulseAudio is. My needs are simple: I want sound from my audio player (MOC), from my browser (f.e. Youtube), from games and they shouldn't interfere. So my audio player shouldn't have exclusive access to the device and prevent me from hearing Youtube at the same time. JACK does all this, is easy to configure and doesn't get in the way. edit: I should mention I run Debian Testing and prefer to stay away from big desktop environment like Gnome (do we see a trend here?).
- yebyen 13y agoIs there still debian testing, or are you calling 'wheezy' as testing? Just wondering I thought the way it was supposed to work was, when testing gets re-tagged as stable, there's no 'testing' for a brief period (month?) until the next planned distro release is named.
- subway 13y agoWheezy was testing until this past Saturday, at which point Wheezy became stable and Jessie was cut as testing.
- emillon 13y agoThis is not how it works. The next release name is announced approximately when the freeze starts. When a release happens, oldstable is archived, stable become the new oldstable, and the current state of testing becomes the new stable. For a moment of time (we're talking hours), testing and stable have the same set of packages. Britney, the software which migrates packages from unstable to testing, runs four times a day. During a freeze, it is configured to need "unblock exceptions" to migrate packages. When this is option is disabled, the following britney run will make the first difference between testing and stable.
- gcb0 13y agowheezy is a version alias for v7. testing is testing. it points to the version that is on testing, be it 7-wheezy, or 8-whatever. the only exception to the rule is 'sid'. debian sid is always the bleeding edge, it never becomes a proper version. btw, i hate every versioning alias scheme that does not force the number to appear. such as debian, ubuntu, android... it's all just idiotic.
- CatMtKing 13y agoPulseAudio still gives me pain. There's an intel-hda driver issue https://bbs.archlinux.org/viewtopic.php?pid=920549 https://bbs.archlinux.org/viewtopic.php?pid=920549 that has a workaround, but the workaround only f's up other programs for me.
- anonymous 13y ago> ATI on-board sound My condolences. I also have that one and solved the problem by shoving a cheap second hand Creative SB Audigy in the PCI slot. And It still crackles and pops and messes up every time skype makes a sound. Edit: to clarify, using a PCI soundcard solved the crackling and popping in every application except skype, which I find acceptable for now, since I don't usually talk on skype. I might experiment with using JACK and somehow routing pulse through that.
- deleted 13y ago[deleted]
- papsosouid 13y ago>though if I'm not mistaken it's still the preferred solution for BSD and therefore often available as an option I believe you are mistaken. The BSDs have always avoided all the freakish audio framework nonsense from linux land. They provide an API that is somewhat compatible with OSS to allow software with linuxisms like assuming OSS to function. That API is a wrapper around the real audio system: http://www.openbsd.org/cgi-bin/man.cgi?query=ossaudio&apropos=0&sektion=3&manpath=OpenBSD+Current&arch=i386&format=html http://www.openbsd.org/cgi-bin/man.cgi?query=ossaudio&ap...
- gue5t 13y agoHuh, interesting. I'm not very familiar with any of the BSDs, thanks!
- slacka 13y agoFor watching movies or listening to music, the Linux audio system is fine, but ALSA and PulseAudio introduce unacceptable latency for game devs. For example the WINE developers are having major issues with PulseAudio's latency[1] There are actually 2 low level audio stacks that apps can use in Linux, OSS and ALSA. Only OSS offers great sound and low latency,[2] but the kernel developers have refused to add the free GPL'd OSSv4 updates into the kernel, so we are all stuck with OSSv3 legacy and ALSA's latency and poor design decisions. Using the PA layer only makes the latency situation worse and added another layer for things to go wrong. [1]http://www.phoronix.com/scan.php?page=news_item&px=MTEyODM http://www.phoronix.com/scan.php?page=news_item&px=MTEyO... [2]http://insanecoding.blogspot.hk/2009/06/state-of-sound-in-linux-not-so-sorry.html http://insanecoding.blogspot.hk/2009/06/state-of-sound-in-li...
- jlgreco 13y agoI don't get this. When I play ioquake3 games I click my mouse, my gun fires, and I hear the gun firing sound. No latency. Is the problem people trying to play sounds for games over the network with pulseaudio? Is that use-case really something that needs to be worried about?
- eliasmacpherson 13y agoAm on debian squeeze, and am not able to find out how to switch between soundcards as the default. Sure I can fire up VLC or Audacity and select within, but the default movie player picks the default sound card and I can't see a way to change it. A minor gripe, probably user error on my part. Also youtube etc use the default soundcard.
- 15charusername 13y agoI'm sure there will be a GUI way to switch the default but I tend to use environmental variables when I want to launch a program out of a non-default device >Is it possible to use/set environment variables to change the default ALSA device? >you can use ALSA_PCM_CARD or ALSA_CARD to set the default card, either by name or by number. If both are set, ALSA_PCM_CARD takes precedence. The device on the card can be set in the variable ALSA_PCM_DEVICE. http://alsa.opensrc.org/FAQ026 http://alsa.opensrc.org/FAQ026
- e12e 13y agoI've been fighting with audio on my Debian Squeeze system for a while, but I now think I've finally gotten everything to work. One caveat -- I've yet to try a lot of music listening, so perhaps the addition of the dmix-module does criple the sound a bit -- hard to tell as long as my only other audio source is record player -- if my hi-fi cd player hadn't died a while back an a/b test would've been easier. Anyway, no pulseaudio, simple usb soundcard/dac based on Burr-Brown from TI[1] - and now (software) mixing of audio works across youtube/html5 audio in iceweasel (21.0~b6-1 from "deb http://mozilla.debian.net/ http://mozilla.debian.net/ experimental iceweasel-beta"), vlc and flash audio in chromium[2]. All that was needed in the end, was the following ~/.asoundrc: # Aliases for the devices. I don't use the onboard audio - # terribly noisy. The names (after card) come from # /proc/asound/cards - see [1] pcm.nvidia { type hw; card NVidia; } ctl.nvidia { type hw; card NVidia; } pcm.usb { type hw; card DAC; } ctl.usb { type hw; card DAC; } # If all you want is use usb as default, # uncomment this, and ignore the rest. #pcm.!default pcm.usb ctl.!default ctl.usb # For software mixing - allowing several programs to play audio # at the same time: #dmix for software mixing - http://alsa.opensrc.org/Dmix pcm.!default { type plug slave.pcm "dmixer" } pcm.dmixer { type dmix ipc_key 1024 # must be unique! slave { pcm "hw:DAC" } } Now, I've also realized that the main reason I started fighting with this, was the delay introduced by pulsaudio, which is only a problem for me in vlc -- and that could've been fixed (probably) by using the tools->Track synchronization menu options. Just in case anyone else has synchronization issues. I currently don't do any gaming (except for Angband...) -- or other synchronization-sensitive multimedia. [1] according to /proc/asound/cards: 0 [DAC ]: USB-Audio - USB Audio DAC Burr-Brown from TI USB Audio DAC at usb-0000:00:0b.0-3, full speed [2] Apparently html5 audio (at least in videostreams) is broken in chromiumr. Flash video (from eg regular non-html5-youtube) works fine for me with this set up. Some more details at: http://code.google.com/p/chromium/issues/detail?id=178626 http://code.google.com/p/chromium/issues/detail?id=178626 [edit: minor corrections]
- oakaz 13y agoYes, it really is. So many Linux users prefer OSS (Open Sound System) over ALSA because ALSA gives damn poor sound quality. Just search it and see how people gets disappointed with the sound quality of ALSA.
- lmm 13y agoAn unexpected bonus when switching to FreeBSD was that it still uses OSS, and like the rest of FreeBSD it all works - maybe not out of the box, but once you've configured it it will never just break for no reason - the way linux of 5-10 years ago used to.
- coldtea 13y ago>It really isn't. Unless you have a card without a driver (exceedingly rare, though it's not uncommon to need a recent kernel to use recent hardware) ALSA pretty much Just Works. For complex features like streaming sound over the network you need PulseAudio, which due to its complexity takes more configuration and setup, but that's done out of the box on a fair number of distros. So, in other words, it really is. All you said was just rephrasing the problem as solved. For one, what's "exceedingly rare" is not getting any sound at all. That doesn't mean you get to enjoy all the features of your soundcard (from mixing panels to 3D audio and such). Or that it work without tinkering in ALL programs and across desktop environments. There's also the issue of more professional sound work, which will be a world of pain. Getting any pro, multi-channel soundcards to work and such. For anything else than basic sound playing, from recording a podcast, to streaming, to using a DAW etc, here be dragons.
- cageface 13y agoThe dog's breakfast of audio standards on Linux neatly encapsulates the weaknesses of systems as open and democratic as Linux and illustrates why it thrives on servers where these issues are less pressing and still languishes on the desktop where too much choice is not a virtue. This legacy hampers Android too, which is a joke when it comes to multimedia APIs compared to the oligarchic iOS.
- cookiecaper 13y agoDesktop Linux is just missing a vertical here. The "open and democratic" methods of Linux, also called "free market" or "bazaar", are a fine as a stage of development. This is why distributions exist; they make the choices from the raw technology and bundle it up all neatly. The issue is that the distributions do not have a real attitude of tight integration and strict user-centric organizational imperatives. Ubuntu, Fedora, et al use their platforms as late-stage testbeds instead of standardized, consumer-ready desktop burns with full integration. In many ways, OS X has shown us the ideal distribution. It's based on open technology and continually adopts new technology as it proves itself, but Apple is not afraid to integrate tightly and replace components with well-engineered, well-tested replacements as necessary (the origination of the divergence between X11 and Quartz), as long as it means a solid, unified, consistent and functional experience for their users. We need that now. Canonical fancies themselves after that pattern but I don't believe they take the needed organization seriously enough and I don't believe they have the technical expertise necessary to really make the tough calls and implement a technically-sound user-centric system (see: Mir). They need to get some new leadership in there.