As far as I understand the mailing list message you are wrong. The proposal talks about different libgl's in the file system. Not running simultaniously.

Gentoo already offers exactly that.

As far as I understand it, it can dispatch GL commands based on X screen so you can use different OpenGL implementations simultaneously.

09-13-2012, 05:28 PM

russofris

Quote:

Originally Posted by energyman

As far as I understand the mailing list message you are wrong. The proposal talks about different libgl's in the file system. Not running simultaniously.

I'm not so certain at the moment, though I'm content to wait for XDC to find out. My only resistance would be if this change were to be implemented specifically to address issues with the Nvidia/AMD/PowerVR blobs with no net-gain for Mesa or other FOSS OGL implementations.

F

09-13-2012, 07:05 PM

gens

Quote:

Originally Posted by elanthis

These aren't equivalent. GLUT is like a shitty toy version of GTK/Qt. EGL is an OS-neutral version of GLX. GLUT layers over GLX/WGL/AGL/EGL, and offers borderline useless input and timer mechanisms and window management. EGL lets you create and bind GL contexts to a full real windowing system and allows using the native fully featured window system API for input, timers, I/O, events, etc.

thx, i started learning basic GL with GLUT thinking its all the same

09-13-2012, 07:08 PM

elanthis

Quote:

Originally Posted by energyman

As far as I understand the mailing list message you are wrong. The proposal talks about different libgl's in the file system. Not running simultaniously.

Gentoo already offers exactly that.

The message very explicitly states that it should/will support loading multiple vendor back ends in the same address space, in clear terms.

And no, Gentoo does NOT allow even having multiple GL implementations simultaneously, because the very infrastructure of Mesa/libGL on Linux does not allow this, hence this entire proposal. Your client application has no way to select a GL implementation at runtime, and the Gentoo (and most every other Linux distro) facilities for swapping GL implementations do so by ripping out the current libGL and replacing it. It does not allow two apps running at the same time using two different libGLs, which is impossible aside from using separate chroot's or LD_PRELOAD tricks (and even then, only when using separate X instances and so on, because X itself can only have a single libGL loaded).

09-13-2012, 11:34 PM

russofris

Quote:

Originally Posted by elanthis

The message very explicitly states that it should/will support loading multiple vendor back ends in the same address space, in clear terms.

And no, Gentoo does NOT allow even having multiple GL implementations simultaneously

Good answer. The big question that I have is, is this necessary? Are there two OSS GL implementations? If there isn't, then are we not just catering to something that Nvidia desires to facilitate their blobs installation? Does this benefit FOSS GL implementations in any manner, such as being able to run Mesa 8.0 and 9.0 implementations simultaneously, or nouveau and radeon simultaneously, XGL and EGL apps simultaneously?

To restate, is this an improvement to Linux, an improvement to Nvidia blob-using-customers, or both?

F

09-14-2012, 12:09 AM

jrch2k8

Quote:

Originally Posted by russofris

Good answer. The big question that I have is, is this necessary? Are there two OSS GL implementations? If there isn't, then are we not just catering to something that Nvidia desires to facilitate their blobs installation? Does this benefit FOSS GL implementations in any manner, such as being able to run Mesa 8.0 and 9.0 implementations simultaneously, or nouveau and radeon simultaneously, XGL and EGL apps simultaneously?

To restate, is this an improvement to Linux, an improvement to Nvidia blob-using-customers, or both?

F

seems both as it will help or make easier stuff like optimus/enduro and will make life easier for blobs users

09-14-2012, 09:17 AM

plonoma

Didn't know that using an api with hardware is so limited on linux!

We really need some progress on how drivers can expose api's(including abi's), how libraries are handled.

And about the file system conflicts. That's why you don't put all the bin of all the user programs in one folder and all the libs of all the user programs in one folder and so on...

Good answer. The big question that I have is, is this necessary? Are there two OSS GL implementations? If there isn't, then are we not just catering to something that Nvidia desires to facilitate their blobs installation? Does this benefit FOSS GL implementations in any manner, such as being able to run Mesa 8.0 and 9.0 implementations simultaneously, or nouveau and radeon simultaneously, XGL and EGL apps simultaneously?

To restate, is this an improvement to Linux, an improvement to Nvidia blob-using-customers, or both?

F

The proposal goes beyond dynamically-switchable GL implementations. It includes separating GLX from libGL (hooray!) and providing a clean organization for different GL components (EGL, profiles, etc.). I could imagine a lean Mesa implementation for Wayland that completely cuts out GLX while still providing full Desktop GL support. This is not really possible today with the current ABI for libGL.

If this also helps NVIDIA to ship a blob that integrates better with the rest of the system, then how is this not a good thing? If anything, this would allow vendors to create hardware-specific, high-performance, open-source GL implementations for their hardware that bypasses Mesa in favor of performance and functionality, and distribute it without having to worry about interfering with system GL libraries. They could expose a GL 4.2 profile without having to first update all of Mesa to be compliant, then implement their driver within the Mesa/Gallium framework. Remember that Mesa is just another OpenGL vendor.

09-21-2012, 10:40 AM

plonoma

Quote:

Linux OpenGL ABI

There is a need to deal with general Linux API ABI's in general. The old system can't do this good enough.

09-26-2012, 03:24 PM

energyman

Linux (the kernel) has and had stable ABI's and API's for about 20 years - yes as long as its exists.