====== Bumblebee for Nvidia Optimus Cards ====== <WRAP center round important 100%> Please note that, up until now, I **wasn't able to get a working configuration of LMDE2 with Bumblebee** on my current hardware (Clevo W150HR) m( If you intend to install Bumblebee on your system, I would recommend **having a USB Startup Key with LMDE2 as a testing platform** on which to try and make it work for your system. This way, you'll avoid messing up your entire system in case it doesn't work in the end... </WRAP> ===== Check your hardware ===== <code> > lspci | grep VGA 00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 08) 01:00.0 VGA compatible controller: NVIDIA Corporation GF106M [GeForce GT 555M] (rev a1) > inxi -Fxx ... Graphics: Card-1: Intel 2nd Generation Core Processor Family Integrated Graphics Controller bus-ID: 00:02.0 chip-ID: 8086:0126 Card-2: NVIDIA GF106M [GeForce GT 555M] bus-ID: 01:00.0 chip-ID: 10de:0dce Display Server: X.Org 1.16.4 drivers: nouveau,intel (unloaded: fbdev,vesa) Resolution: 1600x900@60.00hz, 1920x1080@60.00hz GLX Renderer: Mesa DRI Intel Sandybridge Mobile GLX Version: 3.0 Mesa 10.3.2 Direct Rendering: Yes ... </code> If you have an Intel Integrated Graphics Controller along with an NVIDIA GeForce, chances are that your configuration is an NVIDIA OPTIMUS one. To clearly understand what that is [[http://www.thelinuxrain.com/articles/the-state-of-nvidia-optimus-on-linux|read this article]], which gives a clear and very understandable view of what the technology is and how it is usable on Linux. After reading this article, we'll try and install **Bumblebee** on our system. This [[https://wiki.debian.org/Bumblebee#Installation|Debian wiki page]] tells us how to complete the installation. ===== Install Bumblebee and Primus ===== In LMDE2 (Debian 8 Jessie): <code> > sudo apt-get install bumblebee primus </code> You might need to add your user to the bumblebee group (normally it's done at install time if your user has sudo rights): <code> > sudo adduser $USER bumblebee </code> You can now use //**optirun**// or, better, //**primusrun**// to launch applications that will use the NVIDIA GPU: <code> > primusrun vsxu_player </code> On my Clevo W150HR (above outputs), an error was reported when trying to use optirun or primusrun. Examination of the //**/var/log/Xorg.0.log**// and //**/var/log/Xorg.8.log**// files revealed an apparently "classic" error: > (EE) /dev/dri/card1: failed to set DRM interface version 1.4: Permission denied > (EE) /dev/dri/card0: failed to set DRM interface version 1.4: Permission denied > (EE) NOUVEAU(0): [drm] failed to set drm interface version. > (EE) NOUVEAU(0): [drm] error opening the drm > (EE) NOUVEAU(0): 892: > (II) UnloadModule: "nouveau" > (EE) Screen(s) found, but none have a usable configuration. > (EE) > Fatal server error: > (EE) no screens found(EE) > (EE) There are various threads like [[https://github.com/Bumblebee-Project/Bumblebee/issues/652|this one (which seems to be the most recently updated)]], or [[https://github.com/Bumblebee-Project/Bumblebee/issues/580|this one also on the GitHub space of Bumblebee]] or yet [[https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=756522|another one from the Debian bug report log]]... Although it isn't guaranteed to work, the only "fix" that seems to have a chance to help is adding the following lines to the xorg.conf file. Fist identify the used config file, then edit it: <code> > cat /var/log/Xorg.8.log | grep "Using config file" [ 1877.975] (++) Using config file: "/etc/bumblebee/xorg.conf.nouveau" > sudo nano /etc/bumblebee/xorg.conf.nouveau Section "ServerLayout" Identifier "Layout0" Option "AutoAddDevices" "false" Option "AutoAddGPU" "false" EndSection Section "Device" Identifier "DiscreteNvidia" Driver "nouveau" # If the X server does not automatically detect your VGA device, # you can manually set it here. # To get the BusID prop, run `lspci | egrep 'VGA|3D'` and input the data # as you see in the commented example. # This Setting is needed on Ubuntu 13.04. # BusID "PCI:01:00:0" EndSection Section "Screen" Identifier "Default Screen" Device "DiscreteNvidia" EndSection </code>