Marco Pietrobono a écrit :
Hi,
I'm starting to work on a native ALSA driver for wine. Since I remember that Marcus was working (or was planning to work) an that one too, I would like to know if there is already something to work on or to contribute to, or if I need to start from scratch.
If there is nothing already written, I would like to discuss what kind of approach we should use with ALSA programming, since FWIK there should be two way to use it: we can use the ALSA devices directly, just like it has been done with OSS, or we can use the alsalib to avoid all direct references to the kernel devices and ioctl, but this solution will add a dependency on the alsalib library itself to wine. Of course, we could add a configure option/check to allow its use at compilation time, but...
after Gav and Ove clarified the license details, lets go back to the technical bits this driver is against ALSA 0.5 interface. It will provide the bare bone wave part, but not yet the mixer part nor the MIDI. Moreover, it should also support the mmap interface (this was part of the code that needed to be checked and revisited, and David should be looking into this)
basically, this would allow to turn on mmap (which greatly enhances the dsound playback quality) on all soundcards (some OSS emulations for ALSA don't allow a correct mmap on the OSS mmap interface, so directly using the ALSA mmap interface should take of it)
work will still be done on the installation stuff (basically, the registry must be written with either ALSA or OSS driver, depending on the installed interface on Linux)
then, an ALSA final should be written. As the ALSA interface has greatly evolved between 0.5 and 0.9, the ongoing ALSA driver will need to be rewritten for ALSA 1.0 (aka final). Until Linux 2.6 is out, there will be no need for ALSA 1.0, as most of the current distros ship with either OSS or ALSA 0.5.
A+