SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I tried to install Nvidia Optimus (Bumblebee) in Slackware 14.2 and Slackware 14+current. I found the same errors during installation, I have been trying several things, and I have avoided some errors, anyway they keep appearing.
So I tried a manual a installation and I noticed that /root/Bumblebee-SlackBuilds/nvidia-bumblebee/nvidia-bumblebeed.SlackBuild never got compiled correctly thus it never got installed. The following output was shown:
Code:
nvidia-modprobe-410.73/modprobe-utils/pci-sysfs.h
install: will not overwrite just-created '/tmp/bbsb/package-nvidia-bumblebee/usr/lib64/nvidia-bumblebee/libGLX_nvidia.so.410.73' with 'libGLX_nvidia.so.410.73'
install: will not overwrite just-created '/tmp/bbsb/package-nvidia-bumblebee/usr/lib64/nvidia-bumblebee/libEGL_nvidia.so.410.73' with 'libEGL_nvidia.so.410.73'
I edited the file: nvidia-bumblebeed.SlackBuild and commented out the lines, around the lines 134-135:
Fist of all, I don't have such hardware, so I cannot tell that commenting something out is good solution.
However, I've look into script, and you probably do mistake in commenting out this lines see:
Code:
install -m 755 \
... some more lines...
libnvidia-opencl.so.$VERSION \
libnvidia-ptxjitcompiler.so.$VERSION \
libGLX_nvidia.so.$VERSION \
libEGL_nvidia.so.$VERSION \
$PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
If you do comment in this way:
Code:
install -m 755 \
... some more lines...
libnvidia-opencl.so.$VERSION \
libnvidia-ptxjitcompiler.so.$VERSION \
# libGLX_nvidia.so.$VERSION \
# libEGL_nvidia.so.$VERSION \
$PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
Resulting command is wrong. It end at first line with hash, so "libnvidia-ptxjitcompiler.so.$VERSION" is last "path" in it, and threat as destination. You should remove those lines entirely. Or move hashed in different place outside command
Last edited by Labinnah; 07-22-2019 at 03:30 AM.
Reason: Error in aswer
Fist of all, I don't have such hardware, so I cannot tell that commenting something out is good solution.
However, I've look into script, and you probably do mistake in commenting out this lines see:
Code:
install -m 755 \
... some more lines...
libnvidia-opencl.so.$VERSION \
libnvidia-ptxjitcompiler.so.$VERSION \
libGLX_nvidia.so.$VERSION \
libEGL_nvidia.so.$VERSION \
$PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
If you do comment in this way:
Code:
install -m 755 \
... some more lines...
libnvidia-opencl.so.$VERSION \
libnvidia-ptxjitcompiler.so.$VERSION \
# libGLX_nvidia.so.$VERSION \
# libEGL_nvidia.so.$VERSION \
$PKG/usr/lib${LIBDIRSUFFIX}/$PRGNAM
Resulting command is wrong. It end at first line with hash, so "libnvidia-ptxjitcompiler.so.$VERSION" is last "path" in it, and threat as destination. You should remove those lines entirely. Or move hashed in different place outside command
Ohh, I see.. now it's compiling correctly. Sadly for me.. there are still errors after installation. I made again the installation by hand (manual) or automatic installation, no fatal error was shown during installation in Slackware 14+current, nvidia-kernel.SlackBuild did not run correcly in Slackware 14.2 but I will leave that problem for later since this threads is for nvidia-bumblebee.
So in Slackware 14+current things have been installed correctly, but I cannot run optirun or primusrun.
I have the following output:
Code:
[root@comp ~]# optirun -status
[ 599.812246] [ERROR]The Bumblebee daemon has not been started yet or the socket path tatus was incorrect.
[ 599.812273] [ERROR]Could not connect to bumblebee daemon - is it running?
I know the outputs above here are shown from the root user, but the same outputs are shown if I execute optirun or primusrun from a normal that is in the bumblebee group.
Any ideas? There's the "rmmod: ERROR: Module nvidia is in use by: nvidia_modeset", socket and xorg problem.
Hello.
Sorry. I don't have a confident solution of your issue. I have a laptop PC with nvidia-GPU with Intel chip, and using bumblebee with NVIDIA 430.34 driver.
I attached a nvidia-bumblebee.SlackBuild file for 430.34 which I'm using.
And , the plan-B is to use Nvidia's pure Prime function (not bumblebee) by installing "sh NVIDIA-Linux-x86_64-430.34.run".
In this case, you need to create xorg.conf in /etc/X11/ directory.
You can find a xorg.conf making script at the bottom post of following thread. <SOLVED> nvidia prime on dual gpu configuration giving a blank screen
I used this script and create xorg.conf of my PC and it's working fine.
I attached my xorg.conf sample just in case, below.
Hello.
Sorry. I don't have a confident solution of your issue. I have a laptop PC with nvidia-GPU with Intel chip, and using bumblebee with NVIDIA 430.34 driver.
I attached a nvidia-bumblebee.SlackBuild file for 430.34 which I'm using.
And , the plan-B is to use Nvidia's pure Prime function (not bumblebee) by installing "sh NVIDIA-Linux-x86_64-430.34.run".
In this case, you need to create xorg.conf in /etc/X11/ directory.
You can find a xorg.conf making script at the bottom post of following thread. <SOLVED> nvidia prime on dual gpu configuration giving a blank screen
I used this script and create xorg.conf of my PC and it's working fine.
I attached my xorg.conf sample just in case, below.
Thanks for the answer. Now that I have updated to a new kernel just a few hours ago, I tried to make a new manual installation, very carefully.
I didn't try with the Driver you have, just the +current driver that the ./download.sh has in it, but I took your nvidia-bumblebee.SlackBuild and installed from there.
Some of the errors I got in previous installations and whose output I put in the previous post are no longer there.
Sadly again... I still cannot run primusrun or optirun. But I'm getting closer...
Now, no error was shown executing bumblebeed, but the errors appear when I execute primusrun or optirun...
Code:
[root@comp ~]# bumblebeed -vvv
[ 2116.526870] [DEBUG]Found card: 0a:00.0 (discrete)
[ 2116.526894] [DEBUG]Found card: 00:02.0 (integrated)
[ 2116.526899] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 2116.527234] [DEBUG]Process /sbin/modprobe started, PID 21007.
[ 2116.527276] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[ 2116.528503] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 2116.528518] [DEBUG]Detected nvidia driver (module nvidia)
[ 2116.528560] [DEBUG]bbswitch has been detected.
[ 2116.528568] [INFO]Switching method 'bbswitch' is available and will be used.
[ 2116.528573] [DEBUG]Active configuration:
[ 2116.528580] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 2116.528587] [DEBUG] X display: :8
[ 2116.528594] [DEBUG] LD_LIBRARY_PATH: /usr/lib64/nvidia-bumblebee:/usr/lib/nvidia-bumblebee
[ 2116.528601] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 2116.528607] [DEBUG] pidfile: /var/run/bumblebeed.pid
[ 2116.528614] [DEBUG] xorg.conf file: /etc/bumblebee/xorg.conf.nvidia
[ 2116.528622] [DEBUG] xorg.conf.d dir: /etc/bumblebee/xorg.conf.d
[ 2116.528631] [DEBUG] ModulePath: /usr/lib64/nvidia-bumblebee/xorg/modules,/usr/lib64/xorg/modules
[ 2116.528638] [DEBUG] GID name: bumblebee
[ 2116.528645] [DEBUG] Power method: auto
[ 2116.528652] [DEBUG] Stop X on exit: 1
[ 2116.528659] [DEBUG] Driver: nvidia
[ 2116.528666] [DEBUG] Driver module: nvidia
[ 2116.528673] [DEBUG] Card shutdown state: 1
[ 2116.528791] [DEBUG]Process /sbin/modprobe started, PID 21008.
[ 2116.528819] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[ 2116.529975] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 2116.529992] [DEBUG]Configuration test passed.
[ 2116.530479] [INFO]bumblebeed 3.2.1-2013-04-26-Format:%h$ started
[ 2116.530598] [INFO]Unloading nvidia driver
[ 2116.530697] [DEBUG]Process rmmod started, PID 21009.
[ 2116.563255] [DEBUG]Process with PID 21009 returned code 0
[ 2116.563629] [INFO]Switching dedicated card OFF [bbswitch]
[ 2116.733254] [INFO]Initialization completed - now handling client requests
[ 2118.466605] [DEBUG]Accepted new connection
[ 2118.466818] [INFO]Switching dedicated card ON [bbswitch]
[ 2118.980367] [INFO]Loading driver nvidia (module nvidia)
[ 2118.980559] [DEBUG]Process modprobe started, PID 21015.
[ 2119.203029] [DEBUG]Process with PID 21015 returned code 0
[ 2119.203112] [INFO]Starting X server on display :8.
[ 2119.203280] [DEBUG]Process Xorg started, PID 21018.
[ 2119.209151] [DEBUG]Process with PID 21018 returned code 1
[ 2119.209195] [ERROR][XORG] (EE)
[ 2119.209201] [DEBUG][XORG] Fatal server error:
[ 2119.209206] [ERROR][XORG] (EE) Invalid isolated device specification
[ 2119.209216] [ERROR][XORG] (EE)
[ 2119.209221] [ERROR][XORG] (EE)
[ 2119.209229] [DEBUG][XORG] Please consult the The X.Org Foundation support
[ 2119.209236] [DEBUG][XORG] at http://wiki.x.org
[ 2119.209244] [DEBUG][XORG] for help.
[ 2119.209252] [ERROR][XORG] (EE)
[ 2119.209257] [ERROR]X did not start properly
[ 2119.209342] [DEBUG]Socket closed.
The only error there now is something with xorg. No more module, socket, bbswitch or PID problems I think.
Maybe... it has something to do with the fact that I din't install any desktop environment during slackware installation? I'm just using window managers.
Could you tell me if you made a full slackware installation? And what desktop environment are you using?
Maybe starting X11 through some of those desktop environments/display managers will solve this problem (X did not start properly)... that's the only (easy) thing I haven't tried yet.
My only and very useful hint is that I have used my hardware with other GNU/Linux distros and works just fine with bumblebee, and yes, I have had desktop environments/X11 in those, except for Arch (just window manager) I think. So it's worth keep trying... I hope.
If nothing of that works, I'll try what you told me secondly.
Last edited by slac; 07-23-2019 at 04:13 AM.
Reason: Some spell-checking
Files you need are NVIDIA-Linux-x86_64-430.34.run and *.tar.bz2 of the latest(430.34) nvidia-installer, nvidia-modprobe, nvidia-persistenced, nvidia-settings, nvidia-xconfig.
After log-in with new kernel, put NVIDIA-Linux-x86_64-430.34.run in nvidia-kernel directory and build & install nvidia kernel modules.
Then, put NVIDIA-Linux-x86_64-430.34.run and *.tar.bz2 files above in nvidia-bumblebee directory, and build & install using my SlackBuild that I attached before.
Files you need are NVIDIA-Linux-x86_64-430.34.run and *.tar.bz2 of the latest(430.34) nvidia-installer, nvidia-modprobe, nvidia-persistenced, nvidia-settings, nvidia-xconfig.
After log-in with new kernel, put NVIDIA-Linux-x86_64-430.34.run in nvidia-kernel directory and build & install nvidia kernel modules.
Then, put NVIDIA-Linux-x86_64-430.34.run and *.tar.bz2 files above in nvidia-bumblebee directory, and build & install using my SlackBuild that I attached before.
Please try.
Hope this would some help for you.
I made a clean slackware installation and updated everything correcly. After that, I followed up your instructions. Sadly didn't work. I thinks it's time to give this up for the moment. Maybe I'll try this again later when I have more experience in the topic, maybe I could finally configure it in Slackware... It has been 2 years...
If you are up to it slackware-current works with prime sync if you set it up right. bumblebee is just a kludgy work around (in my honest opinion).
Look at my thread: https://www.linuxquestions.org/quest...op-4175562920/
skip to the end for the good part. Prime sync is what you want, not bumblebee, although your stability may vary from mine it might be worth a try.
and acceleration through the hdmi port just might work ok which is more than i can say for bumblebee. prime sync more closely approximates how
things were intended to work.
If you are up to it slackware-current works with prime sync if you set it up right. bumblebee is just a kludgy work around (in my honest opinion).
Look at my thread: https://www.linuxquestions.org/quest...op-4175562920/
skip to the end for the good part. Prime sync is what you want, not bumblebee, although your stability may vary from mine it might be worth a try.
Sure, I just made a fresh Slackware 14 current installation. I already followed the instructions the user above gave me [J_W] (to install nvidia bumblebee), they didn't work tho (sadly). So I already have the bbswitch, nvidia-bumblebee and nvidia-kernel packages installed. I think those packages are needed to be re-installed when a kernel upgrade is done (that's the easiest way to get rid of them, I think), but I'm already using the latest kernel version that's available through the official slackware repository by this time and I'm saying this because I don't know how to re-install the kernel, if you could give me a link to that information or just telling me how to do so, I'll be happy to follow the instructions to make the GPU work through PRIME just as you and [J_W] told me.
If you are up to it slackware-current works with prime sync if you set it up right. bumblebee is just a kludgy work around (in my honest opinion).
Look at my thread: https://www.linuxquestions.org/quest...op-4175562920/
skip to the end for the good part. Prime sync is what you want, not bumblebee, although your stability may vary from mine it might be worth a try.
Never mind with my last answer... If did things right then it was easier than I thought.
eliloconfig? hmm, i have had problems with it. If it works for you ok, but if not and you have virtual terminal switching problems use grub instead.
One thing at a time. good luck
Hello.
Sorry. I don't have a confident solution of your issue. I have a laptop PC with nvidia-GPU with Intel chip, and using bumblebee with NVIDIA 430.34 driver.
I attached a nvidia-bumblebee.SlackBuild file for 430.34 which I'm using.
And , the plan-B is to use Nvidia's pure Prime function (not bumblebee) by installing "sh NVIDIA-Linux-x86_64-430.34.run".
In this case, you need to create xorg.conf in /etc/X11/ directory.
You can find a xorg.conf making script at the bottom post of following thread. <SOLVED> nvidia prime on dual gpu configuration giving a blank screen
I used this script and create xorg.conf of my PC and it's working fine.
I attached my xorg.conf sample just in case, below.
If you are up to it slackware-current works with prime sync if you set it up right. bumblebee is just a kludgy work around (in my honest opinion).
Look at my thread: https://www.linuxquestions.org/quest...op-4175562920/
skip to the end for the good part. Prime sync is what you want, not bumblebee, although your stability may vary from mine it might be worth a try.
Quote:
Originally Posted by SunnyJim
eliloconfig? hmm, i have had problems with it. If it works for you ok, but if not and you have virtual terminal switching problems use grub instead.
One thing at a time. good luck
Thank you sooooo much! Finally I get this f nvidia gpu working! DD
I tried to get the PRIME technology working with Nouveau... I had three problems with that and I'm gonna explain those just in case someone else find this thread.
First problem: Nouveau module doesn't exist in Slackware current. The reality is that nouveau module exists but it has another name. The noveau module driver in Slackware Current is identified with the name "nv" in the xorg config files.
Second problem: Nouveau module is being used by the kernel that makes xorg unable to use it. Just blacklist nouveau in /etc/modeprobe.d
Third problem: There's no nouveau driver compatible with the graphic card I'm currently using. Even tho I can use nouveau driver under another circumstances I cannot use it with PRIME. (Strange)
Because of the third problem I installed the Nvidia driver just as [J_W] pointed me out in the answer he gave me.
Code:
sh NVIDIA-Linux-x86_64-430.34.run
Also [J_W] gave me some links to manually download some packages to install nvidia-bumblebee when I was trying that, that's where I downloaded that .run file, and actually there are two files in that link, one without 32compatibily and the normal one. The normal one still gives you the option to install without 32compat, but I think the one without 32compat could be better since its size is smaller (in case you don't need 32compat).
Now it's time to create the custom xorg conf file.
When I run: lspci that command gives the BUS ID of the cards. My gpu's BUS ID is 0a:00:00 which should be translated to decimal when configuring the xorg file, so I actually have 10.0.0 as BUS ID.
Then I just put in the .xinitrc file what [SunnyJim] has published in another thread which is the one of the link he shared in his previous answer (the xrandr commands). A black screen appeared the first time I tried and I cannot remember what I did but I think I just re-checked my .xinitrc and custom xorg config file just as [SunnyJim] said in that same thread and it worked.
Now I have the gpu nvidia working correctly! Again, thank you so much for your anwers, you actually helped me out!
Last edited by slac; 07-26-2019 at 05:34 AM.
Reason: Some spell-checking
First problem: Nouveau module doesn't exist in Slackware current. The reality is that nouveau module exists but it has another name. The noveau module driver in Slackware Current is identified with the name "nv" in the xorg config files.
For what I know, "nv" is the old NVIDIA video driver for xorg, not nouveau driver. The nouveau driver is called "nouveau" if you want to use it in xorg.conf file. Maybe you haven't installed xf86-video-nouveau package?
NVIDIA Optimus under nouveau driver doesn't need bumblebee. You can look at https://nouveau.freedesktop.org/wiki/Optimus/ for instructions on how to enable Optimus support under nouveau. Basically it's the matter of ensuring the nouveau kernel driver is loaded and used by the kernel (and not conflicting with nvidia proprietary driver), ensuring that xorg loaded the nouveau driver and used it, then add something in ~/.xinitrc like this:
Code:
xrandr --setprovideroffloadsink nouveau Intel
(Altough from my own experiences, the above command isn't really needed because usually it's already configured automatically if you are using the newer xorg-server and xf86-video-nouveau packages like in Slackware-current). Then when you want to use the discrete graphics just set the environment variable DRI_PRIME=1, for example:
Code:
DRI_PRIME=1 glxinfo | grep "OpenGL vendor string"
That command will output "OpenGL vendor string: nouveau" if everything are set correctly
As for the performance, using NVIDIA's official way of course is faster in most cases than using the nouveau driver. But of course that depends on the user's needs
Last edited by mumahendras3; 07-26-2019 at 09:29 AM.
For what I know, "nv" is the old NVIDIA video driver for xorg, not nouveau driver. The nouveau driver is called "nouveau" if you want to use it in xorg.conf file. Maybe you haven't installed xf86-video-nouveau package?
NVIDIA Optimus under nouveau driver doesn't need bumblebee. You can look at https://nouveau.freedesktop.org/wiki/Optimus/ for instructions on how to enable Optimus support under nouveau. Basically it's the matter of ensuring the nouveau kernel driver is loaded and used by the kernel (and not conflicting with nvidia proprietary driver), ensuring that xorg loaded the nouveau driver and used it, then add something in ~/.xinitrc like this:
Code:
xrandr --setprovideroffloadsink nouveau Intel
(Altough from my own experiences, the above command isn't really needed because usually it's already configured automatically if you are using the newer xorg-server and xf86-video-nouveau packages like in Slackware-current). Then when you want to use the discrete graphics just set the environment variable DRI_PRIME=1, for example:
Code:
DRI_PRIME=1 glxinfo | grep "OpenGL vendor string"
That command will output "OpenGL vendor string: nouveau" if everything are set correctly
As for the performance, using NVIDIA's official way of course is faster in most cases than using the nouveau driver. But of course that depends on the user's needs
Thank you for pointing out that information. I was about to ask something but I found the answer myself.
The reason because I wrote that (the details about nv in my last answer) it's simply because when I was removing the bumblebee related packages I forget to remove the package that blacklists the nouveau not only at boot up but in slackpkg. That's why when I was trying to install the xf86-video-nouveau pkg (through slackpkg) I didn't find it, so I just assumed that the package with the name of xf86-video-nv was the one since nv=nouveau? (Because I didn't know the nv driver) Now I know it is not the case.
As far as the other information you gave me is concerned, you're right; It is not necessary to execute:
Code:
xrandr --setprovideroffloadsink nouveau Intel
... in Slackware Current.
Thanks again.
Last edited by slac; 07-26-2019 at 06:02 PM.
Reason: Some spell-checking
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.