[opensuse-factory] Tumbleweed and NVidia driver and SDB HOWTO
I recently upgraded from 13.2 over Leap 42.1 to Tumbleweed. I also had to update to the newest Tumbleweet snapshot today. It's a bit annoying, that it's necessary to reinstall the proprietary NVidia driver after each of these upgrade steps. Otherwise modern desktops like KDE and GNOME may refuse to start. There is probably a failure in this guide: SDB:NVIDIA the hard way section "openSUSE Tumbleweed and Leap" https://en.opensuse.org/SDB:NVIDIA_the_hard_way "NVIDIA proprietary driver works flawlessly on Leap; for Tumbleweed the driver is almost always compatible. However, please keep in mind that you must re-install the driver (simply by running the installer program) after each kernel upgrade." I found, that re-installing the NVidia driver is also necessary after each Xorg/Mesa upgrade. Probably some Xorg/Mesa packages mess-up the NVidia libraries. Could someone with write access to the SDB article fix this? Greetings, Björn -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Hey, On 23.02.2016 13:23, Bjoern Voigt wrote:
Could someone with write access to the SDB article fix this?
Everyone has write access. It's a wiki. Henne -- Henne Vogelsang http://www.opensuse.org Everybody has a plan, until they get hit. - Mike Tyson -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Henne Vogelsang wrote:
On 23.02.2016 13:23, Bjoern Voigt wrote:
Could someone with write access to the SDB article fix this?
Everyone has write access. It's a wiki. Ok, I have done this. Please review.
Greetings, Björn -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
2016-02-23 13:23 GMT+01:00 Bjoern Voigt:
... I found, that re-installing the NVidia driver is also necessary after each Xorg/Mesa upgrade. Probably some Xorg/Mesa packages mess-up the NVidia libraries.
From the output using -A as command line option: "During driver installation, conflicting files are backed up, so that
Not just probably, this is sure: rpm --verify Mesa-libGL1 Mesa-libEGL1 ....L.... /usr/lib64/libGL.so.1 missing /usr/lib64/libGL.so.1.2 missing /usr/lib64/libGL.so.1.2.0 SM5....T. /usr/lib64/libEGL.so.1 missing /usr/lib64/libEGL.so.1.0.0 (probably more, also the 32-bit variants, if chosen to be installed) The NVidia installer replaces these libraries. If you choose --uninstall as command line option restores them if you want. they can be restored when the driver is uninstalled." -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Op dinsdag 23 februari 2016 16:24:01 CET schreef René Krell:
2016-02-23 13:23 GMT+01:00 Bjoern Voigt:
... I found, that re-installing the NVidia driver is also necessary after each Xorg/Mesa upgrade. Probably some Xorg/Mesa packages mess-up the NVidia libraries.
Not just probably, this is sure: rpm --verify Mesa-libGL1 Mesa-libEGL1 ....L.... /usr/lib64/libGL.so.1 missing /usr/lib64/libGL.so.1.2 missing /usr/lib64/libGL.so.1.2.0 SM5....T. /usr/lib64/libEGL.so.1 missing /usr/lib64/libEGL.so.1.0.0 (probably more, also the 32-bit variants, if chosen to be installed)
The NVidia installer replaces these libraries. If you choose --uninstall as command line option restores them if you want. From the output using -A as command line option: "During driver installation, conflicting files are backed up, so that they can be restored when the driver is uninstalled."
Have a look at the installer options. In the (very) past I have been installing the driver with an option that pushed the nvidia libs to their own directory, added that directory to ld.so.conf, ran ldconfig, done. This worked fine, and kept working on a Mesa update. YMMV -- Gertjan Lettink, a.k.a. Knurpht openSUSE Board Member openSUSE Forums Team -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
* Knurpht - Gertjan Lettink <knurpht@opensuse.org> [02-23-16 11:05]:
Op dinsdag 23 februari 2016 16:24:01 CET schreef René Krell:
2016-02-23 13:23 GMT+01:00 Bjoern Voigt:
... I found, that re-installing the NVidia driver is also necessary after each Xorg/Mesa upgrade. Probably some Xorg/Mesa packages mess-up the NVidia libraries.
Not just probably, this is sure: rpm --verify Mesa-libGL1 Mesa-libEGL1 ....L.... /usr/lib64/libGL.so.1 missing /usr/lib64/libGL.so.1.2 missing /usr/lib64/libGL.so.1.2.0 SM5....T. /usr/lib64/libEGL.so.1 missing /usr/lib64/libEGL.so.1.0.0 (probably more, also the 32-bit variants, if chosen to be installed)
The NVidia installer replaces these libraries. If you choose --uninstall as command line option restores them if you want. From the output using -A as command line option: "During driver installation, conflicting files are backed up, so that they can be restored when the driver is uninstalled."
Have a look at the installer options. In the (very) past I have been installing the driver with an option that pushed the nvidia libs to their own directory, added that directory to ld.so.conf, ran ldconfig, done. This worked fine, and kept working on a Mesa update. YMMV
I have taken the habit of reinstalling the drivers when-ever I drop from graphical target. sh <pkg.run> -aks -- (paka)Patrick Shanahan Plainfield, Indiana, USA @ptilopteri http://en.opensuse.org openSUSE Community Member facebook/ptilopteri http://wahoo.no-ip.org Photo Album: http://wahoo.no-ip.org/gallery2 Registered Linux User #207535 @ http://linuxcounter.net -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
2016-02-23 17:03 GMT+01:00 Knurpht - Gertjan Lettink:
.. Have a look at the installer options. In the (very) past I have been installing the driver with an option that pushed the nvidia libs to their own directory, added that directory to ld.so.conf, ran ldconfig, done. This worked fine, and kept working on a Mesa update. YMMV
Yes in order to avoid file conflicts with Mesa. Nevertheless, my recommendation is the straight-forward way: 1. Even if you put the conflicting libs with Mesa to another dir there is a high probability to break any binary compatibility of the compiled driver during system updates. In each case you got to recompile on kernel updates when introducing new official kernel versions, probably it is also recommended to recompile the drivers on updates of Xorg (ABI) or gcc, isn't it? Not so much for stable releases, but for Tumbleweed this is real subject. 2. You cannot use nouveau and nvidia in parallel, Mesa GL and EGL is out of order for nvidia anyway. 3. Uninstalling the binary driver restores nouveau without further steps (including removing nouveau from the blacklist). 4. It is easier to run the nvidia installer than keeping a checklist of steps for the assumpted case when it is necessary to reinstall (recompile). Thus get it up as soon as possible again. For the above reasons, I would rather recompile more frequently, to be honest, not so comfortable, but safe at any time. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On 23.02.2016 17:39, René Krell wrote:
2016-02-23 17:03 GMT+01:00 Knurpht - Gertjan Lettink:
.. Have a look at the installer options. In the (very) past I have been installing the driver with an option that pushed the nvidia libs to their own directory, added that directory to ld.so.conf, ran ldconfig, done. This worked fine, and kept working on a Mesa update. YMMV Yes in order to avoid file conflicts with Mesa.
Nevertheless, my recommendation is the straight-forward way: 1. Even if you put the conflicting libs with Mesa to another dir there is a high probability to break any binary compatibility of the compiled driver during system updates. In each case you got to recompile on kernel updates when introducing new official kernel versions, probably it is also recommended to recompile the drivers on updates of Xorg (ABI) or gcc, isn't it? Not so much for stable releases, but for Tumbleweed this is real subject.
Depends on which kernel functions change and if the nvidia blob uses these.
2. You cannot use nouveau and nvidia in parallel, Mesa GL and EGL is out of order for nvidia anyway.
Right, there can only be one active kernel driver for the card, plus nvidias blob replaces libGLX.so (shipped with the X server) with its own version. So if the X server package is updated, libGLX.so is reset to the mesa version, which breaks your nvidia setup. (There were talks about a common GLX dispatch lib to resolve this issue, but i'm not aware of the projects state right now)
3. Uninstalling the binary driver restores nouveau without further steps (including removing nouveau from the blacklist).
I don't know if the blob replaces its own libGLX.so with the Mesa one while uninstalling. Way back it had problems to do so for me.
4. It is easier to run the nvidia installer than keeping a checklist of steps for the assumpted case when it is necessary to reinstall (recompile). Thus get it up as soon as possible again.
For the above reasons, I would rather recompile more frequently, to be honest, not so comfortable, but safe at any time.
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
2016-02-23 18:03 GMT+01:00 Tobias Klausmann:
..
... In each case you got to recompile on kernel updates when introducing new official kernel versions, probably it is also recommended to recompile the drivers on updates of Xorg (ABI) or gcc, isn't it? Not so much for stable releases, but for Tumbleweed this is real subject.
Depends on which kernel functions change and if the nvidia blob uses these.
Most people won't know before booting :-) I prefer the safe way.
...
3. Uninstalling the binary driver restores nouveau without further steps (including removing nouveau from the blacklist).
I don't know if the blob replaces its own libGLX.so with the Mesa one while uninstalling. Way back it had problems to do so for me.
This is where Knurpht is totally right anyway and I forgot to mention: After uninstalling nvidia using the installer Mesa has to be updated/reinstalled, because it has been most probably updated in the meantime, too, thus cannot be restored from an earlier backup. But this is again the safe way, the system should be in sync with the main repository after that (restoring the blacklist, mkinitrd is done by the uninstaller). -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
Am Dienstag, 23. Februar 2016, 18:03:18 schrieb Tobias Klausmann:
Right, there can only be one active kernel driver for the card, plus nvidias blob replaces libGLX.so (shipped with the X server) with its own version. So if the X server package is updated, libGLX.so is reset to the mesa version, which breaks your nvidia setup. (There were talks about a common GLX dispatch lib to resolve this issue, but i'm not aware of the projects state right now)
Phoronix has a few articles about the projects state (http://www.phoronix.com/scan.php?page=search&q=GLVND) and latest NVidia driver (361.xx) has an option to install such a GLX dispatch lib. -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
2016-02-23 21:46 GMT+01:00 Markus Koßmann:
Am Dienstag, 23. Februar 2016, 18:03:18 schrieb Tobias Klausmann:
Right, there can only be one active kernel driver for the card, plus nvidias blob replaces libGLX.so (shipped with the X server) with its own version. So if the X server package is updated, libGLX.so is reset to the mesa version, which breaks your nvidia setup. (There were talks about a common GLX dispatch lib to resolve this issue, but i'm not aware of the projects state right now)
Phoronix has a few articles about the projects state (http://www.phoronix.com/scan.php?page=search&q=GLVND) and latest NVidia driver (361.xx) has an option to install such a GLX dispatch lib.
Good news. There is just a few drawbacks, for instance: "Currently, only the GLX window-system API and OpenGL are supported, but in the future this library may support EGL and OpenGL ES as well." (https://github.com/NVIDIA/libglvnd) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
On Wednesday 2016-02-24 08:47, René Krell wrote:
2016-02-23 21:46 GMT+01:00 Markus Koßmann:
Am Dienstag, 23. Februar 2016, 18:03:18 schrieb Tobias Klausmann:
Right, there can only be one active kernel driver for the card, plus nvidias blob replaces libGLX.so (shipped with the X server) with its own version. So if the X server package is updated, libGLX.so is reset to the mesa version, which breaks your nvidia setup.
It is not actually a problem (if you use rpms), because Mesa/X installs to /usr/lib/xorg/modules/extensions/libglx.so, and the nvidia rpm to /usr/lib/xorg/updates/modules/extensions/libglx.so. At least, that is what had been done some time ago - it appears that now, in 13.2, /usr/lib/xorg/modules/extensions/libglx.so is a /etc/alternatives-managed link. (Which is another possible way to go.) Of course that does not solve the issue if you have two different GPUs in the system, but it is a start. This probably also why glvnd never picked up. And with Vulkan in sight, it's probably never going to come into use ;-)
Phoronix has a few articles about the projects state (http://www.phoronix.com/scan.php?page=search&q=GLVND) and latest NVidia driver (361.xx) has an option to install such a GLX dispatch lib.
Good news. There is just a few drawbacks, for instance: "Currently, only the GLX window-system API and OpenGL are supported, but in the future this library may support EGL and OpenGL ES as well." (https://github.com/NVIDIA/libglvnd)
-- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
23.02.2016 19:03, Knurpht - Gertjan Lettink пишет:
Op dinsdag 23 februari 2016 16:24:01 CET schreef René Krell:
2016-02-23 13:23 GMT+01:00 Bjoern Voigt:
... I found, that re-installing the NVidia driver is also necessary after each Xorg/Mesa upgrade. Probably some Xorg/Mesa packages mess-up the NVidia libraries.
Not just probably, this is sure: rpm --verify Mesa-libGL1 Mesa-libEGL1 ....L.... /usr/lib64/libGL.so.1 missing /usr/lib64/libGL.so.1.2 missing /usr/lib64/libGL.so.1.2.0 SM5....T. /usr/lib64/libEGL.so.1 missing /usr/lib64/libEGL.so.1.0.0 (probably more, also the 32-bit variants, if chosen to be installed)
The NVidia installer replaces these libraries. If you choose --uninstall as command line option restores them if you want. From the output using -A as command line option: "During driver installation, conflicting files are backed up, so that they can be restored when the driver is uninstalled."
Have a look at the installer options. In the (very) past I have been installing the driver with an option that pushed the nvidia libs to their own directory, added that directory to ld.so.conf, ran ldconfig, done. This worked fine, and kept working on a Mesa update. YMMV
Well, that is exactly what RPM package does and is the primary reason why it does not break after update :) -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org
participants (9)
-
Andrei Borzenkov
-
Bjoern Voigt
-
Henne Vogelsang
-
Jan Engelhardt
-
Knurpht - Gertjan Lettink
-
Markus Koßmann
-
Patrick Shanahan
-
René Krell
-
Tobias Klausmann