Xorg not working with bumblebee (no nouveau, intel as main GPU)

Latest response

I've been trying to get Xorg to work the whole day to no avail.
I've tried like 15 different methods to make it work to no avail.

System:
Dell XPS 15Z
8GBs DDR3 1333Mhz RAM
NVIDIA GT 525M
Intel i5-2410M

I have the NVIDIA drivers from ELRepo installed (Ver. 384.111-1.el7 - As per recommendation of nvidia-detect).
What I think is the problem is the following:

(EE) [drm] Failed to open DRM device for (null): -22
(EE) modeset(0): eglGetDisplay() failed
(EE) modeset(0): glamor initialization failed
(EE) modeset(G0): eglGetDisplay() failed
(EE) modeset(G0): glamor initialization failed
(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)

but haven't found a way to fix it, every "solutions" yields to a dead-end, I deleted the xorg.conf (as some suggested in other forums) but nothing changed.

I have attached the full log, xorg.conf.nvidia (from /etc/bumblebee/xorg.conf.nvidia) and bumblebee.conf (both .conf files were uploaded as .txts because it won't let me upload .confs) in case there's something else that I didn't find.

Attachments

Responses

Hi Juan,

Remove all NVIDIA related software and especially remove Bumblebee (it is outdated, not well maintained since a long time and not the recommended way to use the NVIDIA drivers). Install the latest stable original NVIDIA drivers 390.77 which support GEFORCE 525M. Please read the NVIDIA Accelerated Linux Graphics Driver 390.77 README and Installation Guide, most important to get everything working properly is the correct configuration of the /etc/X11/xorg.conf file - a wrong entry and it doesn't work.

Here is the configuration, which should be set to get the NVIDIA adapter working with RHEL on machines with hybrid graphics :

Execute sudo vi /etc/default/grub and add the following parameters to the line GRUB_CMDLINE_LINUX, so that it reads GRUB_CMDLINE_LINUX="rd.driver.blacklist=nouveau modprobe.blacklist=nouveau" and update GRUB afterwards.

Execute sudo grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg (valid for installations on machines with UEFI BIOS).
Execute sudo grub2-mkconfig -o /boot/grub2/grub.cfg (in case that the installation is on a machine with Legacy BIOS).

Execute sudo vi /etc/modprobe.d/nouveau.conf and add the following lines :

blacklist nouveau
options nouveau modeset=0   

Execute sudo vi /etc/X11/xorg.conf and add the following lines (check BusID's with lspci -k | grep -EA2 '3D|VGA') :

Section "ServerLayout"
    Identifier "layout"
    Screen 0 "nvidia"
    Inactive "intel"
EndSection

Section "Device"
    Identifier "nvidia"
    Driver "nvidia"
    BusID "PCI:1:0:0"
EndSection

Section "Screen"
    Identifier "nvidia"
    Device "nvidia"
    Option "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier "intel"
    Driver "modesetting"
    BusID "PCI:0:2:0"
EndSection

Section "Screen"
    Identifier "intel"
    Device "intel"
EndSection

Execute sudo vi /etc/xdg/autostart/nvidia-optimus.desktop and add the following lines :

[Desktop Entry]
Type=Application
Name=NVIDIA Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer  

Execute sudo vi /usr/share/gdm/greeter/autostart/nvidia-optimus.desktop and add the following lines :

[Desktop Entry]
Type=Application
Name=NVIDIA Optimus
Exec=sh -c "xrandr --setprovideroutputsource modesetting NVIDIA-0; xrandr --auto"
NoDisplay=true
X-GNOME-Autostart-Phase=DisplayServer

Note : In case your notebook did not ship with NVIDIA Optimus, the last two configurations are obsolete. And now ... good luck ! :)

Regards,
Christian

It worked perfectly! Thank you so so so so much... I wasted a whole day trying to get bumblebee to work and the actual solution was something I knew how to do, I just didn't know bumblebee was obsolete. Cheers!

Hey Juan, you're welcome !

That's great news from your side, I'm very glad that I could help you to achieve what you wanted.
FYI, a few hours after I've written the instructions, the new NVIDIA drivers 390.87 were released.
Instructions : NVIDIA Accelerated Linux Graphics Driver 390.87 README and Installation Guide
Really worth installing - NVIDIA 390.87 Linux Driver Backports That Important Performance Fix.

Cheers :)
Christian

Thank you. This helped me configure an external display using NVIDIA GTX 1050Ti while keeping the laptop monitor working as well on an Intel GPU.

You're welcome ! I'm glad the instructions were useful for you. :)

Regards,
Christian

Having limited experience, I have been trying for days to get this to work.

If /etc/X11/xorg.conf does not exist, does this mean these settings are being managed elsewhere, or do I just create the file manually?

Hi Gareth,

Yes, if the file doesn't exist you have to create it manually - being adjusted to your setup of course. :)
This is especially necessary when you install the NVIDIA drivers by using the original NVIDIA .run file.

Regards,
Christian

Christian,

Thank you for your very quick response. I now have a fully functional 7.6 installation.

Gareth

You're welcome, Gareth ! That's great news. :)

Regards,
Christian