stripping off "xf86-*-" from drivers

Dave Airlie airlied at gmail.com
Thu Jan 24 14:31:33 PST 2008


On Jan 24, 2008 11:33 PM, Matthias Hopf <mhopf at suse.de> wrote:
> On Jan 24, 08 14:26:22 +0100, Stephane Marchesin wrote:
> > Yeah, I've been thinking about that issue too, and I was wondering if
> > it would make sense to ship full drivers (i.e. DRM+DDX+DRI) together
> > instead of having to ensure 3-way compatibility between those modules.
> > The binary drivers do it, and no one complains to them (well not for
>
> That... isn't exactly true :-P
> That every new release of these drivers also need kernel driver updates
> isn't exactly helpful, from a distributor's point of view. Just nobody
> complained, because it's perfectly clear that bitching won't help here ;)
>
> That said, I find your approach actually reasonable - most times you
> have to package all 3 of them anyway, because they aren't completely
> backwards/forward compatible.
>

I hope not, if anyone finds backwards incompatibilties in the kernel
drm as shipped from Linus please let me know,
I spend a lot of time trying to make sure people don't  break the
userspace API exported from the drm modules.

Now as to Stephane's point, this isn't possible for distros and it
would rapidly become a nightmare.

a) we don't have a stable core drm<->driver API, nor do I want one.
This would make things like the vblank-rework impossible.
So I'm a distro with 4 separate incompatible releases of the core drm
from intel, nouveau, radeon and mga drivers? how do I package that and
allow cards to run at the same time?

b) Fedora has a stated goal of not shipping external kernel modules,
unless they are on their way towards the upstream kernel or are
special like Xen.
How do I pick a version of nouveau to ship? I pick 0.0.10 for kernel
2.6.22-15, and you release 0.0.11 and I package that with 2.6.22-35,
now a user has other problems with -35,
(They have userspace 0.0.11 installed), and the boot back to -15 and
get no graphics? I don't think that is acceptable.
The other option is to ship both kernel modules with different names
nouveau0010 and nouveau0011 again stupidity beyond belief.
Some distros do this for nvidia already (nvidia, nvidia-old,
nvidia-new, nvidia-new-new, nvidia-for-eva)

Now with modesetting I want to be able to auto-load kernel modules at
boot, i.e. not have the X server do it (bad design there).
Again how to I pick which one if I'm shipping multiple.

Jerome I'm actually worried about this last point with radeon-ms and I
may have to take the time to merge it back in to radeon, or at least
keep compatible API, the kernel has no idea what userspace is running
above it, but maybe for modesetting I can make a split using a Kconfig
option
that distros turn on, I'm just worried about the I enabled this and
OMG my userspace stopped working reports.

Dave.



More information about the xorg mailing list