// Re-generate /etc/X11/xorg.conf.
ArchWiki. Dynamic Kernel Module Support (DKMS) is a program/framework that enables generating Linux kernel modules whose sources generally reside outside the kernel source tree. The concept is to have DKMS modules automatically rebuilt when a new kernel is installed.
yum groupinstall "Development Tools"
yum install kernel-devel kernel-headers dkms
# Before installing NVIDIA drivers, you need to know your driver product type by using following command.
lspci | grep -E "VGA|3D"
# On my ideapad y430p, there are two lines:
# 3:00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
# 15:01:00.0 3D controller: NVIDIA Corporation GM107M [GeForce GTX 850M] (rev ff)
- Edit “/etc/modprobe.d/blacklist.conf” and add “blacklist nouveau”.
- Next create a new “initramfs” file and taking backup of existing.
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut -v /boot/initramfs-$(uname -r).img $(uname -r)
# Reboot the machine. Login into command mode using Alt+F4 / ALT+F5 as root.
# Exiting X server
# Once you in command line mode, next go to the folder where you’ve downloaded NVIDIA driver and run the script as show.
# Once installation is complete, generate xorg.conf file using following command.
# Copy xorg.conf.new as /etc/X11/xorg.conf.
cp /root/xorg.conf.new /etc/X11/xorg.conf
# Now switch to X Window as root user by typing.
bbswitch is a kernel module which automatically detects the required ACPI calls for two kinds of Optimus laptops: real and legacy Optimus laptops.
If you have DKMS installed, you can install bbswitch in such a way that it survives kernel upgrades. It is recommended to remove older versions of bbswitch by running
dkms remove -m bbswitch -v OLDVERSION --all as root. To install the new version, simply run:
To uninstall it, run:
make -f Makefile.dkms
make -f Makefile.dkms uninstall
# Get the status:
# 0000:01:00.0 ON
# Turn the card off, respectively on:
tee /proc/acpi/bbswitch <<<OFF
tee /proc/acpi/bbswitch <<<ON
# If the card stays on when trying to disable it, you've probably forgotten to unload the driver,
dmesg |tail -1
# bbswitch: device 0000:01:00.0 is in use by driver 'nouveau', refusing OFF
NVIDIA Optimus is a technology that allows an Intel integrated GPU and discrete NVIDIA GPU to be built into and accessed by a laptop.
Installing Bumblebee with Intel/NVIDIA needs:
- bumblebee - The main package providing the daemon and client programs.
- mesa - An open-source implementation of the OpenGL specification.
- xf86-video-intel - Intel driver.
- nvidia - NVIDIA driver.
- Edit the file /usr/share/applications/nvidia-settings.desktop and change the Exec line to:
Exec=optirun nvidia-settings -c :8.0
- Create a new group called bumblebee and add your user ID to it.
- chkconfig --add bumblebeed
- Edit /etc/bumblebee/bumblebee.conf file and make sure to set the following parameters:
Here are some repos for those tools: (wcf NOTE: it is outdated, install bumblebee from elrepo will install all)
- Regular Xorg packages and drivers.
- Make sure you have Mesa and Xorg Intel too.
- NVIDIA proprietary drivers.
- bbswitch: to enable/disable NVIDIA GPU via ACPI calls, thus saving battery.
- Virtual GL: to transfer rendered images from NVIDIA back to Intel GPU which then displays them
- Bumblebee daemon: to control the whole process using all the software above
- kmod-nvidia-304.60-1.el6.elrepo.x86_64 from ELRepo
- nvidia-x11-drv-304.60-1.el6.elrepo.x86_64 from ELRepo
- kmod-bbswitch-0.4.2-1.el6.elrepo.x86_64 from ELRepo-Testing
- VirtualGL-2.3-20111213.1.puias6.x86_64 from PUIAS 6 Computational
- bumblebee-3.0-2.el6.elrepo.x86_64 from ELRrepo-Testing
- The tweaks are necessary mainly because the nvidia-x11-drv & kmod-nvidia packages were created assuming the NVIDIA GPU is the main GPU, which is not the case for laptops based on NVIDIA Optimus technology.