Bumblebee 不会禁用 NVIDIA

Bumblebee 不会禁用 NVIDIA

我安装了 bumblebee 来节省笔记本电脑的电量。它工作得很好。当我启动计算机时,cat /proc/acpi/bbswitch它显示为 OFF。当我使用 运行应用程序时primusruncat /proc/acpi/bbswitch它按预期显示为 ON,但应用程序退出时它不会返回到 OFF。我见过有关类似问题的问题,但没有答案。我唯一发现的是您可以运行sudo rmmod nvidia && sudo tee /proc/acpi/bbswitch <<<OFF以手动禁用 NVIDIA 显卡。

答案1

不久前在 Xubuntu 15.10 (64 位) 上使用 bumblebee 和 nvidia-355 (安装自这里)。当 nvidia 内核模块在 modprobe.d 中有别名时,Bumblebee 在删除 nvidia 内核模块时可能会出现一些问题,我认为这与 modprobe 和 insmod/rmmod 有关。

警告:在此之前我尝试过其他方法,因此这可能是也可能不是完整的解决方案。

出发点是我有一个其他方面都正常工作的配置,只是在使用 optirun 运行某些东西后 NVIDIA GPU 仍然保持开启状态。然后我编辑了 /etc/modprobe.d/nvidia-graphics-drivers.conf 并注释掉行(该行可能会在驱动程序更新时被覆盖,必须再次修复):

#alias nvidia nvidia_355

在 /etc/bumblebee/bumblebee.conf 中我使用Driver=nvidia以下设置:

[driver-nvidia]
KernelDriver=nvidia_355
PMMethod=auto
LibraryPath=/usr/lib/nvidia-355:/usr/lib32/nvidia-355
XorgModulePath=/usr/lib/nvidia-355/xorg,/usr/lib/xorg/modules
XorgConfFile=/etc/bumblebee/xorg.conf.nvidia

此后,Bumblebee 成功删除了 nvidia_355 内核模块,并optirun --status报告“独立显卡已关闭”。

编辑:删除注释“别名 nvidia-uvm”,经过测试,无需注释,甚至可能是个坏主意。

EDIT2:如果您将上述设置从“355”更新为“361”,这些设置也应该适用于 nvidia-361 驱动程序。此外,对于来自 universe 的当前 bumblebee 软件包(3.2.1-9),您必须添加 361 的黑名单,并将/etc/modprobe.d/bumblebee.confnvidia-modeset 添加到文件末尾的“删除行”,即更改:

# Workaround to make sure nvidia-uvm is removed as well
remove nvidia rmmod nvidia-uvm nvidia

# 361
blacklist nvidia-361
blacklist nvidia-361-updates
blacklist nvidia-experimental-361
# Workaround to make sure nvidia-uvm is removed as well
remove nvidia rmmod nvidia-modeset nvidia-uvm nvidia

EDIT3:使用 nvidia-364 将删除行更改为:

remove nvidia rmmod nvidia-drm nvidia-modeset nvidia-uvm nvidia

答案2

删除 bumblebee 并使用 nvidia-prime 禁用 NVIDIA 并切换到英特尔显卡。Bumblebee 被 nvidia-prime 取代,以便在英特尔和 NVIDIA 显卡之间切换。

sudo apt-get purge bumblebee
sudo apt-get update  
sudo apt-get install nvidia-prime  

打开 NVIDIA X 服务器设置 -> PRIME 配置文件 -> 选择 Intel -> 注销并重新登录。

在此处输入图片描述

相关内容