[elrepo] skylake, nvidia, bumblebee

Nicolas Thierry-Mieg Nicolas.Thierry-Mieg at imag.fr
Thu Oct 6 09:39:42 EDT 2016



On 10/06/2016 03:20 PM, Manuel Wolfshant wrote:
> On 10/06/2016 04:15 PM, Nicolas Thierry-Mieg wrote:
>> Hello,
>>
>> as mentioned a few weeks ago I am trying to get C7 fully functional on
>> a new Acer Aspire E5-575G-55DE laptop, which has an intel i5-6200U
>> with integrated HD Graphics 520 as well as a nvidia GeForce GTX 950M.
>>
>> Thanks to advice from this list I got the intel graphics to work with
>> the standard EL7 kernel by adding i915.preliminary_hw_support=1 to the
>> kernel options.
>>
>> I then followed the instructions from http://elrepo.org/tiki/bumblebee
>> to install the nvidia kmod and driver, as well as bumblebee. After
>> rebooting I get a "Oh no! Something has gone wrong" screen.
>>
>> I managed to fix this by
>> sudo mv /usr/lib64/xorg/modules/extensions/nvidia/ /usr/lib64/xorg/
>> and modifying XorgModulePath accordingly in bumblebee.conf .
>>
>> Everything now works: I can now boot in X mode (using the intel gpu)
>> and start applications using the nvidia gpu with optirun.
>>
>> Comparing the Xorg.0.log files between initial (broken) install and
>> after my fix, the main difference is (removing timestamps for
>> readability):
>>
>> BROKEN:
>> (II) LoadModule: "glx"
>> (II) Loading /usr/lib64/xorg/modules/extensions/nvidia/libglx.so
>> (EE) Failed to load
>> /usr/lib64/xorg/modules/extensions/nvidia/libglx.so:
>> libnvidia-tls.so.367.44: cannot open shared object file: No such file
>> or directory
>> (II) UnloadModule: "glx"
>> (II) Unloading glx
>> (EE) Failed to load module "glx" (loader failed, 7)
>>
>> FIXED:
>> (II) LoadModule: "glx"
>> (II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
>> (II) Module glx: vendor="X.Org Foundation"
>>     compiled for 1.17.2, module version = 1.0.0
>>     ABI class: X.Org Server Extension, version 9.0
>> (==) AIGLX enabled
>>
>>
>> So it seems that when the nvidia libglx is in
>> /usr/lib64/modules/extensions/nvidia/libglx.so , X tries to load that
>> instead of the correct /usr/lib64/xorg/modules/extensions/libglx.so .
>>
> I might be wrong but I think that you did not fix it correctly.
> nvidia comes with its own libglx and /etc/Xorg.d/*nvidia.conf properly
> tells Xorg to load it from /usr/lib64/xorg/modules/extensions/nvidia/.
> The real issue is that the module cannot find libnvidia-tls.so.367.44

This system has 2 GPUs (intel and nvidia). It needs to use the intel gpu 
initially, and thanks to bumblebee it switches to the nvidia GPU for 
specific applications that you start with "optirun <command>".
When you install bumblebee it comments out everything in 
/etc/X11/xorg.conf.d/99-nvidia.conf , and instead bumblebee.conf sets 
the ModulePath when switching GPUs.

What I am showing is the initial part, where I want to use the 
non-nvidia libglx .

In the FIXED case, when I start an app with optirun I get an Xorg.8.log 
file that contains:
(++) ModulePath set to 
"/usr/lib64/xorg/nvidia,/usr/lib64/xorg/modules/drivers,/usr/lib64/xorg/modules"
[...]
(II) LoadModule: "glx"
(II) Loading /usr/lib64/xorg/nvidia/libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.0
	Module class: X.Org Server Extension
(II) NVIDIA GLX Module  367.44  Wed Aug 17 21:50:26 PDT 2016
(II) LoadModule: "nvidia"
(II) Loading /usr/lib64/xorg/modules/drivers/nvidia_drv.so
(II) Module nvidia: vendor="NVIDIA Corporation"
	compiled for 4.0.2, module version = 1.0.0
	Module class: X.Org Video Driver

So here it is finding the libnvidia-tls.so.367.44 , no problem. And the 
app is actually using the nvidia GPU (performance is much better than 
with the intel GPU).


More information about the elrepo mailing list