Preface
I’ve seen numerous posts about how to get bumlebee, optirun and nvidia to run on Fedora Core 18, the only problem was that all of them were using the open source (and somewhat slow) nouveau driver.
I wanted to use the official Nvidia binary driver which is heaps faster.
My configuration is a Lenovo T430s with a NVS 5200M.
Following is a tick list of things to do to get it running (at least on my configuration with FC18 x86_64).
Installing the Nvidia driver
The purpose of this paragraph is to show you how to install the Nvidia driver without overwriting your current OpenGL libraries. Simply download the installer and run:
yum install libbsd-devel dkms ./NVIDIA-Linux-x86_64-XXX.XX.run --x-module-path=/usr/lib64/xorg/nvidia --opengl-libdir=lib64/nvidia --compat32-libdir=lib/nvidia --utility-libdir=lib64/nvidia --no-x-check --disable-nouveau --no-recursion
Even though we ask it to disable nouveau, it still wouldn’t.
This method will not ruin all the good stuff in /usr/lib and /usr/lib64.
Disabling nouveau
Disabling nouveau is rather simple, we need to blacklist it and remove it from initrd:
echo "blacklist nouveau" > /etc/modprobe.d/nvidia.conf dracut /boot/initramfs-$(uname -r).img $(uname -r) --omit-drivers nouveau
Good on us. You may either reboot now to verify that nouveau is out of the house, or manually rmmod it:
rmmod nouveau
Bumblebee and all the rest
Install VirtualGL:
yum --enablerepo=updates-testing install VirtualGL
Remove some rubbish xorg files:
rm -f /etc/X11/xorg.conf
Download bbswtich and install with dkms:
cd /tmp && wget https://github.com/downloads/Bumblebee-Project/bbswitch/bbswitch-0.5.tar.gz tar -xf bbswitch-0.5.tar.gz cp -av bbswitch-0.5 /usr/src ln -s /usr/src/bbswitch-0.5/dkms/dkms.conf /usr/src/bbswitch-0.5/dkms.conf dkms add -m bbswitch -v 0.5 dkms build -m bbswitch -v 0.5 dkms install -m bbswitch -v 0.5
Download bumblebee and install:
cd /tmp && wget https://github.com/downloads/Bumblebee-Project/Bumblebee/bumblebee-3.0.1.tar.gz tar -xf bumblebee-3.0.1.tar.gz cd bumblebee-3.0.1 ./configure --prefix=/usr --sysconfdir=/etc make && make install cp scripts/systemd/bumblebeed.service /lib/systemd/system/ sed -i -e 's#ExecStart=.*#ExecStart=/usr/sbin/bumblebeed --config /etc/bumblebee/bumblebee.conf#g' /lib/systemd/system/bumblebeed.service chkconfig bumblebeed on
Bumblebee configuration is at /etc/bumblebee/bumblebee.conf, edit it to have this:
[bumblebeed] VirtualDisplay=:8 KeepUnusedXServer=false ServerGroup=bumblebee TurnCardOffAtExit=false NoEcoModeOverride=false Driver=nvidia [optirun] VGLTransport=proxy AllowFallbackToIGC=false [driver-nvidia] KernelDriver=nvidia Module=nvidia PMMethod=bbswitch LibraryPath=/usr/lib64/nvidia:/usr/lib/nvidia:/usr/lib64/xorg/nvidia XorgModulePath=/usr/lib64/xorg/nvidia/extensions,/usr/lib64/xorg/nvidia/drivers,/usr/lib64/xorg/modules XorgConfFile=/etc/bumblebee/xorg.conf.nvidia
The default /etc/bumblebee/xorg.conf.nvidia which comes with bumblebee is ok, but in case you want to make sure, here is mine:
Section "ServerLayout"
Identifier "Layout0"
Option "AutoAddDevices" "false"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "NoLogo" "true"
Option "UseEDID" "false"
Option "ConnectedMonitor" "DFP"
EndSection
Add yourself to bumblebee group:
groupadd bumblebee usermod -a -G bumblebee YOUR_USERNAME
Restart bumblebeed:
systemctl restart bumblebeed.service
Testing
To run with your onboard graphics card:
glxspheres
Running with nvidia discrete graphics:
optirun glxspheres
Useful links
Inspiration from:
http://duxyng.wordpress.com/2012/01/26/finally-working-nvidia-optimus-on-fedora/
Download links:
https://github.com/Bumblebee-Project/Bumblebee/downloads
https://github.com/Bumblebee-Project/bbswitch/downloads
http://www.nvidia.com/Download/index.aspx
If it works for you, please let me know!!
And if it doesn’t, perhaps I could help.
Tags: bbswitch, bumblebee, bumblebeed, fc18, fedora, fedora core 18, glxinfo, lenovo, nouveau, nvidia, optimus, optirun, t430s
February 18, 2013 at 10:03 am |
[...] Linux system administration, programming and everything that goes in between… « Bumblebee and FC18 – a horror show [...]
March 5, 2013 at 8:08 am |
Hi, finally somebody who has Lenovo t430s with nVidia optimus and Fedora
. I just installed Fedora 18, so I will try installing bumblebee and nVidia drivers. What about battery optimalization? Did you try to optimize something except nVidia optimus?
March 6, 2013 at 7:19 am |
Hi Lukas,
Let me know how stuff worked for you and if not I’ll be happy to help!!
Battery time is pretty bad on Linux. Will be happy if you find anything that can improve it! Seems like the discrete GPU is off though and still I get perhaps 2 hours of battery which is bad.
Cheers and thanks for the comment!
Dan.