Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Problem installing driver in such a way as to work with bumblebee in fedora #1
Hello and happy new years.
In driver version 352.63 if you call the nvidia installer with these command line arguments it returns successfully: ("0")
./nvidia-installer --accept-license --silent --no-x-check --no-nouveau-check --no-recursion --opengl-libdir=lib64/nvidia-bumblebee --opengl-prefix=/usr --x-library-path=lib64/nvidia-bumblebee --x-prefix=/usr --x-module-path=/usr/lib64/nvidia-bumblebee/xorg/modules --compat32-libdir=lib/nvidia-bumblebee --compat32-prefix=/usr
However, in driver version 358.16 using the same arguments gives:
Building NVIDIA video drivers: Creating directory NVIDIA-Linux-x86_64-358.16
WARNING: The symbolic link '/usr/lib/libGL.so.1' does not point to
ERROR: The runtime configuration check failed for the library 'libEGL.so.1'
ERROR: Installation has failed. Please see the file
It does actually "work" correctly but the wrapper script I created doesn't know it succeeded because the return code from "nvidia-installer" is not "0" in version 358.16. Probably because of some kind of error detection that prints out the all caps ERROR: lines?
Since I run the wrapper at every boot via systemd it just keeps compiling at every boot over and over again since it does not know it succeeded enough for bumblebee to work.
You can test this if you like by checking out the instructions for using bumblebee on fedora here:
Basically you will want to use the "Unmanaged NVidia repo" and download each blob to test from here:
and then copy it to
and then run the wrapper script for bumblebee by hand as root:
If you want to look over the wrapper its pretty simple. Its just a bash shell script.
Anyways, I made a discussion thread here:
But probably its better to open a new issue here?
Please let me know if there is any other information you need on this bug?
I was told by samsagax (Joaquín Ignacio Aramendía) back in 2012 that I "needed to figure out how to install NVIDIA binaries in a way that won't break LibGL from mesa in order for the intel card to work properly"
My solution was to create this wrapper script and to work out for myself the command line arguments needed to the nvidia-installer program...
Thanks so much for taking a look at this and for any ideas you may have. You guys make great graphics chips for these optimus notebooks.
Hi @gsgatlin. I think the best bet is probably to just add a new option to override the runtime configuration check, basically telling nvidia-installer that you realize that you're not installing it as the system GL vendor. I filed NVIDIA bug 1716322 to track this.
Here's a patch that adds the options --no-symlink-check and --no-runtime-check. I tried this successfully with @gsgatlin 's command line, modified like this:
./nvidia-installer --accept-license --silent --no-x-check --no-nouveau-check --no-recursion --opengl-libdir=lib64/nvidia-bumblebee --opengl-prefix=/usr --x-library-path=lib64/nvidia-bumblebee --x-prefix=/usr --x-module-path=/usr/lib64/nvidia-bumblebee/xorg/modules --compat32-libdir=lib/nvidia-bumblebee --compat32-prefix=/usr --no-symlink-check --no-runtime-check
referenced this issue
Jan 21, 2016
Sorry for the slow update. We haven't had a chance to evaluate the patch yet.
Longer term, the issue that this request is trying to address should be addressed by the vendor-neutral OpenGL dispatch library: in a Bumblebee configuration, libglvnd will load the NVIDIA GLX implementation automatically for applications connected to the Bumblebee X server, while applications connected to one running Mesa GLX will load the GLX implementation specified by Mesa.
I made a new rpm where I try to build nvidia-install with a patch applied based on the pull request above.
But it does not work. So I'm about to give up and just tell people I'm not smart enough to solve this problem. I'm very sorry.
Error message is:
ERROR: Unable to load the 'nvidia-drm' kernel module.
ERROR: Installation has failed. Please see the file
This was with NVIDIA-Linux-x86_64-361.42.run.
Experimental failed packages are at:
@mhirsch Thank you. I guess that was what I needed.
So I randomly picked 1e378a8
But... I will still need help from the fedora community due to the fact that nvidia has added more kernel modules then just nvidia.ko. And I am unsure how to make nvidia_modeset unload. so bbswitch stays on all the time. Which kind of defeats the purpose of optimus.
Also, it looks like the idea of a "unmanaged" package could not work any more unless nvidia merged your pull request. So that sucks for folks who like to use older or newer drivers. But maybe I can make managed version work by cherry picking "nvidia-installer" driver version to compile and use "long lived branch" versions.
I will try to make a rpm that people could experiment with...
@mhirsch Thanks so much for your suggestion.
I'm still using 361.18, but I have a line like this in
Any other modules they've added in later driver versions would need to be added to that line. It's not ideal since you get a warning if one of those modules wasn't loaded (e.g. you weren't using CUDA and nvidia-uvm isn't loaded). But it seems like bumblebee removes things properly.
Doesn't appear to work for me. But thanks a lot for your help.
I created some experimental packages here:
I drop a /etc/modprobe.d/nvidia-unload.conf in that rpm with:
[gsgatlin@y470c ~]$ cat /etc/modprobe.d/nvidia-unload.conf
But they still seem to stay loaded... (After a single use)
[gsgatlin@y470c ~]$ lsmod | grep nvidia
So maybe something else changed.
Since they do not have time to evaluate this fix I have been patching their source code and rebuilding it myself in the rpm. When/if @mhirsch patch stops working I guess we're done and we give up. Any of the ones that were patched are:
and I'm going to try again today with 367.44 to see if it will work since 4.7 kernel will be in fedora 24 very soon.
Here is a link to the patch I am using: