sound works, but how?
chuckr at chuckr.org
Wed Jan 9 11:44:10 PST 2008
-----BEGIN PGP SIGNED MESSAGE-----
Stuart Barkley wrote:
> On Tue, 8 Jan 2008 at 18:39 -0500, Chuck Robey wrote:
>> Anyhow, I have a Motherboard with a AD1988b sound chip (it's
>> hda/Azalia). I have both the sound, snd_hda, and the oss sound kld'd
>> in. and an ossinfo seems to like things,
> Are you trying to use the FreeBSD sound system or the OSS sound system
> (http://www.opensound.com)? It sounds like you might be using the OSS
> drivers (from the later reference to /dev/oss/hdaudio0/pcm0).
This is going to sound like I'm being cute, but believe me, I'm not ... I
don't know what it means to use the snd_hda, I mean, when I run this alone,
I see no sound devices pop up for me to vector sound in/out to. Because of
that, I went ahead and also ran oss. If you can tell me how to run the
snd_hda alone, I will try it immediately.
>> As a GUI, I run gnome, and things like all the various gnome beeps,
>> blips and moans come out as designed, so I think that a lot of sound
> Some of the GUIs will grab /dev/dsp preventing other applications from
> using it at the same time. Is esound (esd) running? Does anything
> have /dev/dsp (or /dev/oss/hdaudio0/pcm0) open? You might try:
> # lsof | egrep -i "dsp|pcm"
OK. lsof gave me the return:
gam_serve 28160 chuckr 390r VREG 0,104 2255 2008768
I think that's not opening pcm or dsp directly, but I found the process
owned by gam_server, and sent it a HUP, but that only resulted in 3
gam_server processes. Trying to kill them gave me 5 gam_servers, after
which I abandoned that strategy. Anyhow, lsof didn't show anything opening
pcm or dsp directly.
> The FreeBSD drivers now support virtual channels which really helps
> deal with multiple applications all wanting to bleep and groan. I put
> the following in /etc/sysctl.conf:
Man, I really hate to play with things that I don't know how they work.
The only docs I have been able to find on any of the vchan stuff is that
section 7.2.3 of the manual, which is a whole long way from being complete.
Even giving a really complete discription of the sysctl oids inside hw.snd
would be helpful. Like, I just tried doing "sysctl -a | grep hw.snd" and
sysctl tells me it hasn't got any such oid. Great.
I have no docs, and sysctl tells me it hasnt' any such oid. I'm afraid if
I just experiment blindly in /etc/sysctl with what you're showing me, I
might be blowing things up, but I don't see a lot of choice.
You know, when I tried running sound and snd_hda alone, I found no sound
type devices in /dev. the snd_hda man page doesn't tell me which ones to
look for, could yo umaybe offer me some help in that direction? I begin to
wonder if I shouldn't be runnig snd_hda and oss together.
Maybe, I am going to have to sit and read all the code.
> I don't know if the OSS drivers support this functionality.
>> My problem is, no other sound playing works now. For instance, I
>> used to be able to play mp3's with either xmms or mpg123, but now,
>> they neither of them work. I've experimented with a pretty wide
>> array of sound tools, nothing works. The errors come in two flavors
>> ... mostly, they complain that they weren't able to open the
>> /dev/dsp0 which seems fine, it's a softlink here to
> Without virtual channel support this is the type of message you will
> see if something already has the sound device open (under any of its
> various names).
>> Am I using the right device, which is that dsp0 link, which is
>> created by the oss driver? is that device able to be opened by both
>> the GUI and othjer progs at the same time?
> In general the best device to try is /dev/dsp (even if it doesn't show
> as a file in /dev).
> Without the FreeBSD virtual channel support the FreeBSD drivers will
> only allow a single application to open the device at a time.
>> Seems stupid not to allow the GUI to share the device, right?
> It takes something to mediate the various sample rates, data bit
> depths and mixing the digital data streams from multiple applications.
> Audiophiles may not like the simple sample rate conversion performed
> and many prefer not having that behavior on their high end devices.
> FreeBSD virtual channels does this and doesn't require special support
> in every application. I've been a much happier camper since this
> support has stabilized.
> esound is another thing which attempts to do this, but all
> applications need to be built against it. It's possible you built
> some ports before you built gnome and that they didn't all get rebuilt
> with esound support.
>> Am I right to run both snd_hda and the oss hda modules both at the
>> same time? Or should I use oss alone?
> I suspect you should only be using one or the other. I have not
> recently tried the OSS drivers.
>> I've tried this both as a regular user and as root, to get past the
>> permission problem (I wasn't sure) but could it still, somehow, be a
>> permission problem?
> You should also try without any GUI running. Either run from a
> console window or ssh into the system from another system. mpg123
> will run from the command line. With the virtual channel support you
> should be able to run mpg123 in two different terminal sessions
> playing two different files.
> Stuart Barkley
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2.0.4 (FreeBSD)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
-----END PGP SIGNATURE-----
More information about the freebsd-multimedia