Head-Fi.org › Forums › Misc.-Category Forums › Members' Lounge (General Discussion) › The Great Linux Debate: Pulse vs DMIX vs Nada
New Posts  All Forums:Forum Nav:

The Great Linux Debate: Pulse vs DMIX vs Nada

post #1 of 15
Thread Starter 
Ok, I've got a pretty new Gentoo box that gives me all kinds of flexibility. I don't know what to do in order to get the best sound, but still retain functionality!

I know that in order for multiple apps to access the soundcard, I'll need to use some form of software mixing. I also know that my main options are Pulseaudio and Dmix, also potentially Jack. Aaaand I know that on windows, you guys use something called Asio4all (or something like that) to bypass software mixing. I still got questions though.

Does this asio thing, when running, not allow any other apps to access the sound card?

Also, supposing I configure Dmix NOT to resample to 48000 (why does it do that ?!?!), is there any noticeable difference between pulse and dmix? I rather prefer pulse because it makes it easy to see who's accessing what and to re-route sound to different cards on the fly.

Is Jack better than both pulse and dmix? I now it's "low latency" or w/e, but I'm talking about sq-wise. Or is it just overkill? I only use Jack (currently) whenever I want to fux with Ardour.

Finally, lets say I do disable all software mixing. What kind of increase in sq am I really looking at vs running Pulse or Dmix? Noticeable?

I ask these questions on here rather than going out and testing them myself for a few reasons. One, it'd be a bit of a task doing all this testing, so I'd rather at least get some impressions from people who have some experience first. Two, my ears aren't exactly "awesome". I mean, I'm young and whatnot, but I've also got a sort of audio-ADD that makes it hard to concentrate, at least when working on something like comparing equipment and setups etc. I can, however, enjoy a good jam while doing some HW.
post #2 of 15
Well, this belongs in the computer sources forum, but . .

My perspective is a little skewed because i don't particularly need my linux boxes to allow more than one application to talk to the sound card at once. It's just not a problem i have given my normal usage patterns.

My impression of Pulse is that it was conceived of as an API for semi-pro audio workstations, and then ubuntu and others just started using it for consumer audio.

The problem with this is that Pulse has a tendency to expose rather than ameliorate issues with drivers and hardware devices.

It's also written with ideals that don't really help the average user. Say you have a sound card with good analog outputs that you use from time to time but you also have a DAC that you sometimes use, and you don't want to switch between them.

Pulse offers you the ability to send the same stream to any collection of devices - even if they are different cards completely, which sounds great, right?

Pulse also insists on synchronizing those streams. Really synchronizing them - to within a fraction of a milisecond. With considerable cpu overhead.

If you're me and the digital out goes to the HT receiver and the analog out goes to a headphone amp - so these devices will never be used at the same time - this is a lot of work to achieve a task that should be easier, because it's working hard to solve a problem i don't have.

There also seems to be a consensus that Pulse interferes to an unacceptable extent with the delivery of iec61937 bitstreams - which is to say, if you expected to push dolby or dts surround-sound bitstreams to an external decoder, you better expect that Pulse will give you a hard time about it. This is why, for example, mythbuntu doesn't install it by default. Because mythtv and other HTPC apps have so many problems with it. The first response to any "I have an audio problem" question in those forums is always "uninstall pulse".

So, in my book, for my purposes, dmix is vastly superior, because it lets my applications work the way they ought.

My most heavily used linux system has a slightly modified m-audio audiophile 24/96 card in it - which is a semi-pro 2-track recorder, so in linux it pretty much requires dmix or similar to make it behave like a consumer card (it doesn't enumerate stereo devices, for example) - and dmix works just fine. Gives me virtual stereo devices, they work at any sample rate without resampling, they send to both analog and spdif at the same time, and my Dolby and DTS bitstreams make it to the HT receiver every time.
post #3 of 15
Thread Starter 
Thanks for the response! I quickly glazed over the available forums and must have missed the computer sources one. Whoops. Hopefully a mod can move the thread for me? I look forward to reading more posts like yours.
post #4 of 15
I support this thread. I have the same question
post #5 of 15
Pulse sucks, imo. ericj really laid out a lot of the problems well. dmix seems to be a lot more transparent and user-friendly (automatically set up for analog with recent versions of alsa), and seems more than sufficient for the needs of most regular users (i.e., non pro-audio or commercial).
post #6 of 15
I don't think Pulse sucks, I think it's a toolkit designed to be used with some sort of open source implementation of ProTools or something, and doesn't really cater to my needs.
post #7 of 15
Thread Starter 
I think Jack is really geared to the pro-audio group. I dunno if Pulse really is meant to be a Jack alternative or not.
post #8 of 15
Pulse is intended to be an API of some sort that works with everything. I used Pulse when I had the time for Linux because I was making podcasts at the time, and ALSA and OSS would not work for me for multi-application work.
As far as I remember, OSS is the one you want to use for the best SQ. That said, I've been out of the Linux loop for about 5 months, but back then I used Arch (and failed to get OSS running on my old laptop I was using at the time.)
Alsa is good for basic machines, anything else I use pulse, no questions asked. I think Jack isn't intended to be main sound server, not that I remember. I used to always have to start it specifically when I used Ardour. And yes, Jack is the pro-audio sound server.
post #9 of 15
Quote:
Originally Posted by ethan961 View Post
Pulse is intended to be an API of some sort that works with everything. I used Pulse when I had the time for Linux because I was making podcasts at the time, and ALSA and OSS would not work for me for multi-application work.
As far as I remember, OSS is the one you want to use for the best SQ. That said, I've been out of the Linux loop for about 5 months, but back then I used Arch (and failed to get OSS running on my old laptop I was using at the time.)
Nonsense. ALSA was conceived of due to severe shortcomings (like high latency) in the OSS api.

Stands for Advanced Linux Sound Architecture for a reason.

The commercial OSS drivers are sometimes advantageous for purposes of driver support for new devices, but not always.

whether or not you'll need to use dmix or Jack or eSound or aRts or Pulse to allow multiple applications to access the card at the same time is a matter of hardware limitations, and cards that have more than one pair of hardware output channels that alsa can sort out directly without having to set things up in your .asoundrc are increasingly rare.

Pulse may be the only server other than dmix that can create virtual ALSA devices, though, and seems to have been intended to be a low-level solution in the same sense as dmix, just with more ambitious goals. The fact that you can get PulseAudio for windows should be somewhat telling on that point.
post #10 of 15
Oh, I might not have made it clear, I'm talking about OSS4, not the ancient OSS that came before ALSA.
post #11 of 15
I still don't buy the argument that OSS4 sounds better than ALSA.

I'd frankly like to see someone measure it, or at least explain how.
post #12 of 15
Quote:
Originally Posted by ethan961 View Post
Pulse is intended to be an API of some sort that works with everything. I used Pulse when I had the time for Linux because I was making podcasts at the time, and ALSA and OSS would not work for me for multi-application work.
As far as I remember, OSS is the one you want to use for the best SQ. That said, I've been out of the Linux loop for about 5 months, but back then I used Arch (and failed to get OSS running on my old laptop I was using at the time.)
Alsa is good for basic machines, anything else I use pulse, no questions asked. I think Jack isn't intended to be main sound server, not that I remember. I used to always have to start it specifically when I used Ardour. And yes, Jack is the pro-audio sound server.
I've heard mixed reports. Some people say ALSA works perfectly for them and OSS4 caused sound problems, distortions, etc., and others say the opposite, that ALSA had sound problems or they couldn't get it to work right for them, but OSS4 solved it. Maybe a lot of it depends on the hardware.
post #13 of 15
Quote:
Originally Posted by userlander View Post
I've heard mixed reports. Some people say ALSA works perfectly for them and OSS4 caused sound problems, distortions, etc., and others say the opposite, that ALSA had sound problems or they couldn't get it to work right for them, but OSS4 solved it. Maybe a lot of it depends on the hardware.
Both "caused sound problems, distortions, etc" scenarios are likely configuration issues.

Or go back to that "sometimes the commercial OSS drivers have better driver support for newer cards" thing.
post #14 of 15
Quote:
Originally Posted by ericj View Post
Both "caused sound problems, distortions, etc" scenarios are likely configuration issues.

Or go back to that "sometimes the commercial OSS drivers have better driver support for newer cards" thing.
Who really knows? Probably a combination of all of the above. ALSA has always worked fine for me, so I've never ventured to try OSS4. I'm just reporting on what I've heard, like in this thread:

Arch Linux Forums / OSS4 vs ALSA vs Pusleaudio vs Jack
post #15 of 15
I just got that from my reading in the Arch forums, several months ago, I haven't tested it myself. Maybe when I get some time I'll install arch on my new quad core and play around a bit, see which works. I do remember reading a debate on there which has the better sound quality, and I do remember OSS4 being the top, if you got it working. I really don't know, and there probably isn't a whole lot of difference between them all.
New Posts  All Forums:Forum Nav:
  Return Home
Head-Fi.org › Forums › Misc.-Category Forums › Members' Lounge (General Discussion) › The Great Linux Debate: Pulse vs DMIX vs Nada