Ubuntu 是否支持具有 Optimus 技术的 NVIDIA GeForce?

Ubuntu 是否支持具有 Optimus 技术的 NVIDIA GeForce?

我正在考虑购买一台戴尔 XPS 15 笔记本电脑。这台笔记本电脑配有一块 Nvidia 420m 显卡,应该可以与 Linux 配合使用,但我一直读到 Nvidia Optimus 技术在 Linux 上不受支持。我并不真的想从 Nvidia 切换到 Intel 以节省电量,但​​需要知道如果我安装了 Ubuntu,Nvidia 显卡实际上可以工作。

如果有人有使用带有 Optimus 技术的 Nvidia 显卡的经验,或者更好的是,有这种配置的笔记本电脑(带有 1GB NVIDIA® GeForce® GT 420M 的 Dell XPS 15)的话,那就太好了。

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

答案1

即使驱动程序下载页面上的“支持的产品”选项卡说支持 GT420M,Optimus 变体是不是支持。从“附加信息”选项卡中:

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

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

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

你最好找一台没有 Optimus 的笔记本电脑。Optimus 很烂,而且 Nvidia 拒绝为 Linux 提供更好的支持。如果你喜欢冒险,想买一台这样的笔记本电脑,请访问Linux 混合图形博客并订阅其Launchpad 邮件列表. 参观他们的维基百科了解使这种卡(希望)工作的各种方法。一种方法称为熊蜂它允许您在 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:

    nvidia-uninstall
    
  4. 如果有的话,删除 nvidia 生成的配置文件:

    rm /etc/X11/xorg.conf
    
  5. 重新安装 GL 的 Mesa 包:

    apt-get --reinstall install libgl1-mesa-glx
    
  6. 完成后,重新启动:

    reboot
    

大黄蜂安装说明

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

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

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

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

    sudo add-apt-repository ppa:bumblebee/stable
    sudo apt-get update
    
  3. 使用专有 Nvidia 驱动程序安装 Bumblebee:

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
    
  4. 重新启动或重新登录以应用组更改

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

optirun firefox &

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

sudo apt-get install --no-install-recommends bumblebee linux-headers-generic

稍后,您仍可以通过安装来使用 NVIDIA bumblebee-nvidia。如果您想使用 32 位程序,您仍可以使用 安装所需的库sudo apt-get install virtualgl-libs-ia32。您bbswitch添加linux-headers-generic,否则无法构建省电模块。

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

primusrun glxgears
# alternative that is nearly the same:
optirun -b primus glxgears

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

也可以看看https://wiki.ubuntu.com/Bumblebee

笔记:

  • 手动使用acpi_call已被弃用。默认情况下,它不会在暂停后继续存在。
  • 不要使用ppa:mj-casalogic/bumblebeeMrMEEE/bumblebee-Old-and-abandoned git,它不再维护并且包含很多错误。
  • Martin Juhl 将原始 Bumblebee 拆分为 Ironhide,但我认为不应该使用它,因为原始 Bumblebee 的设计缺陷仍然存在,并且“电源管理”功能不稳定(使用了错误的方法 _ON 和 _OFF)。安装仍然很乱,删除后您的安装可能会中断。

如果你不想使用 nvidia 卡或 Bumblebee

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

  • 卸载驱动程序(包nvidia-current
  • 按照以下说明设置默认的 OpenGL 库此错误报告

答案2

自 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——我们的图形堆栈在设计时假设只有一张卡驱动给定的显示器,而且这并不容易解决。

戴夫·艾尔利在 X 服务器和内核中已经做了很多工作来解决这个问题,并且很可能将基于drm-bufARM 世界通过 Linaro 所做的工作。一旦这一切启动并运行——似乎还需要 6 个月到一年的时间——就有可能正确地实现混合图形。到那时,nVidia可能重新考虑在 Linux 上支持 Optimus,因为它不再是一个巨大的技术混乱¹。

在支持混合显卡方面现在, 这熊蜂project 做了类似的事情。它本质上在 nVidia 卡上运行第二个 X 服务器并复制渲染的输出。这并不像听起来那么糟糕 - 这基本上也是 nVidia 卡在 Windows 7 下所做的,只是需要一点硬件支持。

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

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

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

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

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

答案3

您的笔记本电脑nvidia——Optimus启用。这是一种双显卡配置,可以节省电量。目前 nvidia 在 linux 中不提供对这项技术的任何支持。因此在 linux 中两个显卡都打开,这导致电池消耗大和过热。如需更多详细信息,请阅读下面列出的链接。

在 optimus 技术下,英特尔显卡始终处于开启状态。当您使用 GT540M 时,GT540M 生成的图像实际上是通过英特尔显卡传输的。

Linux 中可用的选项

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

安装说明熊蜂关闭独立 GPU 并仅在需要时启用

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

    sudo add-apt-repository ppa:bumblebee/stable
    

    然后

    sudo apt-get update
    
  2. 要使用专有 nvidia 驱动程序安装 Bumblebee:

    sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
    
  3. 重启。


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

使用说明:

要使用 nvidia 卡运行程序,请使用optirun终端中的前缀命令。就像使用 nvidia 卡类型运行一样glxspheres。但是也存在 gui 方法。

optirun glxspheres

要运行 Firefox,请输入:

optirun firefox &

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

sudo apt-get install virtualgl-libs:i386 libgl1-mesa-glx:i386 libc6:i386

相关问题:

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

答案4

目前熊蜂支持 nVidia Optimus。

我有一台戴尔 Latitude E6520,配备 Intel Core i5(内置 Intel 显卡)和 nVidia 420M 显卡。您可以使用optirunoptirun programname在终端中输入以启动programname)运行程序,然后它就可以使用 nVidia 显卡。

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

相关内容