使用 Bumblebee 控制 NVIDIA 双显卡

简介

Nvidia的双显卡切换技术叫Optimus(擎天柱),可惜只能在win7、vista下实现。Linux下没有对应的技术,当然苹果也没有。这导致独立显卡一直在启用,显卡发热升温,风扇狂转,却没有正常工作输入。平时笔记本电池在 Win7 能使用4小时,到了 Ubuntu 两个小时左右就耗光了。AMD早已经为ATI显卡开发出Linux下的催化剂,支持A卡与intel集显之间切换,N卡的用户只能嘴馋。


Optimus 技术是不依赖于硬件复杂结构的交火显卡实现。独立显卡按需渲染,并传输给集成显卡,集成显卡则负责显示功能。当笔记本通过电源供电时,独立显卡将关闭,以延长电池寿命。


Bumblebee 试图模拟 Optimus 技术的行为;当需要的时候,使用独立显卡进行渲染,不使用的时候则关闭。当前的版本仅支持按需渲染,电源管理功能仍然在开发之中。

 

测试环境:

Acer Aspire 5750G
NVIDIA GeForce GT630M
ubuntu 12.04 x86_64 / archlinux x86_64

 

一、更新显卡信息,否则可能识别出错

➜  ~  sudo update-pciids
[sudo] password for congbo:
Downloaded daily snapshot dated 2012-09-06 03:15:02

 

二、查看显卡信息

更新前:

➜  ~  lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation Device 0de9 (rev a1)

更新后:

➜  ~  lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GeForce GT 630M (rev a1)

更新后正确识别出了显卡型号。

Nvidia 卡信息的末尾不是 rev ff,表示独显是开启的。

 

三、拔下电源适配器,查看功耗

➜  ~  grep rate /proc/acpi/battery/BAT0/state
present rate:            2613 mA

平均2000左右

 

四、安装bumblebee

sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
sudo apt-get install bumblebee bumblebee-nvidia

 

加入bumblebee组

sudo usermod -a -G bumblebee $USER

 

ubuntu 在安装过程中会将当前用户加入bumblebee组,注销或重启后生效

➜  ~  grep congbo /etc/group
adm:x:4:congbo
cdrom:x:24:congbo
sudo:x:27:congbo
dip:x:30:congbo
plugdev:x:46:congbo
lpadmin:x:109:congbo
congbo:x:1000:
sambashare:x:124:congbo
bumblebee:x:1001:congbo

bumblebee 版本:

➜  ~  bumblebeed --version
bumblebeed (Bumblebee) 3.0.1
Copyright (C) 2011 The Bumblebee Project
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

 

五、测试效果

➜  ~  lspci| grep -i vga
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: NVIDIA Corporation GeForce GT 630M (rev ff)

Nvidia 卡信息的末尾是 rev ff,表示独显已经关闭。

 

再次拔下电源适配器,查看功耗。

➜  ~  grep rate /proc/acpi/battery/BAT0/state
present rate:            1523 mA

平均1000左右,2000->1000,风扇以前一直狂转,现在基本没动静。

 

bumblebee的作用是禁用nvidia独立显卡,需要使用独显时,使用”optirun 程序名“手动开启nvidia来运行需要加速的程序,如optirun vmware。

 

集显、独显分别运行 glxgears 或 glxspheres 测试,以glxgears为例:

➜  ~  glxgears
Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
301 frames in 5.0 seconds = 60.107 FPS
300 frames in 5.0 seconds = 59.869 FPS
300 frames in 5.0 seconds = 59.856 FPS

 

➜  ~  optirun glxgears
2284 frames in 5.0 seconds = 456.677 FPS
2358 frames in 5.0 seconds = 471.540 FPS
2275 frames in 5.0 seconds = 454.942 FPS

 

打开N卡设置:

optirun nvidia-settings -c :8

 

tips:

现在i系列的一般都是双显卡配置,请勿自行安装nvidia驱动。双显卡的机器,必须停止集成显卡才能正确安装nvidia驱动。
不要用root用户运行,最好是用sudo运行。
如果安装失败,可能无法进入任何一个界面,包括文字界面。解决办法,固定该主机IP,开启ssh服务,确保可以在局域网的另一台主机ssh进该主机。之后然后再折腾,如果失败,ssh进该主机,卸载掉nv的驱动(sudo apt-get autoremove nvidia-current),然后重启。
双显卡台式机折腾这个的时候注意把显示器连接到主板的输出端口上,否则没用。
安装好以后 , “系统->系统管理->NVIDIA X Server Settings“ 不要乱动。

有的bios里可以关掉独显,桌面渲染3D等,i卡能够胜任。(i卡虚拟机里运行win7无法开启aero特效)

 

NVIDIA Optimus独显集显切换将支持Linux

http://linux.solidot.org/article.pl?sid=12/09/04/1013238&from=rss

NVIDIA的Optimus技术可让笔记本根据性能需要在英特尔集成显卡和NVIDIA独显之间自动切换,节省电力。但这项技术不支持Linux。2个多月前,Linux作者Linus Torvalds在芬兰的一个活动中因此对NVIDIA竖起了中指。现在,NVIDIA工程师透露他们正致力于实现Linux支持。NVIDIA的Aaron Plattner在邮件列表上,他已经在新的Linux版驱动上概念验证了Optimus,未来Linux笔记本用户有望获得Optimus支持。

 

参考:

https://wiki.archlinux.org/index.php/Bumblebee_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

http://blog.csdn.net/linuxzhouying/article/details/7407777

http://forum.ubuntu.org.cn/viewtopic.php?f=126&t=374321&sid=4b44e27e0ae1bd540d11a1375fe246e7

http://forum.ubuntu.org.cn/viewtopic.php?f=42&t=382269

http://forum.ubuntu.org.cn/viewtopic.php?f=42&t=332796

 

原文:http://www.cnblogs.com/congbo/archive/2012/09/12/2682105.html

posted @ 2012-09-12 17:31  congbo  阅读(20046)  评论(2编辑  收藏  举报