不知道是NVIDIA的驱动架构变了,还是ubuntu18.04的一些架构变了(我猜两个变化都挺大)。这次更新后从prime到bumblebee都GG。
(NVIDIA官网把3xx的驱动都叫为“Legacy”,感觉驱动确实改变了很多。
好了言归正传,我习惯使用Intel核显渲染桌面,平时NVIDIA显卡处于关闭状态,必要时才打开。一是可以省电,二是跑CUDA时不会影响正常使用,桌面和其它程序不会卡。一直使用bumblebee&NVIDIA的prime实现。
打上410驱动后,显卡能被正常驱动,但同时整个系统都由NVIDIA显卡驱动了,所以第一件事先到nvidia-settings里,切换回Intel核显。
重启后,bumblebee无法按预期工作。其实也是在我预期之中,毕竟经过这么大变动,一定有坑。
(对了顺便提一下,新驱动不再有像nvidia-390这样的带版本号的alias,直接nvidia)
大概要搞定两件事:
1.能让nvidia驱动加载(modprobe),现在切到核显之后似乎整个nvidia驱动挂掉了。modprobe nvidia直接gg:
kmod_module_insert_module() could not find module by name='off'
不知道是哪里脑抽了,给nvidia设了个off alias。注释掉相关地方
159-161 行 /usr/bin/prime-select:
#alias nvidia off
#alias nvidia-drm off
#alias nvidia-modeset off'''
3-4 行 /lib/modprobe.d/nvidia-graphics-drivers.conf (不一定是这个文件,也不止这个文件,反正modprobe.d里面的config都留意下)
#alias nouveau off
#alias lbm-nouveau off
(来自https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-390/+bug/1774359,没错都有人提交bug了)
然后还是没法modprobe nvidia,提示
modprobe: ERROR: could not insert 'nvidia': No such device
以及在/etc/environment 加一个
__GLVND_DISALLOW_PATCHING=1
然后。。终于成功加载nvidia驱动
2.驱动路径变化,配置bumblebee
驱动能成功加载之后,可以开始调教bumblebee了。主要就是路径的变化。(新驱动的路径不再是/usr/lib/nvidia-xxx)
KernelDriver=nvidia #(原来这个Driver Name如果带版本号去掉就好)
LibraryPath=/usr/lib/i386-linux-gnu:/usr/lib/x86_64-linux-gnu
XorgModulePath=/usr/lib/x86_64-linux-gnu/nvidia/xorg,/usr/lib/xorg/modules,/usr/lib/xorg/modules/input
完美搞定
本文地址:https://www.liyanfeng.com/post/134.html(如转载,需注明本原文地址)