I have just bought a new Dell Inspiron laptop, a N5110, and it has two graphics chipsets: one Nvidia GPU and an integrated Intel GPU. The Nvidia GPU is powerful and power-hungry. The Intel GPU is not that powerful (so forget about games) but requires much less power and, consequently, is much better to use on a laptop when not playing games (which I personally never do on this laptop). In theory, Nvidia Optimus technology allows the laptop to change from the Intel to the Nvidia GPU and vice-versa seamlessly… but this does not work out of the box on CentOS Linux 6 which is my preferred Linux distribution for serious work.
Here is how I made Nvidia Optimus work well enough on my laptop running CentOS Linux 6 64-bits (x86_64):
Enable the ELRepo repositories:
- wget http://elrepo.org/linux/elrepo/el6/x86_64/RPMS/elrepo-release-6-4.el6.elrepo.noarch.rpm
- yum localinstall elrepo-release-6-4.el6.elrepo.noarch.rpm
Install VirtualGL to allow full 3D acceleration in Linux:
- wget http://sourceforge.net/projects/virtualgl/files/VirtualGL/2.3.1/VirtualGL-2.3.1.x86_64.rpm/download
- yum localinstall VirtualGL-2.3.1.x86_64.rpm
Install Bumblebee to add support for Nvidia Optimus in Linux:
- groupadd bumblebee
- yum –enablerepo=elrepo-testing install bumblebee kmod-bbswitch
- chkconfig bumlebeed on
- service bumlebeed start
Once this is done, the laptop will start using the Intel GPU. The optirun command can then be used to switch to the Nvidia GPU on a ad-hoc basis (e.g. optirun glxgears -info)
Now I need to make my Synaptics trackpad work!
someguy says
Now I need to make my Synaptics trackpad work!
touchpad works with kernel 3.4 or 3.5
yum -enablerepo=elrepo-kernel install kernel-ml
on boot choose the new kernel cause its not default you need to edit /boot/grub/grub.conf to make it default.
reboot and than SYSTEM —> PREFERENCE —> MOUSE config :-)
Avinash Meetoo says
Thanks! I’ll give that a try.
Do you know how to do that on Fedora 17?
4hr1m4n says
If, besides using NVIDIA discrete GPU, you also want to use your Intel integrated GPU to run OpenGL/Mesa 3D apps (compiz?) you will need to do a few extra tweaks. I managed to make both GPUs (Intel and NVIDIA) work and if you are interested please take a look at https://www.centos.org/modules/newbb/viewtopic.php?topic_id=39948
Suggestions are welcome. ;)
Aohui says
i follow your instructions
–$ sudo service bumblebeed start
but there is something wrong like:
–FATAL: Error inserting bbswitch (/lib/modules/2.6.32-279.el6.i686/weak-updates/bbswitch/bbswitch.ko): No such device
can you give me some help ? thanks
wah says
i still have some problems
there are something output from my laptop:
[wah@wah ~]$ sudo bumblebeed -vv
[ 1169.971064] [DEBUG]Found card: 01:00.0 (discrete)
[ 1169.971082] [DEBUG]Found card: 00:02.0 (integrated)
[ 1169.971087] [DEBUG]Reading file: /etc/bumblebee/bumblebee.conf
[ 1169.971468] [DEBUG]Detected nouveau driver
[ 1169.971605] [INFO]Loading driver bbswitch (module bbswitch)
[ 1169.971683] [DEBUG]Process modprobe started, PID 6261.
FATAL: Error inserting bbswitch (/lib/modules/2.6.32-279.el6.i686/weak-updates/bbswitch/bbswitch.ko): No such device
[ 1169.976471] [DEBUG]Process with PID 6261 returned code 1
[ 1169.976728] [ERROR]Module bbswitch could not be loaded (timeout?)
[ 1169.976754] [DEBUG]bbswitch is not available, perhaps you need to insmod it?
[ 1169.976766] [INFO]Skipping switcheroo PM method because it is not explicitly selected in the configuration.
[ 1169.976778] [WARN]No switching method available. The dedicated card will always be on.
[ 1169.976790] [DEBUG]Active configuration:
[ 1169.976800] [DEBUG] bumblebeed config file: /etc/bumblebee/bumblebee.conf
[ 1169.976810] [DEBUG] X display: :8
[ 1169.976820] [DEBUG] LD_LIBRARY_PATH:
[ 1169.976831] [DEBUG] Socket path: /var/run/bumblebee.socket
[ 1169.976841] [DEBUG] pidfile: /var/run/bumblebeed.pid
[ 1169.976851] [DEBUG] xorg.conf file: /etc/bumblebee/xorg.conf.nouveau
[ 1169.976862] [DEBUG] xorg.conf.d dir: /etc/bumblebee/xorg.conf.d
[ 1169.976872] [DEBUG] ModulePath:
[ 1169.976882] [DEBUG] GID name: bumblebee
[ 1169.976892] [DEBUG] Power method: auto
[ 1169.976903] [DEBUG] Stop X on exit: 1
[ 1169.976913] [DEBUG] Driver: nouveau
[ 1169.976923] [DEBUG] Driver module: nouveau
[ 1169.976933] [DEBUG] Card shutdown state: 1
[ 1169.977172] [DEBUG]Process /sbin/modprobe started, PID 6262.
[ 1169.977204] [DEBUG]Hiding stderr for execution of /sbin/modprobe
[ 1169.978526] [DEBUG]SIGCHILD received, but wait failed with No child processes
[ 1169.978562] [DEBUG]Configuration test passed.
[ 1169.978652] [ERROR]Daemon already running, pid 2369
could you give me some suggestions?
Avinash Meetoo says
Hi,
What happens when you run the following as root:
modprobe bbswitch
Can you insert the module in the running kernel? Any error message? If this succeeds, what does the following give you:
cat /proc/acpi/bbswitch
wah says
Hi.friends
There are something wrong:
[wah@wah ~]$ sudo modprobe bbswitch
FATAL: Error inserting bbswitch (/lib/modules/2.6.32-279.el6.i686/weak-updates/bbswitch/bbswitch.ko): No such device
Even worse,there is no /proc/acpi/bbswitch.
I feel a little depressed. Could you give me any more suggestions? Thanks
wah says
I am a new Linuxer
there are something you can look:
[wah@wah ~]$ modinfo bbswitch
filename: /lib/modules/2.6.32-279.el6.i686/weak-updates/bbswitch/bbswitch.ko
version: 0.5
author: Peter Lekensteyn
description: Toggle the discrete graphics card
license: GPL
srcversion: 18367AFEEC1C6096EB50900
depends:
vermagic: 2.6.32-358.el6.i686 SMP mod_unload modversions 686
parm: load_state:Initial card state (0 = off, 1 = on, -1 = unchanged) (int)
parm: unload_state:Card state on unload (0 = off, 1 = on, -1 = unchanged) (int)
wah says
In the /var/log/messages,there are something:
Oct 21 21:42:01 wah kernel: bbswitch: version 0.5
Oct 21 21:42:01 wah kernel: bbswitch: Found integrated VGA device 0000:00:02.0: \_SB_.PCI0.GFX0
Oct 21 21:42:01 wah kernel: bbswitch: Found discrete VGA device 0000:01:00.0: \_SB_.PCI0.PEG0.VGA_
Oct 21 21:42:01 wah kernel: bbswitch: No suitable _DSM call found.
what does “No suitable _DSM call found” means?
Avinash Meetoo says
According to some bug reports on the Bumblebee website (see this for example), this is because the open-source Nvidia driver (nouveau) does not support the Nvidia graphics chipset found in your computer (yet). The solution seems to (1) use the closed-source Nvidia driver (nvidia) and (2) make sure you use the latest versions of Bumblebee and bbswitch. Then, in principle, everything should be all right.
Hopefully.