upgrading libGL diversions

Andreas Beckmann debian at abeckmann.de
Sat Jun 18 18:49:41 UTC 2011

Hi Patrick,

I see you are working on updating fglrx for multiarch.
I just generalized the diversion handling I use for NVIDIA so that it
covers multiarch MESA, too. I introduced a new source package
"glx-alternatives" into contrib that does the diversions in
libgl1-diversions and libglx-diversions. For fglrx I see, the libdri.so
needs to be diverted, too. This could be added easily. Migrating the
existing fglrx diversions would be quite easy. That way the diversion
logic needs to be only in one place and a lot of conflicts can be avoided.

Next step is that I introduced an alternative 'glx' so users can switch
between nvidia, mesa (and fglrx, if you want) without uninstalling the
proprietary drivers and libraries. The 'glx' alternative uses a lot of
slave alternatives to properly handle the different needs of different

One change that would be needed in fglrx is to install all the
"critical" files (libGL.so.* and whatever was diverted as well as the
driver module into /usr/lib[/<triplet>]/fglrx (or another private
directory) so that there are no file conflicts with any other package
and let the alternatives system take care of putting appropriate links
into /usr/lib[/<triplet>] and /usr/lib/xorg.

This would solve the wishlist bug #610021, #610022 from a live system
point of view - have all different drivers installed on the system. Then
they just need to put some automatic detection in place to select the
correct glx provider and create an appropriate xorg.conf


PS: I think you have to split the fglrx-driver package into a library
part (that can be Multi-Arch: same) and the Xorg part (which is not
below /usr/lib/<triplet>), otherwise you can't install the two archs at
the same time

More information about the pkg-nvidia-devel mailing list