Sabayon 14.11: nvidia-drivers 340.46 broke my multi-monitor setup

This article is from 2014 and has been archived. It's old and probably outdated.

One of my machines is a Lenovo T420s running on Sabayon Linux in a dual monitor setup with discrete graphics set up in the BIOS. The latest sabayon-weekly update (installed on 22.10.2014) shipped the nvidia-drivers-340.46, afterwards the graphics setup was messed up: The second monitor was not recognized anymore while Xorg continued to handle the desktop as usual, i.e. expanded over two displays. Even after a reboot with detached monitor I just saw a background pattern on my integrated display where I should have a login box.

I tried a couple of approaches to fix this behaviour:

  • Tried to downgrade the drivers to the previously installed version 340.32 by masking nvidia-drivers-340.46 and nvidia-userspace-340.46. I could not go back to that version with Entropy, instead it installed 304.123. That version broke my Xorg completely with lots of slow flickering indicating a couple of tries to initialize the graphics adapter, eventually leading to a crashed Xorg startup.

  • Removed/modified/replaced /etc/X11/xorg.conf with previously working configurations and tried tips from various forums.

I noticed that in xrandr the second monitor was detected as attached. I was just not able to configure it at all using nvidia-settings. That one was quite persistent in just offering me two display labeled with some Lenovo name.

Eventually I decided to get rid of the proprietary Nvidia drivers and give Nouveau another try. I had tried Nouveau a couple of years ago and at that time I had trouble to get it up and running. Nouveau has since evolved and I was able to restore my graphics setup to a working state:

  1. Installed nouveau:

    $ sudo equo install nouveau
    
  2. Checked available OpenGL implementations:

    $ sudo eselect opengl list
    Available OpenGL implementations:
    [1]   nvidia *
    [2]   xorg-x11
    
  3. Set the OpenGL implementation to xorg-x11:

    $ sudo eselect opengl set 2
    
  4. Commented out the blacklisted nouveau in /etc/modprobe.d/blacklist.conf.

  5. Moved /etc/X11/xorg.conf temporarily to have a fresh Xorg startup.

  6. Uninstalled Nvidia drivers:

    $ sudo equo remove nvidia-drivers nvida-userspace nvidia-settings
    
  7. Reboot

These steps solved my issues.

One note: Step (4) is critical. I did not check the blacklisting and was wondering why Xorg was only using 1024x768 and the control center display settings in Gnome were just showing an "unknown monitor". Sabayon seems to blacklist nouveau by default.

Jan Beilicke

About the author

Long-time IT professional and full-time nerd. Open source enthusiast, advocating security and privacy. Sees the cloud as other people's computers. Find me on Mastodon or Twitter.