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

  www.jwz.org
  userinfo
  archive
  rss

Links
[»| DNA (Log) (iCal) WebCollage (LJ) Mixtapes ]

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]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]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]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]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]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
[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.
From: 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]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]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: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]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]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.
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]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]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)
[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: 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).
(no subject) - crimsun Expand
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] >>