我是否需要安装Bumblebee for Hybrid Graphics系统才能在Ubuntu 16.04上启用Optimus?

我问的是这个问题,因为我发现文章基本上说有些计算机已经启用了Optimus技术和一些专有的图形驱动程序,例如这个来自Ubuntu Wiki页面 , 这个来自pilot6 ,而很多人仍在寻求安装方法大黄蜂在互联网上。 所以,我感到困惑。 与此同时,虽然我的笔记本电脑联想Thinkpad P50在上面链接的文件中作为支持系统列出,但我还没有成功安装专有的nvidia-361驱动程序(请参阅此问题 ),该文件告知该文件正在工作在我的系统上。 我对文件的权威有点怀疑。

任何人都可以提供一些可靠的来源,证据和实际经验(或确认是否还没有成功实例的技术)来确认Ubuntu 16.04确实原生支持混合图形 – 一个集成卡和一个离散卡 – 不比大黄蜂差吗? 通过简单的搜索我没有建立足够的信心。 谢谢!

目前,您(据我所知)在Linux下有三种关于Nvidia混合图形(所谓的Optimus技术)的可能性:

  • 熊蜂。 虽然这个项目似乎已经死了,但事实并非如此(披露者:我是开发团队的一员)。 它已经慢慢发展了很长一段时间,因为我们都很忙,但最近事情变得更好了,我们得到了新贡献者的帮助。 4.0版本正在进行中,它主要是错误修复,而primus后端成为默认设置(大多数人都不会注意到,因为他们已经在使用它)。 Bumblebee允许您运行桌面并在集成的Intel芯片上显示,同时在分立的Nvidia卡上运行选定的应用程序。 它可以使用nouveau或nvidia驱动程序(假设它们支持你的卡,他们都应该这样做),并依赖于bbswitch进行电源管理(如果使用nouveau,可以选择使用vga_switcheroo)。 在性能方面,由于它的工作原理,Bumblebee是PCIe的瓶颈,这意味着你不能达到非常高的帧率(这无论如何都不是真的有用),而且你永远无法达到专用Nvidia卡的全部function。 如果您的笔记本电脑上的某些显示器输出连接到Nvidia芯片(通常是联想笔记本电脑上的HDMI的情况),Bumblebee允许您使用它们,但它需要一些配置,可能远远不够理想及以上所有都没有经过测试,因为没有任何Bumblebee开发者拥有受影响的笔记本电脑。 否则,Bumblebee可与DRI2或DRI3配合使用。
  • 主要。 这是该技术的正确解决方案,并且在适当的级别实施:驱动程序,内核,Xorg … PRIME允许您与Bumblebee相同的设置,但是,由于法律问题,仅支持nouveau。 除此之外,由于i915驱动程序需要进行更改,因此还存在一些撕裂问题。 此外,nouveau在性能方面仍然存在很多问题,因此在获得正确的时钟恢复之前,你可能比Bumblebee + nvidia设置中的穿孔更少(Bumblebee + nouveau明显受到同样的问题)。 PRIME不依赖于bbswitch进行电源管理,而是使用nouveau / kernel集成的。 PRIME还允许您使用非常透明的AFAIK连接到Nvidia芯片的输出。 在DRI2上运行时,它需要一些配置(取决于您是否还安装了Bumblebee / bbswitch,确切的数量可能会有所不同),但没有什么突出的。 在此模式下也支持VDPAU(但仅限于nouveau驱动程序)。 在DRI3上运行时,使用它是非常无聊的(在下一版本中,大黄蜂可能会获得对此模式的支持)。 但是,您没有获得VDPAU支持,显然也没有Nvidia输出支持。
  • 反向PRIME。 在这里,我们的想法是将Nvidia卡用于包括桌面在内的所有设备,并且只使用Intel芯片作为笔记本电脑显示器的输出接收器。 这得到了nouveau(具有与上述相同的性能问题)和nvidia(例如在Ubuntu下使用专用的nvidia-prime工具)的支持。 这意味着您根本无法获得节电(并且在所有阶段都会增加功耗),但与PRIME一样,您可以轻松且充分地利用任何显示输出。 在此模式下,使用nvidia驱动程序时可以获得最佳的专用卡。 这也是唯一可以使用nvidia驱动程序让VDPAU在Nvidia芯片上工作的配置。 但是,由于i915驱动程序需要进行更改,因此还存在一些撕裂问题。 此模式仅适用于DRI2。 实际上,这与你为什么不能在PRIME + DRI3中使用输出的原因相同:反向PRIME实际上是使用另一个卡输出的支持名称(无论是在这里运行Nvidia还是Nvidia运行时的英特尔输出)当在英特尔上面运行时),目前在DRI3下无效。

请注意,像CUDA或OpenCL这样的东西不需要任何这些工具,只需要一些配置,但Bumblebee作为一种模式,可以轻松使用它们,同时还能获得其他优势。

使用DRI3时,PRIME和Bumblebee可以同居,但在DRI2下或切换到Reverse PRIME需要切换配置文件并重新启动X服务器。 所以,根据您的需求,这是我建议的:

  1. 如果你不关心表演,但关心易用性(主要是外部输出 – 如果受影响)和FLOSS,请选择PRIME。
  2. 如果你更关心表演,但经常在电池模式下使用你的笔记本电脑而不想一直重启你的X服务器,那就去大黄蜂吧。
  3. 如果你关心性能并且大多数时候在插入AC时使用你的笔记本电脑(并且不关心一些额外的W节省),请使用nvidia查看Reverse PRIME (你可以在运行时使用nvidia-prime切换到仅Intel模式偶尔使用电池,但我不确定Nvidia卡是否在此设置中关闭)。

Ubuntu 16.04当然支持混合图形解决方案,特别是具有带有Optimus支持的intel图形和NVIDIA图形的笔记本电脑。 不要安装bumblebee ,它不再开发,最新版本是从2013年4月开始。今天在两个图形之间切换的解决方案是nvidia-prime ,可以在官方的Ubuntu存储库中找到。 让一切正常运行最重要的是安装驱动程序的方式。 在这里,您可以找到安装驱动程序的说明,很可能一切正常:

安装NVIDIA驱动程序

安装大黄蜂而不是nvidia-prime的原因是,对于大黄蜂,您可以在两个GPU之间切换更容易。 使用nvidia-prime,您只能为X会话选择单个GPU。 这意味着如果要切换GPU,则必须重新启动X会话。 使用bumblebee,无需重启X服务器。
此博客包含16.04版大黄蜂的安装说明。 评论部分还讨论了更详细地安装bumblebee而不是nvidia-prime的原因。

PRIME现在与NVidia专有驱动程序完美配合(我的是367),所以我的猜测是,即使@Archange的答案非常广泛和详细,PRIME不再具有性能影响,而且现在可能是性能方面的最佳选择。

@Archange,或者你的意思是,与nouveau它真的可以自动发生,Windows风格?