Ubuntu 是否支持采用 Optimus 技术的 NVIDIA GeForce?

DSJ*_*nes 173 hardware nvidia graphics nvidia-optimus

我正在考虑购买戴尔 XPS 15 笔记本电脑。笔记本电脑有一块 Nvidia 420m 卡,应该可以在 Linux 上运行,但我一直在读到 Linux 不支持 Nvidia Optimus 技术。我对从 Nvidia 切换到 Intel 以节省电量并不真正感兴趣,但需要知道如果我安装了 Ubuntu,Nvidia 卡实际上可以工作。

如果有人有使用 Nvidia 卡和 Optimus 技术的经验,或者甚至更好的笔记本电脑(配备 1GB NVIDIA® GeForce® GT 420M 的戴尔 XPS 15),那就太好了。

阻碍人们采用 Linux 的一个主要问题是这类硬件问题。我是 Ubuntu 的长期用户和支持者,我不能因为这样的购买而犯错误。我不想花 500 多英镑发现我没有图形加速,因为 Windows 7 不是一个选项。

Lek*_*eyn 159

即使驱动程序下载页面上支持产品选项卡显示支持GT420M,也不支持Optimus 变体。从附加信息选项卡:

某些包含受支持 GPU 的设计可能与 Nvidia Linux 驱动程序不兼容:特别是,如果在硬件中禁用集成图形的方法不可用,则具有可切换(混合)或 Optimus 图形的笔记本电脑和多合一台式机设计将无法工作.

这种 Optimus 设计意味着独立的 Nvidia 卡连接到集成的英特尔 GPU,并且根本没有连接到显示器。一些混合图形笔记本电脑仍然允许您在 BIOS 中选择 Nvidia 卡,但大多数现代 Optimus 笔记本电脑没有这个选项。

我是根据经验说的,我有一个 GT425M 和一个 i5-460M 处理器。如果没有用于切换/禁用卡的 BIOS 或硬件设置,您就是在浪费钱。XPS 15 系列似乎没有任何这些功能。虽然您可以使用 Intel 显卡,但您可能还想使用 Nvidia 卡,因为您已经为此付费,目前还无法直接使用。

你最好找另一台没有 Optimus 的笔记本电脑。Optimus 是垃圾,Nvidia 拒绝为 Linux 提供更好的支持。如果您喜欢冒险并购买这样的笔记本,请访问Linux Hybrid Graphics 博客并订阅它的Launchpad 邮件列表。访问他们的wiki以了解获得这样一张卡片(希望如此)工作的各种方法。一种方法称为Bumblebee,它允许您在 nvidia 卡上呈现程序。我目前推荐它而不是其他解决方案(披露:我是它的开发人员)。

Ubuntu 12.10 Quantal 将附带真正支持混合图形笔记本电脑的第一个位,称为 PRIME。这是高度实验性的并且正在开发中,对于许多人来说可能不够稳定。只有开源图形驱动程序支持这一点,但如果对他们来说工作量不大Nvidia 也可能在未来发布支持此页面跟踪对 Quantal 的混合图形支持,这些是 Raring 的蓝图

如果您已从 nvidia.com 安装驱动程序

通过直接从 nvidia.com安装驱动程序,您犯了一个巨大的错误。如果您想要更新的驱动程序,请添加ubuntu-x-swat/x-updatesPPA,因为它们会以这样的方式安装 nvidia 驱动程序,这样您的 Optimus 系统就不会死机。

从 nvidia.com 安装 nvidia 驱动程序后,您可能会遇到所有图形效果丢失、黑屏或图形性能非常慢的情况。卸载说明:

  1. 通过Shift在启动前按住并选择恢复选项来启动到恢复模式
  2. 在以下菜单中,选择netroot
  3. 卸载英伟达:

    nvidia-uninstall
    
    Run Code Online (Sandbox Code Playgroud)
  4. 如果有的话,删除 nvidia 生成的配置文件:

    rm /etc/X11/xorg.conf
    
    Run Code Online (Sandbox Code Playgroud)
  5. 重新安装 GL 的 Mesa 包:

    apt-get --reinstall install libgl1-mesa-glx
    
    Run Code Online (Sandbox Code Playgroud)
  6. 完成后,重新启动:

    reboot
    
    Run Code Online (Sandbox Code Playgroud)

大黄蜂安装说明

如果您之前安装过 Bumblebee 或 Ironhide,请务必查看http://wiki.bumblebee-project.org/Upgrading-on-Ubuntu上的说明

从 Bumblebee 3.0 版“Tumbleweed”开始,它可以以安全的方式禁用 Nvidia 卡以节省电量新闻稿)。您还可以使用独立卡运行程序以获得更好的性能。安装说明:

  1. 为 Nvidia 驱动程序启用 Universe 和 multiverse 存储库。1.(13.10 Saucy 可选)添加包含最新驱动程序的 PPA,因为存储库中的驱动程序可能已过时:

    sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
    
    Run Code Online (Sandbox Code Playgroud)
  2. (对于 13.04 Raring 及更早版本,Saucy 及更高版本不需要)添加稳定的 Bumblebee 版本 PPA:

    sudo add-apt-repository ppa:bumblebee/stable
    sudo apt-get update
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用专有的 Nvidia 驱动程序安装 Bumblebee:

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
    
    Run Code Online (Sandbox Code Playgroud)
  4. 重新启动或重新登录以应用组更改

如果您现在想在 nvidia 卡上运行程序,请使用该optirun程序:

optirun firefox &
Run Code Online (Sandbox Code Playgroud)

如果您只对节能感兴趣,请将步骤 4 中的最后一个命令替换为:

sudo apt-get install --no-install-recommends bumblebee linux-headers-generic
Run Code Online (Sandbox Code Playgroud)

稍后,您仍然可以通过安装 NVIDIA 来使用 NVIDIA bumblebee-nvidia。如果您想使用 32 位程序,您仍然可以使用sudo apt-get install virtualgl-libs-ia32. 您必须添加的linux-头-通用,否则省电模块bbswitch不能建立。

除了 virtualgl,您还可以尝试primus实现更好的性能。包名称是primus,您可以使用:

primusrun glxgears
# alternative that is nearly the same:
optirun -b primus glxgears
Run Code Online (Sandbox Code Playgroud)

(注意:在询问 60 fps 限制之前,请阅读其常见问题解答。)

另见https://wiki.ubuntu.com/Bumblebee

笔记:

  • 使用acpi_call手动已被弃用。默认情况下,它不会在挂起后继续存在。
  • 不要使用ppa:mj-casalogic/bumblebee或 MrMEEE/bumblebee-Old-and-abandoned git,它不再维护并且包含很多错误。
  • Martin Juhl 将原始 Bumblebee 分叉到 Ironhide,但在我看来不应该使用它,因为原始 Bumblebee 的设计缺陷仍然存在并且“电源管理”功能不稳定(使用了错误的方法,_ON 和 _OFF) )。安装还是一团糟,你的安装可能会在删除后损坏。

如果您不想使用 nvidia 卡或 Bumblebee

如果您不小心安装了 nvidia 驱动程序(即使用 jockey),您有两种选择:

  • @JorgeCastro Bumblebee 仅在您想使用 nvidia 卡时才需要。如果不安装 nvidia 驱动程序,Intel 卡将正常工作。 (6认同)
  • @JorgeCastro 这是正确的,无需进一步操作即可拥有可工作的图形桌面。只是告诉人们不要安装 nvidia 驱动程序。如果他们已经这样做了,他们应该将其删除。 (2认同)

RAO*_*AOF 41

从 Ubuntu 12.10 开始更新:

支持混合图形所需的所有图形堆栈部分都在 12.10 中;Quantal Quetzal 拥有支持混合图形的基础设施——既可以在外部显示器只能由独立芯片驱动时扩展显示,也可以在独立芯片上运行应用程序并在集成 GPU 上显示它们。

不过,有两个警告,一个大的,一个小的。

需要注意的是,没有 GUI 支持——没有明显的方法可以在独立 GPU 上运行应用程序。您可以通过DRI_PRIME=1在启动应用程序之前设置环境变量来做到这一点。

主要需要注意的是,这仅适用于无驱动器- nouveauradeonintel。Nvidia 现在表示有兴趣在 linux 上支持混合图形,但dma-buf他们需要使用的内核符号被标记为 GPL,他们不会使用。

此外,混合支持仅进行了少量测试,仍有一些部分有待实现,例如跨 GPU 同步以防止撕裂。

Ubuntu 12.04 LTS 的状态:

nVidia 的官方立场是他们没有计划在 Linux 上支持 Optimus - 我们的图形堆栈的设计假设只有一张卡驱动给定的显示器,并且不容易解决。

Dave Airlie在 X 服务器和内核中做了很多工作来解决这个问题,而且这很可能会重新基于drm-buf主要通过 Linaro 来自 ARM 世界的工作。一旦这一切都启动并运行起来——这似乎需要 6 个月到一年的时间——就有可能正确地制作混合图形。那时 nVidia可能会重新考虑在 Linux 上支持 Optimus,因为实施起来不再是一个巨大的技术混乱¹。

在支持混合图形而言,现在大黄蜂项目做类似的规定。它本质上在 nVidia 卡上运行第二个 X 服务器并复制渲染的输出。这并不像听起来那么糟糕 - 这基本上也是 nVidia 卡在 Windows 7 下所做的,只是有一点硬件支持。

Ubuntu X 团队不打算支持 Bumblebee 或 Ironhide(Bumblebee 的一个分支)。

如果您的系统具有在 Intel 和 nVidia 卡之间切换的 BIOS 选项,那么您可以在它们之间进行选择。

如果您的系统具有硬件多路复用器 - 因此 nVidia 和 Intel GPU 都连接到输出 - 并且 vga_swicheroo 工作,您可以使用该接口在它们之间切换,但前提是您使用的是开源驱动程序。对于 12.04,我们计划确保在这种情况下关闭未使用的 GPU,这应该会延长电池寿命。

如果您的系统没有 BIOS 选项并且没有 vga_switcheroo 知道如何驱动的硬件复用器,那么您的 nVidia 卡将无法在 12.04 上使用。

¹:AMD 的fglrx驱动程序对混合图形有一定的支持。它似乎是通过伪装成 X 服务器并加载 Intel 驱动程序本身来做到这一点的。这不是一个干净的解决方案吗?。

  • 我认为 PRIME(戴夫的作品)的一年仍然是乐观的,而两年更现实。像Optimus这样的技术是全软件解决方案,硬件不提供支持,即使在Windows 7下也不支持。虽然Bumblebee不是一个完美的解决方案,但3.0版本默认增加了省电功能。有关更多信息,请访问 http://askubuntu.com/a/36936/6969 (2认同)
  • Optimus *不是*全软件解决方案;nVidia GPU 有一些硬件可以提供帮助(nouveau 项目称之为 PCOPY 引擎),尽管这只是性能优化。显然,我不认为一年对 PRIME 来说是*太*的。Optimus 实际上并不比从 VRAM 复制复杂得多。主要是 X 服务器的设计使它变得困难。 (2认同)

Web*_*b-E 14

您的笔记本电脑是nvidia -启用了optimus。它采用双显卡配置以节省电量。目前 nvidia 在 linux 中不提供对这项技术的任何支持。所以在linux中两个显卡都在这导致高电池消耗和过热。有关更多详细信息,请阅读下面列出的链接。

在 Optimus 技术中,英特尔图形始终处于开启状态。使用GT540M时,GT540M生成的图像实际上是通过intel图形卡传输的。

Linux 中可用的选项

关闭 nvidia GT540M 并仅使用 intel。仅在需要时使用带有特殊命令的 Nvidia 卡。Also never install nvidia-drivers alone.

安装Bumblebee以关闭独立 GPU 并仅在需要时启用的说明

  1. 在终端中输入以下内容,

    sudo add-apt-repository ppa:bumblebee/stable
    
    Run Code Online (Sandbox Code Playgroud)

    然后

    sudo apt-get update
    
    Run Code Online (Sandbox Code Playgroud)
  2. 要使用专有的 nvidia 驱动程序安装 Bumblebee:

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
    
    Run Code Online (Sandbox Code Playgroud)
  3. 重启。


如果您只是想禁用nvidia卡,无需学习以下内容

使用说明:

要使用 nvidia 卡运行程序,请optirun在终端中使用前缀命令。喜欢glxspheres用 nvidia 卡类型运行。然而,gui 方法也存在。

optirun glxspheres
Run Code Online (Sandbox Code Playgroud)

运行 Firefox 类型:

optirun firefox &
Run Code Online (Sandbox Code Playgroud)

注意:如果您打算运行 Wine 等 32 位程序并使用 Ubuntu 11.10 Oneiric 或更高版本,请使用以下命令安装 32 位库:

sudo apt-get install virtualgl-libs:i386 libgl1-mesa-glx:i386 libc6:i386
Run Code Online (Sandbox Code Playgroud)

相关问题:

无法在 Optimus 笔记本上使用 nvidia 卡/驱动程序


nik*_*nik 10

NVIDIA的Optimus不是在目前UNIX平台上的任何方式的支持。

这是专门针对任何在其规格列表中​​显示 OPTIMUS 的基于 NVIDIA 的笔记本电脑(移动)系统。你甚至无法在你的 Ubuntu 中使用 NVIDIA 显卡。您将需要使用集成的英特尔显卡驱动程序(在您的平台支持它们的范围内 - Sandy Bridge 支持仍然很弱)。

需要注意的是,Optimus 不同于较早的在集成(通常是 Intel)和离散(NVIDIA、ATI)图形系统之间切换的能力。使用 Optimus,集成图形路径始终处于使用状态,并允许您(另外)在需要时启用独立图形——目前这需要Windows 7(afaik,也不适用于 Vista)。

这里有一些参考资料,可以加快速度。

  1. UbuntuForums:nVidia Optimus 和 Ubuntu 解释
  2. phoronix:NVIDIA Optimus 会不可避免地来到 Linux吗?
    Michael Larabel 于 2011 年 4 月 25 日发表

提示:我使用带有525M Optimus独立显卡的 XPS 15 L502x 。


更新:这是选项卡中NVIDIA 驱动程序 270.06页面的引用Additional Information

某些包含受支持 GPU 的设计可能与 NVIDIA Linux 驱动程序不兼容:特别是,如果在硬件中禁用集成图形的方法不可用,则具有可切换(混合)或 Optimus 图形的笔记本电脑和多合一台式机设计将无法工作.

如果您想从 linux 驱动 NVIDIA,现在您知道在基于 NVIDIA 的新笔记本电脑规格中寻找什么了。


更新:看看Bumblebee-Project
README那里开始。


Jes*_*per 5

目前有Bumblebee支持 nVidia Optimus。

我有一台戴尔 Latitude E6520,配备英特尔酷睿 i5(内置英特尔显卡)和 nVidia 420M 显卡。您可以使用optirun(输入optirun programname终端启动programname)运行程序,然后它将能够使用 nVidia 图形。

我还没有用 CUDA 程序尝试过。