[alsa-devel] Problems with maintaining a separate alsa-driver in a distribution

Takashi Iwai tiwai at suse.de
Mon May 18 12:59:37 CEST 2009

At Mon, 18 May 2009 13:55:57 +0300,
Ozan Çağlayan wrote:
> Takashi Iwai wrote:
> >
> > It's fairly difficult because the internal API was changed.
> > Especially the core struct was modified recently, thus there is no
> > ABI compatibility at all between the older kernel and the latest alsa
> > driver.
> >
> >   
> >> Is it technically possible to patch those tiny drivers onto
> >> alsa-driver and compile them if the .config file from the kernel source
> >> has enabled those DVB devices?
> >>
> >> Or maybe I should enable ALSA in-kernel, compile those DVB sound stuff
> >> and remove the sound/ directory from the kernel package? (Even the idea
> >> sounds really *dirty*, dunno if it's technically possible too)
> >>     
> >
> > You'd need to copy the original ALSA in-kernel stuff, copy the headers
> > from alsa-driver, then rebuild the related modules in kernel to follow
> > the new API.  Also, some wrappers would be needed, e.g. for the
> > obsoleted snd_card_new().
> >   
> But that shouldn't pose any problem if I stick with 2.6.30_rc* + latest
> alsa-driver right?

Right.  It's about 2.6.29 or earlier kernels.

> But yes, during the lifetime of a stable distribution
> release, the separate alsa-driver will always move faster than the
> kernel and the ABI changes will be inevitable.
> So It will become difficult enough when the stock kernel of the distro
> and alsa-driver diverges from each other, am I right?

Yes, at this time, the core struct was change, unfortunately.
If it's just about a function, this could be easier to add a hack, but
the struct is much more difficult to work around the ABI compatibility.


More information about the Alsa-devel mailing list