[Mesa-dev] [RFC] libGL.so.1.2.0 new name
Brian Paul
brianp at vmware.com
Thu Oct 4 06:50:50 PDT 2012
On 10/02/2012 05:00 PM, Ivan Kalvachev wrote:
> Hello,
>
> I would like to make a request.
> Would you kindly change the name of libGL.so.1.2.0 to libGL_mesa.so*
> and make all required aliases of libGL.so* as symlinks to it.
>
> The advantages.
> 1. Binary drivers won't overwrite the mesa library when they install
> their own version. It would make unified way for all distributions to
> handle the conflict.
>
> 2. It would allow applications to explicitly use libGL_mesa, even when
> other (nvidia,fglrx) drivers are installed. It is useful in cases
> where multiple cards are present. At least the Fglrx driver routes
> mesa X commands to the proper libglx library.
>
> 3. It may even allow the creation on libGL.so* that works as wrapper,
> similar to e.g. libXvMCW.so . But that is for the future, not now.
>
> 4. Avoid an obscure bug.
>
> The concrete reason for this request is a strange bug I found while
> testing for another bug in the fglrx beta.
>
> Up until now Mesa3D used to install the library libGL.so.1.2, but in
> the new versions, it is libGL.so.1.2.0 .
> This little change is present in the git master as well as the
> upcoming 9.0 branch.
>
> The problem appears when the distro scripts override libGL.so.1.2 . If
> `ldconfig` is run it re-creates symlinks libGL.so and libGL.so.1 so
> that they point to the mesa library (libGL.so.1.2.0) , while
> libGL.so.1.2 is pointing to the override (e.g. fglrx-ligGL.so.1.2) .
> With this setup, the different applications would be using different
> library, depending on what library name they have used at link time.
> The funny thing is that for me `glxinfo` showed the fglrx, while
> `glxgears` used mesa swrast.
>
>
> I have already reported this problem to AMD and they will eventually
> fix it on their installer. 99 other distros remain.
> I could probably understand the sentiment that Mesa should be the one
> and only true OpenGL library on the system, but the sad true is that
> other (proprietary) OpenGL implementations are not going away anytime
> soon. Insisting on this, only makes the life harder for packagers and
> users.
>
> Your options are:
> 1. Don't do anything. Break all kind of distributions in a hard to
> debug way. Their problem.
> 2. Revert to the old libGL.so.1.2 scheme.
> 3. Use libGL_mesa.so* and make libGL.so.1.2 link to it. Use full path
> to preserve existing distro hacks.
>
>
> Please don't ask me to send you patch... I can't hack autoconf unless
> my life depends on it (and maybe even then... better not to try).
If you look at the list archives from about a month ago, there's a
draft of an updated Linux OpenGL ABI specification. There was a
proposal to rename the various OpenGL libraries. You might want to
read that.
-Brian
More information about the mesa-dev
mailing list