Linux AC'97 Sound Problem :\

Status
Not open for further replies.
I have run HD-installed Knoppix 4.(6 i think) with Kernel 2.6.11 dual-booted with windows XP for quite a while now, and have had no real problems with it at all.

However, recently i have booted up Linux (because windows got screwed, but that's not for here :haha:), to find that my sound no longer works...
the KDE Sound System complained that it could not play sound when i started up, and i thought, OK... thats wierd, and i tried to play a music file in XMMS and that also said it could not find the soundcard / make sure its not in use.

Randomly messing around, in silence i tried running some demo programs that i have on my windows partition with WINE to see if it will work, and i came to Brullwurfel.exe [this is a program that contains a player, and plays files contained within itself sortof like Tracker or something, It played sound... i couldn't believe it but sound was coming out of my speakers...

Also, sound works when running the games that come with this version of Knoppix (frozen bubble, Enigma etc...) I can also play things using XINE (however, this is a movie player, but it does play my MP3s, and it works) and i can also play things using modplug player (windows program opened with wine) im wondering if there's something thats reset to default or something, and XMMS and KSS isn't finding the sound card anymore, and also where my soundcard device might be located, or how i can find where it is. XMMS seems to suggest that "default" is /dev/dsp but, that's not working, XMMS, KSS and Audacity, none of those find a sound card, but other things, that dont really require sound setup... do...

So, how come these programs can play sound, but KDE Sound System and XXMS can't? Also, how to find out where my sound card is at, would also be good :). Any ideas? :bounce:

It is also strange that the sound suddenly descided to not work... myself having done nothing to it whatsoever for quite some time since it last worked.
 
Sounds can be played two ways in Linux - directly to the sound device or through a sound server.

A program can open the sound device (/dev/dsp or whatever) and write sound data into it. This means that no other program can play sounds at the same time since the sound device is busy.

Another solution is a sound server that grabs the sound device and then serves the sound requests from other programs. A program has to know about the sound server of course and noone can play sound directly because the device is busy.

So. First you have to find out what system the working programs are using. They may be playing the sound directly (OSS or ALSA) or using a sound server (arts or esound (esd)). Configure all your programs to use the same sound system.

Since Knoppix is KDE-based, then the "correct" solution would be the arts sound server and all programs using that.
 
Well, KSS is using arts, because when i started up, it said "arts error" (or something to that description, but definately with arts)

I had a mess about in Kde Control center, and told KSS to use OSS and XMMS now works uder OSS...


However you said OSS uses the sound card directly, is there any way i can set them all up to use a sound server like you said, so more than one program can play sound at any one given time?

(i have also noticed that OSS has an inability to use volume control, as the volume control on XMMS does nothing...)

Ta for your help.

EDIT:: Ok, i rebooted my computer, and XMMS no longer works. (modplug player under wine, brullwurfel under wine, frozen-bubble and others all still work)

Whenever i try to play with XMMS under OSS or ALSA i get the error :

Couldn't open Audio, please check that:
Your soundcard is configured properly
You have the correct output plugin selected
No other program is blocking the soundcard

Xine still works, and that is set up to use OSS : it is using AUTO for device name, with /dev/dsp in the drop down list. And something i found interesting, was that, OSS audio device number was set to "-1" (which i believe is NONE) as was OSS mixer device... whats going on there?

The problem is, i dont know how to check if my soundcard is configed properly (although it worked before :\) and that no other program is using it...

Oh and if you didn't already know, it is Onboard...
 
You can check for the existence of a sound server easily. Do "ps aux" in the command line and see if you have artsd or esd running. "ps aux | grep artsd" and "ps aux | grep esd". If you don't have the arts daemon running, then it's obvious nothing can use it.

Sometimes a program can hang while doing sound output directly to the device, blocking the thing for everything else. Killing the culprit is the only solution in such case.

Of course there is another obvious thing.. By default, the sound is muted in Linux. And there are separate volume controls for the sound card itself and the sound servers.. Run "alsamixer" to set the volumes on the raw sound device. The KDE volume control utility should take care of arts.
 
Status
Not open for further replies.
Back