我刚刚从 Windows 10 切换到 Ubuntu 16.04 LTS,在安装和配置 Gnome Shell 后,我对它非常满意。然而,和所有人一样,我发现与 Windows 10 相比,电池寿命明显下降(从 5 小时到 1.5 小时)。
我首先尝试通过安装 Bumblebee 来启用 Optimus,但没有成功(XORG 错误)。由于我不需要很高的 3D 性能,我决定使用“低”性能 Intel HD Graphic,命令如下
sudo prime-select intel && sudo reboot
重启后,我开机 5 分钟,结果竟然放电率高达 20W,这太高了。另一方面,如果我切换到 Nvidia 显卡,开机放电率只有 14W,这让我很困惑。在 Nvidia 显卡上,我的电池续航时间为 3 小时,但与 Windows 相比仍然相差甚远。为什么 Intel HD Graphics 的电池续航时间比 Nvidia Graphics 的电池续航时间更差?
我有一块 CPU i7 4710HQ,配备一块 Nvidia Geforce GTX860M。
附言:TLP 并没有延长我的电池寿命,但 LMT 却稍微延长了电池寿命。
答案1
不知道您安装了什么显卡驱动程序。我遇到了与您类似的问题,在寻找解决方案时偶然发现了您的帖子。无论如何,这就是我解决问题的方法:
我安装了最新的 nvidia 驱动程序 (367),因为我偶尔会在系统上玩游戏 (DotA 2)。我从 ubuntu repos 将驱动程序降级为 361 (专有测试的驱动程序),问题就解决了。现在我在运行 chrome 时获得 11w/h,而之前我在英特尔卡上获得 23w/h。这还不到一半。
顺便说一句,我必须从历史记录中找到您的帖子,但我知道这很痛苦。:) 希望它有所帮助。
答案2
感谢你的回复。
实际上,经过几天的搜索后我确实放弃了,但你的回答给了我希望,所以我只是通过一些教程再次安装了 Bumblebee(这些线程的混合):
- 如何在 Ubuntu 14.04 上使用 Bumblebee 安装 nVidia 驱动程序
- Nvidia 16.04 版 Bumblebee 安装
- Ubuntu 16.04 是否支持混合显卡(大黄蜂)
和您一样,我安装了驱动程序 nvidia-361,现在可以运行:
optirun firefox
快速检查
optirun --status
Firefox 运行时出现以下信息:
Bumblebee status: Ready (3.2.1). X is PID 4591, 1 applications using bumblebeed.
然而,关闭 Firefox 并再次检查后:
optirun --status
独立显卡仍然处于开启状态。我不知道这是否是故意的,但似乎 Bumblebee 无法在关闭所有 optirun 进程后关闭独立显卡。因此,要关闭独立显卡,只需:
sudo tee /proc/acpi/bbswitch <<<OFF
由于我通常是一个不幸的人,它没有工作... 快速谷歌搜索告诉我这是因为“nvidia”驱动程序仍在使用中。因此,要关闭独立卡,我必须手动删除驱动程序。好吧,作为一个懒人,我创建了一个 shell 脚本以避免每次都这样做。如果有人感兴趣的话,这里是(它只是......):
#!/bin/bash
if [ $# == 0 ]; then
status="OFF"
else
status=$1
fi
if [ "$status" == "OFF" ]; then
sudo rmmod nvidia_modeset
sudo rmmod nvidia_uvm
sudo rmmod nvidia
fi
sudo tee /proc/acpi/bbswitch <<<$status
我将脚本命名为“bbswitch.sh”并使其可执行:
chmod +x bbswitch.sh
我将脚本放在隐藏目录 ~/.scripts 中,并通过在 .bashrc 末尾添加这两行将其添加到路径中:
export PATH=$PATH:~/.scripts
alias bbs="bbswitch.sh"
因此,我现在只需在任何地方输入以下命令即可禁用独立卡:
bbs
我也可以通过输入以下命令来启用它:
bbs ON
但没有任何意义(只是想象)。
现在,我的放电率在 11 到 12 W/h 之间波动,这让我可以使用笔记本电脑大约 4 个小时 :)
无论如何,谢谢你再次给了我希望,我希望这个帖子可以帮助其他和我一样不幸的人。