LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Nvidia proprietary driver (https://www.linuxquestions.org/questions/slackware-14/nvidia-proprietary-driver-4175550289/)

Youmu 08-09-2015 05:43 AM

Nvidia proprietary driver
 
Hi there!
I was using nouveau driver, but yesterday wanted to try proprietary one.
So long story short, I installed following packages:
Code:

nvidia-driver
nvidia-kernel
nvidia-bumblebee

Then I blacklisted nouveau one in modprobe.d, edited bumblebee.conf.
-----
After that I decided to switch back to nouveau one. But after deletion of the installed packages and modifying config files back X server and some programs won't start.
Errors like "libnvidia-something is missing"
After some searching in /usr/lib and /usr/lib64 I got the following:
Code:

libEGL.la*
libEGL.so -> libEGL.so.352.30*
libEGL.so.1 -> libEGL.so.352.30*
libEGL.so.1.0.0 -> libEGL.so.352.30*
libEGL.so.1.0.0-xorg*
libEGL.so.352.30*

Why nvidia-driver left his symlinks after uninstalling? I linked libEGL and libGL to their appropriate xorg files and everything now is working.
The question is: Why this happened? Is something wrong with SlackBuilds or I was doing smth. wrong?
Just curious.=^_^=

----->>>>>update
After rebooting I found that /usr/lib/libEGL.so.1 and /usr/lib64/libEGL.so.1 was pointing to the wrong location (e.g. to the nvidia libEGL). Why?
Also I cannot launch steam and programs with priusrun because of this:
Code:

primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) systemd-logind: failed to get session: The name org.freedesktop.login1 was not provided by any .service files
glxinfo:
Code:

name of display: :0
Error: couldn't find RGB GLX visual or fbconfig

What to do? Shit was working before installing nvidia-driver.

kikinovak 08-09-2015 06:25 AM

Reinstall the mesa package.

Drakeo 08-09-2015 06:40 AM

To explain this. When installing the nvidia blob the install scripts takes those files renames them and puts them in /var/lib/nvidia Because it replaces them with the nividia version built to work with "mesa"
When you install them from the nvidia yes a vanilla install just like the driver manufacture has develop for linux. So simple runlevel 3 as root you run the "sh NVidia-run and it works well. Then to uninstall it
you run sh NVidia-run --uninstall the uninstall scripts put the folders back a recreate the sim links.
Pat V for as long as I could remember with a default install of slackware will build the driver no problem.
Handling drivers as packages can cause confusion down the road.

If using the slackbuild please read everything and learn how to use the switch.

Youmu 08-09-2015 06:47 AM

Quote:

Originally Posted by kikinovak (Post 5403315)
Reinstall the mesa package.

Reinstalled, still symlinks are created after reboot.
Steam error remains, glxinfo error remains.

Thanks.

Youmu 08-09-2015 06:50 AM

Quote:

Originally Posted by Drakeo (Post 5403318)
To explain this. When installing the nvidia blob the install scripts takes those files renames them and puts them in /var/lib/nvidia Because it replaces them with the nividia version built to work with "mesa"
When you install them from the nvidia yes a vanilla install just like the driver manufacture has develop for linux. So simple runlevel 3 as root you run the "sh NVidia-run and it works well. Then to uninstall it
you run sh NVidia-run --uninstall the uninstall scripts put the folders back a recreate the sim links.
Pat V for as long as I could remember with a default install of slackware will build the driver no problem.
Handling drivers as packages can cause confusion down the road.

If using the slackbuild please read everything and learn how to use the switch.

I was using this manual http://docs.slackware.com/howtos:har...nvidia_optimus
By switch you mean bbswitch? Otherwise I think I am confused with your post.

Youmu 08-09-2015 07:34 AM

Okay, I get it. Drakeo was right. By switch he meant nvidia-switch, after reading manuals I reverted my libEGL.so files and other affected back to normal.
--->>>X starts okay even after reboot.
--->>>glxinfo runs normally
Steam cannot start with following error:
Code:

primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) systemd-logind: failed to get session: The name org.freedesktop.login1 was not provided by any .service files
Primusrun too.

ReaperX7 08-09-2015 09:44 AM

If Xorg is built with systemd detection, this will happen. The only solution is to rebuild Xorg with the switch to disable systemd detection so Bumblebee works correctly by not detecting the incorrect systemd support in Xorg. I made a post about this, but it went ignored because someone said it wasn't trivial. The problem is when other programs try to do passthrough with applications, like Bumblebee/Primus trying to detect the features, if the service or program isn't there it will error. Period.

To rebuild Xorg without systemd support you'll need to grab and clone the whole Xorg source from the Slackware ftp site, then add the build flag:

Code:

--disable-systemd-logind
to the xorg-server build configuration file, then rebuild the xorg-server package.

This will disable the improper support and fix the error. If it doesn't please report back.

Youmu 08-09-2015 11:12 AM

Quote:

Originally Posted by ReaperX7 (Post 5403393)
If Xorg is built with systemd detection, this will happen. The only solution is to rebuild Xorg with the switch to disable systemd detection so Bumblebee works correctly by not detecting the incorrect systemd support in Xorg. I made a post about this, but it went ignored because someone said it wasn't trivial. The problem is when other programs try to do passthrough with applications, like Bumblebee/Primus trying to detect the features, if the service or program isn't there it will error. Period.

To rebuild Xorg without systemd support you'll need to grab and clone the whole Xorg source from the Slackware ftp site, then add the build flag:

Code:

--disable-systemd-logind
to the xorg-server build configuration file, then rebuild the xorg-server package.

This will disable the improper support and fix the error. If it doesn't please report back.

Never in my life have I built Xorg. I am not this adventurous. I was using Xorg version that was in slackware 14.1 DVD iso. Why is it looking for systemd? SYSTEMD!?
Most importantly, why slackware's Xorg is built WITH systemd detection??

enorbet 08-09-2015 01:49 PM

My recommendation couldn't be simpler since you mentioned Steam. Reinstall nVidia's driver unless you play only games not much more graphically sophisticated than Tux Racer. To be clear I do respect what the nouveau team is trying to accomplish but it is still just "trying" as the proprietary driver is demonstrably superior in so many ways. Why would you choose to ditch it after going to the trouble, albeit minimal, of installing it?

Youmu 08-09-2015 02:34 PM

Quote:

Originally Posted by enorbet (Post 5403484)
My recommendation couldn't be simpler since you mentioned Steam. Reinstall nVidia's driver unless you play only games not much more graphically sophisticated than Tux Racer. To be clear I do respect what the nouveau team is trying to accomplish but it is still just "trying" as the proprietary driver is demonstrably superior in so many ways. Why would you choose to ditch it after going to the trouble, albeit minimal, of installing it?

I just wanted to give it a try.
Anyway, will it fix the bumblebee error:
Code:

primus: fatal: Bumblebee daemon reported: error: [XORG] (EE) systemd-logind: failed to get session: The name org.freedesktop.login1 was not provided by any .service files
??

Building Xorg from sources is the LAST thing I want to do.

Youmu 08-09-2015 04:25 PM

Installed:
Code:

nvidia-driver
nvidia-kernel
nvidia-bumblebee
nvidia-blacklist

=>
Fan runs smoother, laptop is much cooler. GIMP loads faster.
BUT!:
steam:
Code:

Xlib:  extension "GLX" missing on display ":0".
glxgears:
Code:

Xlib:  extension "GLX" missing on display ":0".
Error: couldn't get an RGB, Double-buffered visual

primusrun glxgears:
Code:

Xlib:  extension "GLX" missing on display ":0".
Error: couldn't get an RGB, Double-buffered visual
Segmentation fault

Shit happened.
Wat to do?

kingbeowulf 08-09-2015 04:55 PM

I haven't tested my SBo nvidia packages with intel/Nvidia etc switching. Nvidia provides several files in the package to pull the nvidia module in/out of memory. From some of the Nvidia docs I've read so far, Optimus is being integrated into the mainline Nvidia driver package. As such, you may have issues with Bumblebee (Its over a year old) and newer drivers. However, I do not not have any hardware to test this bumblebee/Optimus nonsense. If someone can send me an Optimus laptop that would be most excellent. For Slackware, make sure you read and understand everything here:
http://docs.slackware.com/howtos:har...nvidia_optimus
http://us.download.nvidia.com/XFree8...E/optimus.html
Bumblebee is not guarranteed to work in every case. As I mentioned above, Nvidia has added features to the driver that may interfere with Bumblebee.

Also, if you don't game, use nouvea or the built-in Intel 4400 or 5000-series GPU. Its plenty fast enough; if you do game, use Nvidia. My recommendation is:
  1. Disable all non-nvidia GPU in BIOS
  2. install Nvidia packages
  3. reboot
  4. Stop messing around
If you do want to change back to nouveau, please READ THE README. It specifically states that you MUST run 'nvidia -switch --remove' before uninstalling the nvidia-driver package:
  1. # nvidia-switch --remove
  2. # removepkg nvidia-driver
  3. # removepkg nouveau-blacklist (found in /extra)
  4. reboot
Otherwise you will have to remove Mesa and xorg-server packages, delete dangling symlinks, then 'installpkg mesa xorg-server'.

As for your GLX extension error, you are either missing that file, or are using the WRONG file for the driver currently loaded. For nvida-driver properly installed you must have:
Code:

$ ls -l /usr/lib64/xorg/modules/extensions/libglx*
-rwxr-xr-x 1 root root      932 Dec 20  2014 /usr/lib64/xorg/modules/extensions/libglx.la-xorg
lrwxrwxrwx 1 root root      16 Jul 29 00:43 /usr/lib64/xorg/modules/extensions/libglx.so -> libglx.so.352.30
-rwxr-xr-x 1 root root  424072 Dec 20  2014 /usr/lib64/xorg/modules/extensions/libglx.so-xorg
lrwxrwxrwx 1 root root      23 Jul 29 00:43 /usr/lib64/xorg/modules/extensions/libglx.so.352.30 -> libglx.so.352.30-nvidia
-rwxr-xr-x 1 root root 12358152 Jul 29 00:37 /usr/lib64/xorg/modules/extensions/libglx.so.352.30-nvidia

Note that this will prevent the Intel driver from functioning.

Youmu 08-09-2015 05:15 PM

Quote:

Disable all non-nvidia GPU in BIOS
No such option in BIOS
Quote:

If you do want to change back to nouveau, please READ THE README
Made this mistake, understood, installed everything properly.
Quote:

As for your GLX extension error, you are either missing that file, or are using the WRONG file for the driver currently loaded. For nvida-driver properly installed you must have:
My files are exactly the same:
Quote:

ls -l /usr/lib64/xorg/modules/extensions/libglx*
-rwxr-xr-x 1 root root 1.5K Mar 30 04:51 /usr/lib64/xorg/modules/extensions/libglx.la-xorg*
lrwxrwxrwx 1 root root 16 Aug 9 23:27 /usr/lib64/xorg/modules/extensions/libglx.so -> libglx.so.352.30*
-rwxr-xr-x 1 root root 278K Mar 30 04:51 /usr/lib64/xorg/modules/extensions/libglx.so-xorg*
lrwxrwxrwx 1 root root 23 Aug 9 23:27 /usr/lib64/xorg/modules/extensions/libglx.so.352.30 -> libglx.so.352.30-nvidia*
-rwxr-xr-x 1 root root 12M Aug 8 23:43 /usr/lib64/xorg/modules/extensions/libglx.so.352.30-nvidia*
Quote:

this bumblebee/Optimus nonsense
Nvidia Optimus is a piece of shit because:
1. My nVIDIA card is WIRED to Intel => I cannot directly use nvidia one
2. nVIDIA's support for linux machines is crappy, dirvers are closed
3. nouveau not working as expected
Conclusion: You'd better NOT use Optimus nonsense

ReaperX7 08-09-2015 05:26 PM

Quote:

Originally Posted by Youmu (Post 5403422)
Never in my life have I built Xorg. I am not this adventurous. I was using Xorg version that was in slackware 14.1 DVD iso. Why is it looking for systemd? SYSTEMD!?
Most importantly, why slackware's Xorg is built WITH systemd detection??

It's looking for systemd-logind which is now part of Xorg session management support. Xorg, if built to support systemd-logind, will look for systemd-logind at startup of the X server. If it is not found, an error (EE) will be generated that systemd-logind could not be found. By nature, this is part of the default build configuration, so it's not Slackware's fault on this.

If you use software that does not check X for certain features, like this, the problem is trivial, but because systemd has penetrated so much software, and software developers have started including systemd support in their software if support via wrapped events, passthrough support, or feature checks, if the feature is supported, but the underlying software is missing, it may have a problem.

Normally, X will work fine even if the systemd-logind session management service is not found, and it should work fine with general applications, but because Steam is a binary-only distribution of software, there's no way to tell what, or if, it supports, or checks for, when starting up, but apparently it does check for certain features supported in Xorg.

You can try to reinstall the Nvidia-driver and see if it does help, but if Steam is checking for Xorg, it won't matter what driver you install, as this is not a driver issue, but an issue with the xorg-server directly.

I can walk you through fixing this if you're interested.

enorbet 08-09-2015 10:21 PM

Wait a minute! Why are you getting any systemd errors (especially logind) on Slackware? GLX errors should be solved by letting nvidia install mesa et al. The real problem is that "bee in ur bonnet" :) It requires (or greatly prefers) the Intel driver be installed before the nvidia driver. Additionally it is recommended that you create and add user to the bumblebee group. Plus you need to enable the bumblebeed.service and run optirun once, although it can be handy for running tests and stuff like

Code:

optirun glxspheresfoo
## replace "foo" with "32" or "64" or uae glxgears but spheres is better

However I see that Slackdocs recommends primusrun over optirun Bumblebee on Slackware *excellent document that explains it all properly.

Yeah thankfully no need to recompile xorg :eek:

I don't use bumblebee since I don't have an Optimus system but the Slackdoc above is quite systematic and clear and I'm certain other Slackers have bumblebee and can adise on that account better than I. It is crucial that bumblebee be setup properly but from what I read it isn't nasty as long as you go step by step with bumblebee first. Then it's a no-brainer for nvidia to pick it up and more than just well worth it.... no contest!


All times are GMT -5. The time now is 03:35 AM.