我的电脑是intel+nvidia双显卡。从一个多月前就开始折腾linux的显卡驱动了。从在ubuntu14.04和16.04上安装nvidia附加驱动后黑屏,安装bumblebee后提示无法访问驱动,调整bumblebee.conf后又提示无法访问GPU,到在debian上安装nvidia-kernel-dkms后再次黑屏。nvidia显卡驱动的问题伴随我从ubuntu到debian,从电脑用legacy bios引导到格盘换成UEFI。我查了不少文章,到头来,却发现,只要按照debian wiki的步骤一步一步来就好了。
添加32位支持(如果是64位系统的话)
sudo dpkg –add-architecture i386
个人怀疑一部分安装完后黑屏的情况可能和没有执行这一步有关。
更新源
sudo apt-get update
安装bumblebee
sudo apt-get install bumblebee primus primus-libs:i386
如果要运行闭源驱动的话,进行下面一步,如果想用nouveau开源驱动的话,请跳过这步。
sudo apt-get bumblebee-nvidia
到写这篇文章的时间,直接执行这句指令,不会像在ubuntu上那样安装nvidia-304驱动,而是会安装bumble-nvidia这个虚包(不知道具体应该怎么叫),nvidia-kernel-dkms,并且似乎会自动alias nvidia-current这个名称。安装结束后,会发现驱动是340驱动,并且也完全没有再去配置bumblebee.conf的必要。感觉这一点在debian比在ubuntu要方便不少。
注意:如果你选择安装bumblebee-nvidia,你会在安装时被提示需要手动去创建一个xorg.conf文件来使用专有驱动。这个提示只适合单nvidia显卡的用户,如果你是支持optimus双显卡切换的用户,千万不要创建xorg.conf,也千万不要运行nvidia-xconfig!否则会导致黑屏。切记切记!
添加用户组
这一步非常重要。如果默认的用户位于sudo组的话(就像ubuntu默认的情况那样,如果能直接在终端下用sudo执行上面的命令的话,这步就可以跳过了),bumblebee在安装时会自动把用户添加到bumblebee组,但如果不是的话,就需要手动添加用户组了。
sudo adduser $USER bumblebee
其中的$USER要写自己的用户名。
这里有些值得注意的问题:
1、如果你是支持optimus双显卡切换的用户,那么不建议安装linux-headers后再直接安装nvidia-kernel-dkms,更不要去运行nvidia-xconfig,我之前这样做了,重启后无法进入图形界面了。
2、如果已经黑屏了,那么ctrl+alt+F1进入终端,然后
sudo apt-get purge nvidia*
sudo rm /etc/X11/xorg.conf
3、有几个比较奇怪的问题。我刚接触linux时用的是ubuntu kylin,当时直接在附加驱动里安装nvidia-342的驱动,使用起来没发生什么问题。后来换成了ubuntu14.04,在折腾tlp和cpufreq不久后发现没法切换成nvidia显卡了。
后来又重装过几次系统(格盘重装),并且检查了主板设置,查看了双显卡支持,但即便是在重装系统后干净安装nvidia附加驱动,也只是黑屏的结局。使用bumblebee并配置好bumblebee.conf后,运行optirun也只是返回无法访问secondary GPU,一直没搞懂为什么。后来换到debian并在debian上解决了显卡驱动的问题,也就没再研究它。感觉应该是xorg.conf的问题吧。至少根据经验来看,bumblebee与xorg.conf不能共存。
如果你在ubuntu安装nvidia专有驱动黑屏了,并且也无心切回nouveau驱动的话,这里有一个有些扬汤止沸的解决方案:
sudo prime-select intel
小结
1、以后遇见系统问题多翻翻系统自身的wiki。
2、如果在系统上遇见了问题的话,果断去查google,个人感觉提供的解决方案比某度靠谱得多。