如何在14.04版本中设置nVidia Optimus/Bumblebee

我之前在基于13.10的发行版上安装Bumblebee的方法,在Ubuntu 14.04下已经不再适用。请问我该如何在Ubuntu 14.04中安装Bumblebee和Bumblebee GUI?

好的,谢谢。实际上,这个问题是为了帮助其他人,我自己已经回答了它。我会检查你告诉我的新流程。谢谢。 - Pavak Paul
用户2417946,谢谢。在我的Clevo 170SM Nvidia 780M上工作正常,使用Mint 17比Bumblebee更容易。只是希望我不必重新启动X来更改显示设置。 - user297219
但是大黄蜂更好,实际上也能做到奥普提姆斯技术所创造的目标。 - Pavak Paul
6个回答

在Ubuntu 14.04中安装bumblebee,请在终端中运行以下命令。
sudo apt-get install bumblebee bumblebee-nvidia primus nvidia-331

现在你需要安装Bumblebee GUI来管理使用nVidia打开的应用程序。以下是安装说明:
安装Python App Indicator:
sudo apt-get install python-appindicator

安装Git:
sudo apt-get install git

创建一个git目录:
mkdir git && cd git

查看存储库:

git clone https://github.com/Bumblebee-Project/bumblebee-ui.git
cd bumblebee-ui
sudo ./INSTALL

去“启动应用程序”并添加bumblebee-indicator
现在重新启动。

1有关如何在这里使用多个显示器的任何建议吗? - modulitos
1我曾经通过HDMI输出将电视连接上了。当时我使用的是Intel GPU。但是我能够通过nVidia GPU来玩游戏。Bumblebee就像在Windows中使用nVidia Optimus一样。如果你想要运行整个系统,有一些叫做nvidia-prime的软件包(你需要先卸载bumblebee)。搜索更多信息请使用谷歌。但是我强烈推荐使用bumblebee,因为primus会导致最高温度并且耗尽所有电池。Bumblebee是按需使用的,只在你需要时才会启动GPU。 - Pavak Paul
@Monotasker,你有关于这个说法的任何来源吗?我使用Prime的唯一原因是因为我无法再让Bumblebee正常工作了。我试图获取有关Prime/Bumblebee未来的更多信息,但我能找到的唯一靠谱的东西就是这个:https://github.com/Bumblebee-Project/Bumblebee/wiki/History-of-the-project - Merlijn Sebrechts
我在我的Oikyo Linux 2(基于14.04)上运行Bumblebee,使用Bumblebee GUI没有任何问题。 - Pavak Paul
1这可能是一个误解。我看到很多帖子说Bumblebee在14.04上不起作用,并提供Prime作为替代方案。但听起来这可能是不一致的。我会在我的回答中删除这个说法。 - monotasker
实际上,我做了很多研究来让Bumblebee工作。我之前在Oikyo Linux 1/13.10中使用的方法在Oikyo Linux 2/14.04中不起作用。 - Pavak Paul
@monotasker,我对事物的运作进行了更多的研究,是的,Prime更好,而Bumblebee只是一个hack。 - Pavak Paul
在我的笔记本电脑上,(据说)英特尔显卡与VGA输出相连,而NVIDIA显卡则与其他输出接口如DisplayPort、HDMI等相连。(使用扩展坞时,我总共有6个外部接口)。我的问题是:如果我使用Bumblebee,我能否将一个英特尔窗口拖动到通过DisplayPort连接的外部显示器上? - codeape
以前(当我没有使用这种方法时),在“附加驱动程序”中选择了Nvidia专有驱动程序后,系统设置>详细信息中的图形通常是Nvidia,但现在是Intel Haswell。此外,Nvidia控制面板中的Nvidia设置不显示,这意味着未使用Nvidia显卡。 应该怎么办? - Alex Jones
1警告:如果你不确定你的计算机是否有Optimus GPU和集成GPU,那么在执行此操作之前要非常确定,否则可能需要重新安装整个操作系统。请勿在生产系统上进行此操作。请参考我的问题:http://askubuntu.com/questions/621669/bumblebee-broke-my-nvidia-drivers?noredirect=1#comment887046_621669 - Lars Nyström
@LarsNyström ,你不应该再使用Bumblebee了。 - Pavak Paul

我一直面临着同样的问题已经有一段时间了。我不得不参考许多在线文章,但从来没有得到任何帮助。 所以我写了一篇自己的博客文章,得到了非常积极的回应。很多人确认这篇文章很有帮助。我已经改进了博客文章,使其更容易使用。你可以轻松地从博客中复制和粘贴命令,它能正常工作。
我有一台联想Z5070笔记本电脑,配备了Nvidia 820M显卡,我已经通过安装各种版本的Ubuntu 14.04、14.10和现在的15.04多次测试了解决方案。我只是想分享一下我是如何解决这个问题的。
基本上,在Ubuntu上安装带有Nvidia的Bumblebee是最棘手的,因为Bumblebee作为一种技术的工作方式。理想情况下,只需安装软件就足够了。
如果你使用的是Nvidia-Current驱动程序,版本号应该是304。然而,如果你安装其他版本,你肯定需要帮助。这就是下面的博客文章可以帮助你的地方。
请参考这里! 我的一篇以前的帖子被删除了,因为没有发布完整的解决方案。但是我并不是个讨厌鬼或者垃圾邮件发送者。以下是实施该解决方案的100%技术细节。

Ubuntu 的官方软件仓库只有旧的和过时的驱动程序。我自己不使用那个,如果你想要最新的 Nvidia 驱动程序而没有任何问题,我建议你也这样做。

步骤:

安装Ubuntu后的第一步是安装所有更新。您可以使用软件更新器或简单地运行以下命令: sudo apt-get update && sudo apt-get upgrade 使用以下命令添加Xorg-edgers ppa: sudo apt-add-repository ppa:xorg-edgers/ppa 然后运行: sudo apt-get update sudo apt-get upgrade && sudo apt-get dist-upgrade 这是最重要的一步。如果您错过了这一步,重新启动后会看到黑屏。由于我们使用xorg-edgers ppa,因此需要确保从ppa获取bumblebee和nvidia所需的所有软件包。
现在使用以下命令安装bumblebee和Nvidia驱动程序: sudo apt-get install bumblebee bumblebee-nvidia primus nvidia-349
将当前用户添加到bumblebee安全组中: sudo adduser $USER bumblebee 对于Ubuntu 15.04:您需要手动启用bumblebee守护程序: sudo systemctl enable bumblebeed
这将处理系统上所需软件的安装。我们需要进行配置。我可以向您保证,如果您迄今为止遵循了这些步骤,那么配置应该很容易。
首先启用bbswitch和intel i915驱动程序: sudo -H gedit /etc/modules Ubuntu 15.04:文件是/etc/modules-load.d/modules.conf 在文件中添加以下两行: i915 bbswitch
编辑bumblebee配置文件: sudo -H gedit /etc/bumblebee/bumblebee.conf 1. 第22行: Driver=nvidia 2. 第55行: KernelDriver=nvidia-349 3. 第58行: LibraryPath=/usr/lib/nvidia-349:/usr/lib32/nvidia-349 4. 第61行: XorgModulePath=/usr/lib/nvidia-349/xorg,/usr/lib/xorg/modules
除此之外,还有另一个需要编辑的文件: sudo -H gedit /etc/modprobe.d/bumblebee.conf 在文件末尾添加以下行: blacklist nvidia-349
现在您可以重新启动。重新启动后,如果mesa-utils尚未安装,请使用sudo apt-get install mesa-utils进行检查。 primusrun glxinfo | grep OpenGL 这应该告诉您正在使用nvidia-349.16驱动程序。
请注意,nvidia-349是撰写本文时的最新驱动程序。您可以使用其他驱动程序版本,在需要时替换相应的数字(在编辑文件时要特别注意)。

我在14.04版本上遇到了Bumblebee的问题(Dell XPS 15,GeForce 750M)。从来没有正常工作过,总是不得不使用Prime。这些步骤在15.04版本上非常有效,谢谢! - karlgrz
嗨,在第3步尝试安装时,我收到以下消息:sudo apt-get install bumblebee bumblebee-nvidia primus nvidia-349,提示包nvidia-349不可用,但被另一个包所引用。 - Santiago
1好的,我现在已经安装了nvidia-352,并且你的指南很有效!然而,nvidia-settings没有显示任何选项(就像这篇帖子中所描述的http://askubuntu.com/questions/451405/empty-nvidia-settings-after-install-v-331-67-driver-on-ubuntu-14-04),从xrandr来看,似乎我无法连接任何外部显示器。我没有任何HDMI输出。 - Santiago
你需要使用以下命令启动nvidia-settings。 optirun -b none nvidia-settings -c :8 如果你尝试以其他方式启动它,它将无法显示正确的信息。请尝试这个命令并让我知道结果! - Rajat Pandita
嗨@RajatPandita感谢你的回答!通过那个命令,现在我可以看到带有所有菜单和选项的nvidia-settings。然而,我仍然没有外部显示器输出。在X服务器显示配置中,当我点击“检测显示器”时,nvidia-settings就会关闭。 - Santiago
嗨 @RajatPandita!只有一个问题,为什么我们要在 modules.conf 中添加 i915bbswitch - Yamaneko
因为某种原因,有时候英特尔图形驱动的i915模块不会自动加载,导致出现黑屏。所以我们添加了i915来确保不会出现黑屏问题......对于bbswitch,它也需要在启动时加载,以便默认情况下Nvidia显卡保持关闭状态,并且bbswitch可以确保一旦primusrun/optirun退出,显卡再次进入关闭状态...从技术上讲,bbswitch模块执行切换操作。 - Rajat Pandita

我刚刚通过这个链接(法国网站)从我的ASUS ROG G750JZ安装了NVIDIA GTX880M Ubuntu FR论坛
简短版本:
sudo apt-get install nvidia-331 nvidia-settings nvidia-prime mesa-utils vdpau-va-driver

对于Ubuntu中的Unity 8
sudo add-apt-repository ppa:nilarimogard/webupd8
sudo apt-get update
sudo apt-get install prime-indicator
sudo reboot

重启后,您可以在系统状态栏指示器中看到英特尔或英伟达的标志,并且可以在它们之间切换。
您可以使用glxgears测试您的显卡速度。
  • 我的英特尔显卡返回约60帧每秒
  • 我的英伟达显卡返回约20,000帧每秒 :)
如果您在nvidia-settings面板中遇到prime的问题,例如空白弹出错误,您可以在Launch Pad 1310023中找到相关的错误。我曾经遇到类似的问题,并且可以通过以下方法进行修复:
sudo update-alternatives --config x86_64-linux-gnu_gl_conf
sudo ldconfig -n
sudo update-initramfs -u

然后重新启动,看看是否正常工作。

我敢不直接回答这个问题,而是提供一种替代的方法。 上个星期,Ubuntu 14.04发布之后,我进行了全新安装。
我只是按照 这里 描述的步骤进行了操作。
简单来说,我只按照以下步骤进行了操作:
sudo apt-get purge bumblebee*
sudo apt-get purge libvdpau-va-gl1
sudo apt-get install nvidia-319 nvidia-settings-319 nvidia-prime

尽管有一个更新的驱动程序可用,但nvidia-settings的最后版本是319,所以我按照确切的步骤进行了操作,但请确保您阅读完整的文章,因为在出现错误时还提供了其他步骤建议。
:)

为了让bumblebee正常工作,你需要安装它,就像在wiki和其他答案中提到的那样。
sudo apt-get install bumblebee bumblebee-nvidia primus linux-headers-generic

然而,如果您的卡不受默认驱动程序(在撰写本文时为304)支持,则需要采取其他步骤。我在这里写下来是因为经过多个小时的挫败后,我终于找到了答案。
首先,您必须安装最新的驱动程序sudo apt-get install nvidia 346(在撰写本文时)。
之后,您必须编辑文件/etc/bumblebee/bumblebee.conf,将所有的“nvidia-current”替换为“nvidia-346”。这也在其他答案中有提到。
然而,这仍然会导致机器启动时出现黑屏。问题在于nvidia模块在intel模块之前加载。Bumblebee创建了一个文件/etc/modules/modprobe.d/bumblebee.conf,用于禁用nvidia模块。然而,该文件已经有一段时间没有更新了。因此,您必须在该文件末尾添加以下内容:
# 346
blacklist nvidia-346
blacklist nvidia-346-updates
blacklist nvidia-experimental-346

重新启动后,你应该可以正常运行。 当然,不要忘记将"346"更改为你正在使用的驱动程序版本。

我已经在Launchpad上提交了一个错误报告,希望这个问题很快能够解决。



好的,谢谢。实际上,这个问题是为了帮助其他人,我自己已经回答了它。我会检查你告诉我的新流程。谢谢。 - Pavak Paul