Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 12 Mar 1997 15:37:10 +0100 (MET)
From:      Luigi Rizzo <luigi@labinfo.iet.unipi.it>
To:        hackers@freebsd.org
Subject:   Status and future of sound drivers ?
Message-ID:  <199703121437.PAA03647@labinfo.iet.unipi.it>

next in thread | raw e-mail | index | archive | help
Hi,

before wasting time on something others are already doing, I'd like
to have some info on the status and the future of the sound drivers.

Also I'd like to solicit opinions (and contributions) on this issue.

I am crossposting this to hackers because I also believe it is
relevant there.

=== CURRENT STATUS ===

I notice that the sound driver sources on 2.1.7 are mostly the same
as 2.1R, and sound support is, IMHO, one of the worst parts of
FreeBSD.

First of all, the sound driver currently includes the "audio" and the
"music" stuff. I don't know how good is this. "audio" staff is mostly
used for conferencing-type of applications, "music" (meant as FM
synthesis, OPL, midi...) is probably more oriented to games and other
uses. Different users means that those who use (and could possibly
update) one set of features are discouraged because of the fear of
breaking something in the other set.

Our sound driver is heavily outdated, especially on the
"audio" section: most "modern" sound boards nowadays have full duplex
support via WSS and AD1848/CD4231 compatible codecs, are configured
via PnP, and such hardware costs very little (the equivalent of US$ 25
here for the cheapest units), at times it is even on the motherboard.
But our driver only supports PnP and full duplex on a small number of
cards, just because some volunteers added specific support. If one
wants a "working" card probably has to get either an old soundblaster
with jumpers etc, or "the same as Amancio" (to mention one of these
volunteers).

I have the feeling that the "music" part is in better shape, but I
cannot tell for sure since I have no interest in the latter.

I believe sound development has been somewhat frozen while waiting
for the Open Sound System stuff. But this situation has been lasting
quite some time, and I have no idea if anything is coming out in
a reasonable time.

I also have the feeling that updates to the audio part are very hard
now, because of the intricacy in the current code, and the
fear of breaking something, especially in the "music" part. Lack of
documentation is one of the main problems (at least for me) in
undertaking this task.

=== PROPOSAL ===

There are two ways to update the sound drivers: wait for the new
OSS stuff, or start updating the sound driver on our own.

One of the main reasons to wait for OSS (if I remember well) was to
have a cross-platform set of system calls for audio devices, so as to
ease porting software. On the other hand, this has several
disadvantages:

    - potential delays in updating the drivers (when is the new "voxware"
      stuff going to appear ?)
    - copyright -- how is it going to be ?
    - lesser control over drivers -- since the author is not developing
      for FreeBSD only, significant modifications (for whatever reason)
      are not possible;
    - a different "style" of the sound drivers with respect to other
      FreeBSD ones, which would make it harder for FreeBSD contributors
      to work on it.
    - PnP is not only relevant for the sound part -- so it should be
      supplied anyways.

Considering the above, I am totally in favour of trying to support
sound devices autonomously, by starting from the current sources and
trying to bring them in line with current FreeBSD drivers and new
boards. Inclusion of support for a common interface will be easily
added (assuming that we don't get it right in the first place)
since we have full control on the sources.

The sound drivers in FreeBSD have a Berkeley-style copyright so we
can work on them. They contain a considerable amount of info on
the "music" devices. Documentations on WSS compatible devices is
already available on the net (see for example
http://www.opti.com/products/sound.htm), we do have some working
PnP code which is perhaps not ready for prime time but does a decent
job.

	Luigi



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199703121437.PAA03647>