1、禁止加载开源驱动nouveau (非必须)

/etc/modprobe.d/nvidia-installer-disable-nouveau.conf文件中(不存在则新建)加入:

1
2
3
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0

2、安装内核头文件

1
apt-get install -y linux-headers-$(uname -r)

3、安装nvidia驱动相关的包

1
apt-get install  nvidia-kernel-dkms nvidia-cuda-toolkit nvidia-driver

要选yes

4、安装双显卡切换解决方案的包

1
apt-get install  bumblebee-nvidia primus

5、添加当前用户到bumblebee用户组

1
2
adduser $USER bumblebee
"$USER" 就是你当前的用户名

6、修改bumblebee配置

  1. 修改 /etc/bumblebee/bumblebee.conf

    1
    Driver=nvidia
  2. 修改 /etc/bumblebee/xorg.conf.nvidiaSection "Device"中添加PCI ID,

    1
    BusID "PCI:01:00:0"

这个值通过 lspci 得到,找到你的独立显卡那一行,将01:00.0修改为01:00:0

1
01:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev al)

7、注销当前用户

1
gnome-session-quit --no-prompt

8、启动bumblebee服务并且设置为开机自启动

1
2
service bumblebeed start
update-rc.d bumblebeed enable

9、检查X11配置

正常情况下不需要存在 xorg.conf
如果存在 /etc/X11/xorg.conf,可以先尝试重启,如果无法重启到桌面环境,则删除该文件。

10、是否安装成功的检查

  1. 首先要可以进入桌面环境
  2. lspci 的输出中,对应独立显卡的那条记录已(rev ff)结尾,表示独立显卡以关闭
  3. 运行 glxgears 查看帧数,然后 optirun glxgears 一般使用独立显卡时,帧数有较大提高。
  4. 使用独显的过程中, lsmod |grep nvidia 应该会有输出信息

总结

默认使用集显,在需要独显时,通过optirun来运行。

部分软件的安装可能提示不同,需要您自己判读。

安装过程中遇到的错误

在执行 lspci 时发现

1
2
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 3D controller: NVIDIA Corporation GK208M [GeForce GT 740M] (rev al)

集成显卡后面是(rev 06)而独立显卡是(rev al)结尾说明两个显卡同时在工作,

执行optirun glxgears发现出现一下错误

1
2
[  158.673191] [ERROR]The Bumblebee daemon has not been started yet or the socket path /var/run/bumblebee.socket was incorrect.
[ 158.673219] [ERROR]Could not connect to bumblebee daemon - is it running?

原因是bumblebee服务未启动,执行service bumblebeed start就可以了,一定要设置bumblebee开机自启动,否则下次开机会出现同样的错误。

安装有问题,进行清理

1
apt-get purge nvidia* bumblebee* prime*

如果还通过nvidia官方的驱动进行过安装,可以运行

1
./NVIDIA*.run --uninstall

一般上诉两步就可以恢复系统到没有安装nvidia的状态。