Remix.run Logo
holowoodman 10 hours ago

Not really. Nvidia-OpenGL is incompatible to all existing OS OpenGL interfaces, so you need to ship a separate libGL.so if you want to run on Nvidia. In some cases you even need separate binaries, because if you dynamically link against Nvidia's libGL.so, it won't run with any other libGL.so. Sometimes also vice versa.

9 hours ago | parent | next [-]
[deleted]
direwolf20 9 hours ago | parent | prev [-]

Does AMD use a statically linked OpenGL?

holowoodman 9 hours ago | parent [-]

AMD uses the dynamically linked system libGL.so, usually Mesa.

direwolf20 6 hours ago | parent [-]

So you still need dynamic linking to load the right driver for your graphics card.

holowoodman 6 hours ago | parent [-]

Most stuff like that uses some kind of "icd" mechanism that does 'dlopen' on the vendor-specific parts of the library. Afaik neither OpenGL nor Vulkan nor OpenCL are usable without at least dlopen, if not full dynamic linking.