在内核 4.4 上重新安装 bumblebee

在内核 4.4 上重新安装 bumblebee

我将内核从 3.19 更新到 4.4,但之后 bumblebee 初始化失败。因此,我将其完全删除(清除)并重新安装,这次使用的是当前 nvidia 驱动程序(352),而不是旧驱动程序(331)。但我仍在运行 NVidia GPU,如果我启动 optirun,我会得到

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

如果我检查 nvidia 驱动程序是否已加载(使用lsmod | grep -E 'nvidia|nouveau'),则不会得到任何结果。我该如何修复此问题?

答案1

Linux 中的可加载内核模块由 modprobe 命令加载(和卸载)。它们位于/lib/modules.ko(“内核对象”)中,并且自 2.6 版以来一直具有扩展名(以前的版本使用 .o 扩展名)。通常,当您更新内核并在以前的内核中编译了自己的驱动程序时,您必须重新编译它们。如果二进制文件是通过预编译的 deb Debian 软件包获得的,这些软件包通过 dpkg 通过软件包管理器(例如 apt/aptitude)进行处理,或者如果您的发行版是另一种 Linux 版本(例如 RHEL),那么 BRPM 或 RPM 软件包管理器(有时称为 RedHat 软件包管理器)就是最好的选择。

根据您的发行版,尝试使用“ modprobe [options] [-i] [-b] modulename”或您的情况中的“ modprobe nouveau” | “ modprobe nvidia” | “ modprobe nv”加载驱动程序(如果它们存在并且位于您的发行版的相应位置)。Ubuntu 基于 Debian,如果这些论坛是为此而设,则可以假设软件包最有可能通过您系统上的 dpkg 管理器来处理。

如果您的问题仍然存在,也许可以通过包含以下输出来进一步阐明该问题:

/usr/bin/dmesg
/usr/bin/uname -a

如果可能,请尝试通过以下方式包含有关内核对象的信息:

/usr/sbin/modinfo nvidia
/usr/sbin/modinfo bbswitch

您是从源代码编译 bumblebee 和 NVIDIA 驱动程序,还是使用了预编译包?如果是自己编译的,您使用了哪个版本?如果您安装了预编译包,请提供确切的版本。

相关内容