jwz - fuck the skull of alsa [entries|archive|friends|userinfo]
jwz

  www.jwz.org
  userinfo
  archive
  rss

Links
[»| [DNA Lounge] [Blog] [iCal] ]
[»| [DNA Lounge Legal Defense Fund] ]
[»| [WebCollage] [LJ WebCollage] ]

fuck the skull of alsa [Wed, 1-Jun-2005 8:12 PM]
Previous Entry Add to Memories Tell a Friend Next Entry
[Tags|, , , ]
[music |Scar Tissue -- Failure]

Ok, so having acquired an 1/8"-to-RCA, it turns out that yes, the SB0410 will provide S/PDIF out. However, it has the same problem that the CMI8738 had, which is, I can't play two sounds at once.

This may be related to the fact that the only XMMS setting that will produce audio is the OSS driver; all other options produce "please check your sound card settings."

Even when XMMS is not running, Flash applets still can't make noise.

I can't believe I even have to think about this shit. What year is it again?

linkReply

Comments:
Page 1 of 2
<<[1] [2] >>
[User Picture]From: [info]ralesk
Wed, 1-Jun-2005 8:18 PM (UTC)

(Link)

Obviously a decade later than Linux should have abandoned OSS allto-fucking-gether and conceived a much, much more decent idea than what ALSA is.
[User Picture]From: [info]zetawoof
Wed, 1-Jun-2005 8:35 PM (UTC)

(Link)

Well, FWIW, OSS is marked as "deprecated" in the kernel config. Too bad ALSA is only slightly better.
[User Picture]From: [info]mark242
Wed, 1-Jun-2005 8:30 PM (UTC)

(Link)

Is it too early in the discussion to recommend a G5?
[User Picture]From: [info]longwalks1
Mon, 27-Jun-2005 2:17 PM (UTC)

g5

(Link)

Yeah, my next one will be mac. Kubuntu almost makes it, but, yeah, Mac
[User Picture]From: [info]zetawoof
Wed, 1-Jun-2005 8:33 PM (UTC)

(Link)

ALSA + dmix + snd_pcm_oss. Make sure you have the right ALSA module compiled in or otherwise available.

The lazyweb can as easily find you an appropriate ALSA configuration as it did me, so I won't bother digging one up.
[User Picture]From: [info]zetawoof
Wed, 1-Jun-2005 8:56 PM (UTC)

(Link)

That is, assuming that there are ALSA drivers available. If there aren't, my best advice is to run away screaming and be found, years later, in an asylum in Paris.
[User Picture]From: [info]ewindisch
Wed, 1-Jun-2005 8:49 PM (UTC)

(Link)

Is it too late to say, I told you so?
[User Picture]From: [info]publius_ovidius
Wed, 1-Jun-2005 9:14 PM (UTC)

(Link)

I gave up and went to Mac. I still have a Linux desktop, but I am sick, sick, sick to death of having to tweak every last little friggin' thing.
[User Picture]From: [info]unstable_geek
Wed, 1-Jun-2005 11:46 PM (UTC)

switching your Mac

(Link)

I'd love to hear more about your switch. But not in this blog ;) Have you written anything up about it?
[User Picture]From: [info]octal
Wed, 1-Jun-2005 9:17 PM (UTC)

(Link)

You may be able to make it work by using "enlightenment sound daemon" (esd), set with OSS output. This will basically work as a software mixer for various outputs.

If you can get esd working, xmms fairly reliably works with esd, and so should flash plugins.
[User Picture]From: [info]zetawoof
Wed, 1-Jun-2005 9:31 PM (UTC)

(Link)

ESD?

HAHAHAHAHAHA HAHAHAHAHAHAHAHAHA *gasp* HAHAHAHAHAHAHAHAHAHAHAHAAAA.

No. Just no.
[User Picture]From: [info]korgmeister
Wed, 1-Jun-2005 9:26 PM (UTC)

(Link)

"What year is it again?"

On planet Linux, it is 1994. On planet Linux it is ALWAYS 1994.

And anyone who disagrees can be SENT BACK TO THE WINDOWS GULAG!

That way everyone can go back to agreeing about how user friendly and compatible and functional Linux is now and how the only reason Windows users don't migrate is because they're all stupid.

See, Linux Propaganda Remix - If Operating Systems were Airlines
From: [info]edge_walker
Thu, 2-Jun-2005 11:55 AM (UTC)

(Link)

It has gotten much, much better. There are a lot of people whose hardware will be identified and configured out of the box by Fedora or Knoppix or Ubuntu – sometimes even when Windows fails. But woe if you’re not so lucky: that hasn’t gotten any better. (Which is what the article you linked is saying, so yeah.)

Of course the problem is to a large part due to desktop periphery vendors ignoring Linux – mostly because the kernel folk refuse to make any amends for them. But the kernel folk are right when you look at the figures that say > 85% of fatal crashes on Windows are due to third party device driver bugs, while the Windows kernel itself is very stable at this point. Mac users avoid some of the crapola by way of hard cash.

Basically noone has figured this out yet. Maybe in 200 years we’ll know enough to make computers that don’t suck.

[User Picture]From: [info]cbj
Wed, 1-Jun-2005 9:30 PM (UTC)

(Link)

Is this the joy of free software? I despise having to hunt down and deal with crap like this on my own Linux box. I don't know what you're running, I do know I've sometimes had weird sound issues involving the sound daemon used by gnome, which is used to allow multiple sources to play at the same time I believe. See esound overview.
[User Picture]From: [info]neochaos
Thu, 23-Jun-2005 4:04 AM (UTC)

(Link)

ESD just adds to the goddamned problem.
From: [info]na_pis
Wed, 1-Jun-2005 9:34 PM (UTC)

(Link)

Why did not you check ALSA support matrix at www.alsa-project.org?
BTW SB0410 is supported by snd-ca0106 module -- should have worked.

PS: It is a long time since I had my last problem with sound, but I am using different HW: Ensonic 5880(snd-ens1371) and nVidea CK804 chip (snd-intel8x0)

PPS: XMMS? Why?
[User Picture]From: [info]scosol
Wed, 1-Jun-2005 10:51 PM (UTC)

(Link)

PPS: XMMS? Why?

and what is better than xmms for simple audio media playback?
i'm open to anything...
[User Picture]From: [info]otterley
Wed, 1-Jun-2005 10:13 PM (UTC)

(Link)

The particular sound card you're using is probably adequate for your needs. The fact is, however, that nearly all personal sound cards (or chipsets, if you're in the Intel ICH world) give you only two channels, enough to give you stereo sound. 5.1 output is merely gravy. Only "professional grade" sound cards do multi-channel hardware mixing, and they generally require a special API supported only by Windows and Macintosh. There are a few that are Linux-compatible, however.

Simultaneous sound playback is almost always handled in software these days (i.e. by the host operating system, and not in hardware). Windows has had a software mixer since the early 1990s, probably earlier. Macintosh, probably even earlier than that. Anything called a hardware mixer almost invariably refers to the onboard hardware that switches among the various hardware inputs (software playback, CD-ROM, mic in) and outputs (line out, headphones, software record).

There are at least three software mixers for the "free" *NIX world, though they're not discussed in the HOWTO (which was last updated nearly 4 years ago). They are esd (used primarily by Gnome), ARTS (the KDE mixer) and an ALSA plugin called dmix.

If you cannot get XMMS or Flash to output audio, consider running xmms or your browser under the aoss(1) wrapper.
[User Picture]From: [info]baconmonkey
Thu, 2-Jun-2005 5:11 AM (UTC)

(Link)

Only "professional grade" sound cards do multi-channel hardware mixing, and they generally require a special API supported only by Windows and


Gravis Ultrasound circa 1992 had 32 channel hardware mixing. it was massively popular among "demo" coders back then for that very reason. Also, my late 1990s SB Live (with SPDIF out) has hardware mixing, as well as environment effects (read hardware reverb).
[User Picture]From: [info]jmason
Wed, 1-Jun-2005 10:35 PM (UTC)

use esd

(Link)

The only reasonable answer I've found (after much trying) is to pretend it's 1999, and use esd. Even with the "dmix" ALSA software mixing plugin (which is recommended), some apps are antisocial and only offer support for esd, or OSS and ALSA in exclusive-access lock-everyone-out mode.

Given that, you can only rely on esd in the end, as the most common supported-by-everything option.

If you want, you can use "aoss esd -nobeeps -noterminate" to keep esd running at all times, outputting through ALSA.

This really drives me nuts. Linux sound seems to be a particular case where the CADT model applies.
[User Picture]From: [info]scosol
Wed, 1-Jun-2005 10:49 PM (UTC)

Re: use esd

(Link)

except remove the "-nobeeps"- cmon- the startup sequence is sweet :)
it's kinda like it reminds you who's in control hahahahah
[User Picture]From: [info]scosol
Wed, 1-Jun-2005 10:42 PM (UTC)

(Link)

HAHAHAHAHAH come to the mac side-

seriously- think about it- what system do you actually *use* on the computer?
it's not "linux" or "freebsd", it's "X11"-
if you saw my desktop you would shit-
and i hate preaching as much as the next guy, but really- for running mostly X apps in an environment that also provides sweet native sound/video/app support, there really is no equal.
for my base of operations i run mozilla, xmms, gkrellm, vim, aterm, rox-filer-
my only mac apps open are stickies, adium, quicksilver, and entourage
(and this is only because the mac does it better here, i'm very much a "use the best tool" kind of guy)
then when my corporate punishment demands it?
i can run WINDOWS MEDIA PLAYER
and MICROSOFT EXCEL
and MICROSOFT POWERPOINT
and everything functions perfectly-
...
i'll wager you a game of rez, if you go mac you will NOT go back...
[User Picture]From: [info]thomtoffner
Wed, 1-Jun-2005 11:22 PM (UTC)

(Link)

>if you saw my desktop you would shit-

So let's see it, I forgot to take my Metamucil today.
[User Picture]From: [info]scosol
Wed, 1-Jun-2005 10:45 PM (UTC)

(Link)

err- stopping the preaching :P
it sounds like you need a sweet soft-soundserver-
try esd, but my personal pref is jack-
that's the easy way to make that particular problem go away
[User Picture]From: [info]scosol
Wed, 1-Jun-2005 10:46 PM (UTC)

(Link)

also- esd makes the coolest startup-sequence-sound ever-
reason enough for me to use it :)
[User Picture]From: [info]mjg59
Thu, 2-Jun-2005 1:13 AM (UTC)

(Link)

You either want to go here
and find a card which has a (3) next to it indicating hardware mixing support, or you need to go through pain and misery and try to get dmix to work on alsa and then reconfigure all your applications to use alsa for sound output. I recommend the first.

This is one of those things that genuinely ought to be better in 6 months (alsa people have been working on it heavily), but the fact that it doesn't is still plainly insane.
[User Picture]From: [info]evildagmar
Sun, 12-Jun-2005 7:10 AM (UTC)

(Link)

Yep. Note that the SBLive! one can usually obtain for under $20 is in that list of cards that support hardware mixing. For the longest time I had no idea what people were even complaining about, since I generally stick one of these cheap little monsters in most of the machines I build even if they have onboard sound. I never had a problem playing two sounds at once. ;)
From: [info]kfringe
Thu, 2-Jun-2005 4:07 AM (UTC)

(Link)

You need to use esd or the whole thing will go rotten on you. I had thought you were running two copies of esd, but you disabused me of that notion. What is happening is that you are running xmms before esd starts. That gives you the same ugliness (ie: esd never gets a hold of your audio device).

Even if you have a hardware mixer, your software isn't going to do the right thing by default. I'm sitting in front of a Windows machine now, so this is going to be inaccurate, but you want to look under /dev for different audio devices (/dev/dspFOO.FOO /dev/dspFOO.BAR). Those are the mixer channels. If you won't use esd with xmms, you need to tell xmms to use one of the later devices.

I have no idea if the default linux builds of firefox are esd friendly. My experience has been that they are if esd was present on the machine at compile time. The odds are good that the flash plugin is just going to try to grab /dev/audio either way.

My solution for the past four years has been to kick esd awake in my xinit and bind it to one of the mixed channels (esd -d /dev/audio0.1 -noterminate -nobeeps -unix). This lets idiot software that doesn't know any better work.

Doing that should also let you pick the esd output option for xmms. I would guess that xmms isn't bright enough to start esd on its own.

It's all very easy and makes perfect sense, don't you think? And the Kool Aid is delicious.


[User Picture]From: [info]fantasygoat
Thu, 2-Jun-2005 8:29 AM (UTC)

(Link)

You're a pretty smart guy, and you enjoy making fun of myopic nerds and their obsessive behavior, which makes me wonder why you haven't abandoned Linux despite many years of pain and suffering at its inadequacies. Before OSX I could understand, but now?

But then, I run a mail program from 1997 so I'm not one to talk.
[User Picture]From: [info]jace
Thu, 2-Jun-2005 10:50 AM (UTC)

(Link)

He's said it before that he'll move given a usable build of (X)Emacs for OSX. But as a vim-head, I'm not one to speak on the state of affairs (macvim still sucks).
[User Picture]From: [info]owen
Thu, 2-Jun-2005 10:54 AM (UTC)

(Link)

1. I can only assume that everyone who commented and said "the solution is ALSA" doesn't read jwz's blog often enough, and also missed this post's title, "fuck the skull of alsa."
2. I remember having this exact problem probably 2+ years ago, also hating ALSA more than anything in the Linux world, and resolving it by using esd. It was somewhat painful but I did get it working. I'm surprised it hasn't been resolved more gracefully now. Wait, no I'm not.
3. Although I'm not actually going to SUGGEST that Jamie switch to a Mac, because I'm just assuming that a) he's heard that 200 times before and b) he has lots of perfectly good reasons why he doesn't want to do that... but that's what I ultimately did also.

I've concluded that, in light of OS X, Linux as a desktop OS is dead.
From: [info]adolf
Thu, 2-Jun-2005 8:27 PM (UTC)

Yo.

(Link)

I just fired up some music in XMMS, while watching/hearing a mplayer do its thing, on my identical Soundblaster.

It seems to work fine with both random mixtures of ALSA, and OSS usage by XMMS and mplayer.

I don't appear to have dmix installed -- unless it is wrapped up into ALSA in some fashion that slocate doesn't detect, it's not here.

I certainly don't have anything complicated set up with ALSA, XMMS, or mplayer.

Of course, it -is- a Gentoo machine, so it would be rather unsurprising if ALSA simply behaves differently on it than with anything else.

(FWIW: XMMS 1.2.10 and ALSA 1.0.8 as shipped with Gentoo's idea of what kernel 2.6.11 should be.)
From: [info]adolf
Thu, 2-Jun-2005 9:43 PM (UTC)

Re: Yo.

(Link)

Except, I forgot to mention (or, rather, I forgot to read): It's not identical, at all.

The SB0410 is a whole different beast from the SB0100 that I know and love, having little in common with it except for the "Live!" moniker on the box and a PCI interface on the card.

My extraordinarily positive experience is, thus, useless in this matter.

I advise you to accost the person who did you the favor of "upgrading" your order, armed with the offending item and any packing material it may have arrived with. The rest will come naturally.
From: [info]ncmncm
Sun, 12-Jun-2005 8:38 AM (UTC)

Time warp

(Link)

I have none of the problems others on this list complain of. The only problem I've had with sound in years has been buggy programs that keep the sound device open so I can't unload the (ALSA) sound module; even that was only a problem when I was experimenting with something unrelated. (Of course buggy programs are just as common on OSX.)

Maybe you're using the wrong distribution. I'm using Debian. You might prefer Ubuntu. If you do go to G4/G5, you can run Debian GNU/Linux underneath the Macosix UI -- emulating Darwin syscalls -- and get much better performance. Presumably that will be even easier with Macosix/x86, and won't restrict you to expensive Apple hardware.

It makes no sense to complain about "Linux" archaisms if you're running an archaic distribution. Those are for people who like that sort of thing. Run something modern and get modern behavior.
From: [info]fafhrdthedev
Sun, 12-Jun-2005 10:45 AM (UTC)

configuration necessary, but it's not _that_ hard...

(Link)

Okay, I have a crappy onboard intel sound chipset on my laptop, and ALSA offers my sound mixing with *both output and input*.

You will have to configure things, sure 'cause I haven't seen a distro yet that does this nicely.

Also, the only real problem with ALSA, imho, is that documentation is scarce. There was a publicized flamefest on the ALSA mailing lists about 2 years ago now, and since then, the ALSA project members realy have stepped up to create at least a good start for ALSA documention.

Okay, onto the good stuff. Here's my /etc/asound.conf
-|snip|-
#asym fun start here. we define one pcm device called "dmixed"
pcm.dmixed {
        ipc_key 1025
        type dmix
        slave.pcm "hw:0,0"
}

#one called "dsnooped" for capturing 
pcm.dsnooped {
        ipc_key 1027
        type dsnoop
        slave.pcm "hw:0,0"
}

#and this is the real magic
pcm.asymed {
        type asym
        playback.pcm "dmixed"
        capture.pcm "dsnooped"
}

#a quick plug plugin for above device to do the converting magic
pcm.pasymed {
        type plug
        slave {
                pcm "asymed"
                rate 48000
        }
}

#a ctl device to keep xmms happy
ctl.pasymed {
        type hw
        card 0
}

#for aoss:
pcm.dsp0 {
        type plug
        slave.pcm "asymed"
}

ctl.mixer0 {
        type hw
        card 0
}

#done

-|snip|-

Please, use this as a basis for your configuration. It looks kind of voodoo-y, but really, it's just defining ALSA "internal plugins", of which, dmix (or better 'asym') are what you want. After setting up asound.conf, you really only need to massage apps that only use OSS (i.e. using 'aoss' and such [which makes my life much happier wrt firefox and the flash plugin]).
From: [info]4front
Sun, 12-Jun-2005 11:02 AM (UTC)

We agree about ALSA!

(Link)

Hey JWZ,

We've been looking for words about ALSA and you couldn't have said it more succinctly! Thanks!.

Since you're moving to MacOSX, check out our OSS/3D plugin for iTunes/Mac OSX (it the featured download!):
http://www.apple.com/downloads/macosx/ipod_itunes/

More info on OSS/3D is at http://www.oss3d.com


For those of you who've been disenchanted by ALSA, get OSS for free at: http://www.opensound.com/download.cgi
We promise that your music will never sound flat after using OSS!




best regards


Dev Mazumdar
4Front Technologies
(www.opensound.com)
From: [info]fafhrdthedev
Sun, 12-Jun-2005 12:28 PM (UTC)

Re: We agree about ALSA!

(Link)

I should state some things before I reply:
- I prefer ALSA over OSS, atm
- I've used commercial OSS (from you!) successfully for projects in the past, and it suited my needs perfectly

Okay, having said that, maybe I should ask how you have your OSS set up that multiple apps can output audio at the same time? The virtual mixer in OSS commerical, last I checked, only supported up to 8 apps (which seems like a arbitrary number). User space sound mixer daemons have proved way to ineffectual to be of any use.

For e.g., let's say your checking out the newest Strong Bad email over at homestarrunner.com, and someone IMs you ... do you hear any sounds from your IM client (assuming you configured it to make sounds)? I've *only* had this work with ALSA.

People want "what works" and "what's easiest" -- in no particular order, but for me "what works" is more important ... so unless I"ve missed something, how can OSS allows multiple applications to output audio at the same time w/o a user space sound server? ALSA can, and it's easy -- there's admittedly very little documentation, which IMHO, is the only real problem with ALSA.
[User Picture]From: [info]matty
Sun, 12-Jun-2005 1:06 PM (UTC)

Need a sound daemon

(Link)

You need a sound daemon, Ie artsd under kde or Jackd. I'd suggest using artsd as the xmms-arts ouput plugin is pretty simple. Using konqueror it'll just play flash movies into artsd, if your using slowzilla or that stupid fox thing, you'll have to launch it with 'artsdsp {application name}'

What year is it ?... Umm the year of Free operating systems dont do everything for you, hence why they make better versions.

http://www.xandros.com/products/home/desktopoc/dsk_oc_download.html

{Yes, i work for xandros.}
From: [info]crimsun
Sun, 12-Jun-2005 2:19 PM (UTC)

Actually...

(Link)

In defense of James Courtier-Dutton <james@superbug.demon.co.uk>, who is coding the snd_ca0106 ALSA driver that your card uses, Creative has been less than forthcoming with docs, and he has had to reverse-engineer all the support that is present. He hangs out in #alsa as jcdutton on irc.freenode.net.

You can use ALSA's dmix support to play two sounds at once. By the way, don't buy into the hype that your card supports multiple simultaneous sounds in hardware, because it doesn't. Ask James, he wrote the darned driver.

As for your XMMS issue, try specifying "plug:dmix" in the ALSA device drop-down menu (you'll have to type it in manually) of the ALSA output plugin preferences. You'll need to disable mmap support via the checkbox if you use a version of ALSA (alsa-driver and alsa-lib) older than 1.0.9.
[User Picture]From: [info]goodkingnerdnor
Sun, 12-Jun-2005 4:24 PM (UTC)

(Link)

Gotta say I find this odd. I'm using an SB Audigy Platinum and all my output features and the Audigy Drive work fine under Linux (using KUbuntu build 5.04 Hoary Hedgehog).
From: [info]crimsun
Sun, 12-Jun-2005 6:12 PM (UTC)

(Link)

Your Audigy Platinum uses the snd_emu10k1 driver, not the snd_ca0106 one. The former does not drive the crippled hardware that the latter does.
From: [info]sxpert
Wed, 6-Jul-2005 11:31 PM (UTC)

audio cards that work you ask ???

(Link)

easy.
got myself an M-Audio Delta 1010. this thing does all I tell it to do :D
Page 1 of 2
<<[1] [2] >>