Strawing Blog Archivers

Strawing Blog » Archivers » 搞定Ubuntu18.04&NVIDIA新驱动用bumblebee(prime)的坑

我的双显卡笔记本(Intel核显&NVIDIA独显),这两天升级一波18.04,同时也把NVIDIA驱动升级到了最新的410
不知道是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

这个似乎是ubuntu18.04的新特性?启动参数加个nogpumanager就好。(在/etc/default/grub的GRUB_CMDLINE_LINUX,别忘了update-grub)

以及在/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

完美搞定

查看完整版本:搞定Ubuntu18.04&NVIDIA新驱动用bumblebee(prime)的坑

© Strawing Blog

Supported by DHL Author:Wolfit