Arch Linux

Please read this before reporting a bug:
https://wiki.archlinux.org/title/Bug_reporting_guidelines

Do NOT report bugs when a package is just outdated, or it is in the AUR. Use the 'flag out of date' link on the package page, or the Mailing List.

REPEAT: Do NOT report bugs for outdated packages!
Tasklist

FS#52906 - [libglvnd] putting neutral vendor libraries under nvidia folder is confusing and problematic

Attached to Project: Arch Linux
Opened by Alexandre Demers (oxalin) - Thursday, 09 February 2017, 01:07 GMT
Last edited by Laurent Carlier (lordheavy) - Monday, 27 February 2017, 22:08 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Laurent Carlier (lordheavy)
Felix Yan (felixonmars)
Architecture All
Severity Low
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

Description:
When installing libglvnd, it is confusing to see the neutral vendor libraries, such as libGL.so, libEGL.so and libGLESvX.so installed under the nvidia subdirectory. Also, it can lead to situations where libGL.so (or libEGL or libGLESvX.so) are not found or where libglvnd is not being used as expected, mostly because applications may still rely on libGL.so under /usr/lib{32}/ and no package will provide it where expected.


Additional info:
From the mechanism binding libGL, libOpenGL, libGLX and libglvnd (and in the future EGL and GL ES), which can be seen in the diagram from the README.md file in glvnd's git repository, it is clear that libglvnd must provide all the other libraries (for backward and forward compatibility purposes) and that the provided libraries supersede any other previous installed files, as long as libglvnd is used with compatible "vendors". Thus :

1- It would be better to have a neutral folder name, like glvnd or something similar so a user may think to look into: using "nvidia" as the subfolder's name leads to think that the files are related to NVidia files, where the one provided by libglvnd are definitively not (even if glvnd was proposed by NVidia).

2- Simply scrap the use of the "nvidia" folder altogether: It should not be allowed to install libglvnd against incompatible GL packages.

So, the nvidia subdirectory should be replaced by a vendor neutral name so it is clear where to find the neutral libraries (until the mesa package enables libglvnd support).

For solution 2, which is the better approach, the "nvidia" folder should just be removed and there should be a dependency on a mesa package version compiled with glvnd support. A conflict should be arised with NVidia and Mesa incompatible packages. That way, files won't be in conflict and someone compiling Mesa from source with glvnd support will be able to have a clean installation. Libglvnd should be in conflict with the current mesa-libgl (since both should install libraries with conflicting names in the same folder), and libglvnd should be marked as providing libgl, libgles, libegl (according to when this change will be done).


Steps to reproduce:
Install libglvnd package or simply look at the provided files (and where they are installed).
This task depends upon

Closed by  Laurent Carlier (lordheavy)
Monday, 27 February 2017, 22:08 GMT
Reason for closing:  Implemented
Additional comments about closing:  mesa and nvidia with libglvnd support are now in testing
Comment by Darek (blablo) - Wednesday, 15 February 2017, 11:46 GMT
Related to  FS#52537 

Loading...