Nvidia Optimus Driver for FreeBSD

shkhln

Aspiring Daemon

Reaction score: 220
Messages: 687

My point is that GLVND is marginally useful but neither significantly helps nor hinders the work that is needed.
I'm not talking about libglvnd usefulness for your work. It is relevant to you in a sense that you have to support both libglvnd and legacy configurations, whether libglvnd is actually useful to you is not for me to decide.

From the perspective of FreeBSD project, what does GLVND accomplish?
Libmap overrides are static, while libglvnd selects appropriate OpenGL implementation dynamically. That doesn't seem like much, but once you actually tried to explain to multiple people why OpenGL applications break on Intel GPU with nvidia-driver port installed (with zero success rate in my case), it's pretty clear that this functionality is indeed necessary.

430.40 needs libglvnd somewhere; it doesn't have to be /usr/local/lib/libGL.so.1.
Yes, I know that, otherwise I wouldn't refer to nvidia-driver shenanigans.
 

shkhln

Aspiring Daemon

Reaction score: 220
Messages: 687

Requirement of the actual libGL implementation to explicitly support GLVND (and inability of such an implementation to work without GLVND once it supports it) seem like serious design bugs in GLVND itself, but what can we do?
Let's take a closer look. Both legacy libGL.so.430.40 and GLVND-enabled libGLX_nvidia.so.430.40 from the 430.40 Linux driver have the same size in bytes, although they are not exactly identical. Swapping one for another seems to work fine in either direction. Whatever explicit support there exists for libglvnd, it likely consists of some very subtle changes, if any.

This might or might not work for 390.x FreeBSD drivers.
 
Last edited:
Top