Fix nvidia-like ports, help needed

Baptiste Daroussin bapt at FreeBSD.org
Wed Feb 22 22:26:00 UTC 2012


Hi all,

this mail is also sent to ports@ has the problem we have with nvidia-driver
might also occur elsewhere and we need a general fix for that.

First what is the failure: nvidia driver overwrite libGL.so provided by another
package which is broken by design because the package database isn't consistent
anymore. however this nvidia-driver needs to replace libGL.so.

In that case we definitely need to have a tool allowing us to safely provide
libGL.so and switch between the mesa one and the nvidia one.

currently this kind of bugs silently occurs with pkg_install, but pkgng is more
strict about that and refuses it.

We then need a tool like gentoo's eselect, redhat alternative and I don't
remember the name for debian.

We need it the FreeBSD way, not sure we need something as complex as what the
linux distribution does, maybe yes.

I wrote a quick and dirty script named alternative:
http://people.freebsd.org/~bapt/alternative.txt

That get informations about the alternatives in ${LOCALBASE}/etc/alternative.d

${LOCALBASE}/etc/alternative.d/libgl
${LOCALBASE}/etc/alternative.d/libgl/nvidia
${LOCALBASE}/etc/alternative.d/libgl/nvidia/nvidia.cf
${LOCALBASE}/etc/alternative.d/libgl/libgl.cf
${LOCALBASE}/etc/alternative.d/libgl/current
${LOCALBASE}/etc/alternative.d/libgl/mesa
${LOCALBASE}/etc/alternative.d/libgl/mesa/mesa.cf

current behing a symlink to either nvidia or mesa

cat libgl.cf:
NAME="libgl"
DESCRIPTION="Default OpenGL library"

cat mesa/mesa.cf
NAME=mesa
DESCRIPTION="libGL provided by the mesa project"

cat nvidia/nvidia.cf
NAME=nvidia
DESCRIPTION="libGL provided by the nvidia driver"

with that nvidia could have libgl-nvidia.so and mesa libgl-mesa.so

the script alternative might change the libgl.so symlink to point on nvidia or
mesa depending on the user choices.

this script is just an idea definitly not an implementation.

nvidia case is just an example but the script should try to be more general.
(handle binaries scripts etc.)

I don't have time to work on this currently hope someone will takle this task.

regards,
Bapt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20120222/c6fe8993/attachment.pgp


More information about the freebsd-x11 mailing list