前言
linux平台安装nvidia显卡驱动一直是麻烦的事情。不过目前比较新的ubuntu已经可以比较友好的安装了。但其它平台还是比较麻烦。下面记录一下我在支持双显卡切换(optimus)的设备上安装nvidia驱动的经验。
设备
- 联想Y470 集显为INTEL,独显为GT 550M
系统
kali 2.0
步骤
- 禁止加载开源驱动nouveau (不是必须做的,后面安装时也会提示)
在/etc/modprobe.d/nvidia-installer-disable-nouveau.conf文件中(不存在则新建)加入:
# generated by nvidia-installer
blacklist nouveau
options nouveau modeset=0```
* 安装内核头文件
apt-get install -y linux-headers-$(uname -r)
* 安装nvidia驱动相关的包
apt-get install nvidia-kernel-dkms nvidia-cuda-toolkit nvidia-driver
* 关于是否生成xorg.conf文件,要选no
* 安装双显卡切换解决方案的包
apt-get install bumblebee-nvidia primus
* 添加当前用户到bumblebee用户组
adduser $USER bumblebee
* 修改bumblebee配置
修改/etc/bumblebee/bumblebee.conf
Driver=nvidia
修改/etc/bumblebee/xorg.conf.nvidia
在Section "Device"中添加PCI ID,
BusID "PCI:01:00:0"
这个值通过lspci | grep VGA得到,将01:00.0修改为01:00:0
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GF108M [GeForce GT 550M] (rev ff)
* 检查X11配置
正常情况下不需要存在xorg.conf
如果存在/etc/X11/xorg.conf,可以先尝试重启,如果无法重启到桌面环境,则删除该文件。
* 是否安装成功的检查
1 首先要可以进入桌面环境
2 lspci |grep VGA的输出中,对应独立显卡的那天记录已rev ff结尾,表示独立显卡以关闭
3 运行glxgears 查看帧数,然后optirun glxgears一般使用独立显卡时,帧数有较大提高。
4 使用独显的过程中,lsmod |grep nvidia应该会有输出信息
#总结
不要怕出错,我也是反复安装了很久,才有一些安装的体会的,但带来的好处也是不言而喻的,我们可以自由的在集显和独显进行切换,默认使用集显,在需要独显时,通过optirun来运行。
部分软件的安装可能提示不同,需要您自己判读。
#安装有问题,进行清理
apt-get purge nvidia* bumblebee* prime*
如果还通过nvidia官方的驱动进行过安装,可以运行
./NVIDIA*.run --uninstall
一般上诉两步就可以恢复系统到没有安装nvidia的状态。