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>