x11/nvidia-driver incompatible with portmaster?

Stephen Montgomery-Smith stephen at missouri.edu
Sun Jul 3 02:50:05 UTC 2011


On 07/02/2011 09:02 PM, Stephen Montgomery-Smith wrote:
> On 07/02/2011 08:39 PM, b. f. wrote:
>>> You are correct.  It wouldn't be NO_REINSTALL.
>>>
>>> But would you guys be interested in some creative way to make this work?
>>>     Perhaps xorg-server could be modified to first check "pkg_info | grep
>>> nvidia-driver", and if this comes up true, then the xorg-server port and
>>> package would not install libgl.*.
>>>
>>> I could do something like this, but before I work on it and put forth a
>>> proof of concept, I would first like to hear good reasons why I this
>>> might be a bad idea.
>>
>> It's a bad idea because it's sensitive to the order of
>> (de)installation.  It's always been unfortunate that nvidia-driver
>> collides with xorg-server and libGL.  It would be better if
>> xorg-server and libGL were patched to install a linker script instead
>> of the libGL.so and libglx.so symlinks, which would favor the
>> nvidia-specific libraries over the generic libraries if the former
>> were present.  Or if nvidia-driver didn't replace the shared libraries
>> of the other ports, but used additions to libmap.conf(5) instead.
>>

> What about the linker script?  What are you proposing with that idea?

Maybe the xorg-server and libGL ports install the libglx.la etc stuff 
into a folder called share/xorg/gl-libs, and the nvidia-drivers install 
their stuff into a folder called share/nvidia-driver/gl-libs.

Further, the libGL port installs a script libexec/xorg/link-gl-libs.sh, 
which links lib/modules/extensions/libglx.la to either the stuff in 
share/xorg/gl-libs, or the stuff in share/nvidia-driver/gl-libs, 
depending upon whether share/nvidia-driver/gl-libs exists or not.

And then the libGL, xorg-server and the nvidia-driver libraries all call 
this script, both upon installation and deinstallation (via appropriate 
@exec and @unexec entries in the pkg-plist files).

The advantage of this over the libmap.conf idea is that this handles the 
static libraries as well as the dynamic libraries.

If you guys think this is a good idea, it is well within my abilities to 
produce a proof of concept PR.  What do you think?


More information about the freebsd-x11 mailing list