[arch-dev-public] Mesa, Nvidia and libglvnd (the good, the bad and the ugly) :)
Nvidia provides for several releases libglvnd support which mean the hability to have serveral libgl installed without hacks (nvidia-libgl, mesa-libgl currently). With Fedora providing default Mesa with libglvnd support (with some fedora patches, some upstream pending patches), i plan to provide Mesa with libglvnd support with mesa-17.0 What does this means ? Mesa and Nvidia will be able to live together in a perfect harmony :) Mesa and Nvidia will not provide anymore mesa-libgl and nvidia-libgl packages; they are useless. libglvnd will provide libgl support and will depend on an opengl- driver, what Mesa and Nvidia will provide. Bumblebee will not work anymore with Nvidia and Mesa, but only with prime (1). Nvidia-340xx driver will still work with bumblebee but will need a specific (non libglvnd?) Mesa version. Nvidia-304xx driver will be (finally) moved to unsupported. So, When ? The first step is a new xorg-server version with upstream patches to improve outputclass support and the glx.so symlink hack (2), now using ModulePath xorg option (3) and adapt Nvidia and Mesa drivers. Let's hope i will not break everything :) The next step (after Mesa 17.0 release) is the libglvnd move....... (1) https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchr... (2) https://bugs.archlinux.org/task/26284 (3) man xorg.conf -- Laurent Carlier http://www.archlinux.org
On Sun, Feb 12, 2017 at 8:22 PM, Laurent Carlier via arch-dev-public <arch-dev-public@archlinux.org> wrote:
Nvidia provides for several releases libglvnd support which mean the hability to have serveral libgl installed without hacks (nvidia-libgl, mesa-libgl currently). With Fedora providing default Mesa with libglvnd support (with some fedora patches, some upstream pending patches), i plan to provide Mesa with libglvnd support with mesa-17.0
What does this means ? Mesa and Nvidia will be able to live together in a perfect harmony :) Mesa and Nvidia will not provide anymore mesa-libgl and nvidia-libgl packages; they are useless. libglvnd will provide libgl support and will depend on an opengl- driver, what Mesa and Nvidia will provide. Bumblebee will not work anymore with Nvidia and Mesa, but only with prime (1). Nvidia-340xx driver will still work with bumblebee but will need a specific (non libglvnd?) Mesa version. Nvidia-304xx driver will be (finally) moved to unsupported.
So, When ? The first step is a new xorg-server version with upstream patches to improve outputclass support and the glx.so symlink hack (2), now using ModulePath xorg option (3) and adapt Nvidia and Mesa drivers. Let's hope i will not break everything :)
The next step (after Mesa 17.0 release) is the libglvnd move.......
(1) https://devtalk.nvidia.com/default/topic/957814/linux/prime-and-prime-synchr... (2) https://bugs.archlinux.org/task/26284 (3) man xorg.conf
-- Laurent Carlier http://www.archlinux.org
Awesome! J. Leclanche
Hi, Thanks for thinking about libglvnd support in Arch. ;) Le 12/02/2017 à 19:22, Laurent Carlier via arch-dev-public a écrit :
Bumblebee will not work anymore with Nvidia and Mesa, but only with prime (1).
This sentence doesn’t really make sense. Bumblebee doesn’t work with PRIME, they are two different solutions to Optimus support under Linux. Some more correct statements: – Bumblebee will still work with VirtualGL, but some changes will be required for primus [1] (I’m not sure since I did not have time to test it yet, but it could be as simple as patching bumblebee/primusrun for exporting __GLVND_DISALLOW_PATCHING=1 when running optirun with primus or primusrun, anyway I asked the person who fixed it in Fedora what changes this has required); – what will change with Nvidia PRIME support is that it would be easier to switch from a X server running on Intel to a one running on Nvidia, like nvidia-prime allows on Ubuntu, because you won’t have to switch libgl packages on-the-fly. That’s a big win from an usability POV.
Nvidia-340xx driver will still work with bumblebee but will need a specific (non libglvnd?) Mesa version.
Hum… What makes nvidia-340xx situation different from nvidia-304xx, and without even talking of Bumblebee, does it even work with libglvnd? AFAIK, the support was introduced in 361 series, and wasn’t backported to the 340xx branch. Regarding Bumblebee, I don’t think it would require anything specific, but I should be able to test that and work around once everything will have landed. ;) Regards, Bruno [1] https://github.com/amonakov/primus/issues/193
Le dimanche 12 février 2017, 20:17:07 CET Bruno Pagani a écrit :
Hi,
Thanks for thinking about libglvnd support in Arch. ;)
Le 12/02/2017 à 19:22, Laurent Carlier via arch-dev-public a écrit :
Bumblebee will not work anymore with Nvidia and Mesa, but only with prime (1). This sentence doesn’t really make sense. Bumblebee doesn’t work with PRIME, they are two different solutions to Optimus support under Linux. Some more correct statements:
Doh, yes, really badly worded. I had the wild idea that bumblebee wasn't supporting libglvnd, and i was wrong.
– Bumblebee will still work with VirtualGL, but some changes will be required for primus [1] (I’m not sure since I did not have time to test it yet, but it could be as simple as patching bumblebee/primusrun for exporting __GLVND_DISALLOW_PATCHING=1 when running optirun with primus or primusrun, anyway I asked the person who fixed it in Fedora what changes this has required);
– what will change with Nvidia PRIME support is that it would be easier to switch from a X server running on Intel to a one running on Nvidia, like nvidia-prime allows on Ubuntu, because you won’t have to switch libgl packages on-the-fly. That’s a big win from an usability POV.
Nvidia-340xx driver will still work with bumblebee but will need a specific (non libglvnd?) Mesa version.
Hum… What makes nvidia-340xx situation different from nvidia-304xx, and without even talking of Bumblebee, does it even work with libglvnd? AFAIK, the support was introduced in 361 series, and wasn’t backported to the 340xx branch.
yes, nvidia-340xx doesn't provide any libglvnd support, and i don't know if it's planned
Regarding Bumblebee, I don’t think it would require anything specific, but I should be able to test that and work around once everything will have landed. ;)
Thanks Bruno for explaination about bumblebee situation
Regards, Bruno
-- Laurent Carlier http://www.archlinux.org
participants (3)
-
Bruno Pagani
-
Jerome Leclanche
-
Laurent Carlier