当前位置: 首页>>技术教程>>正文


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

, , , ,

问题描述

我正在考虑购买戴尔XPS 15笔记本电脑。笔记本电脑有一个Nvidia 420m卡,应该可以与Linux一起工作,但我一直在阅读,认为Nvidia Optimus技术在Linux上不受支持。我并不是真的有兴趣从Nvidia切换到Intel来节省电力,但需要知道,如果我安装了Ubuntu,Nvidia卡实际上可以工作。

如果任何人有使用Optimus技术的Nvidia卡的经验,或者更好的确切的笔记本电脑(戴尔XPS 15与1GBNVIDIA®GeForce®GT 420M),那就太好了。

阻碍人们采用Linux的一个主要问题是这类硬件问题。我是一位长期的Ubuntu用户和支持者,他们无法承受购买此类产品时犯的错误。我不想花费500英镑找到我没有图形加速,因为Windows 7不是一个选项。

最佳解决方法

即使Supported Products tab on the driver download page表示支持GT420M,Optimus变体也不受支持。从附加信息选项卡:

Some designs incorporating supported GPUs may not be compatible with the Nvidia Linux driver: in particular, notebook and all-in-one desktop designs with switchable (hybrid) or Optimus graphics will not work if means to disable the integrated graphics in hardware are not available.

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

我从经验上讲,我有一个GT425M与一个i5-460M处理器相结合。如果没有用于切换/禁用该卡的BIOS或硬件设置,则会丢掉您的钱。 XPS 15系列似乎没有任何这些功能。虽然您可以使用英特尔图形卡,但您也可能需要使用Nvidia卡,因为您已经为此付费,但目前尚不可能。

没有Optimus,你最好找另一台笔记本电脑。 Optimus是废话,Nvidia拒绝为Linux提供更好的支持。如果您冒险购买此类笔记本,请访问Linux Hybrid Graphics blog并订阅其Launchpad mailing list。访问他们的wiki各种方式获得这样的卡(希望)工作。一种方法叫做Bumblebee,它允许你在你的nvidia卡上渲染程序。我目前推荐它比其他解决方案(披露:我是一个开发人员)。

Ubuntu 12.10 Quantal将随第一批出货,为称为PRIME的混合图形笔记本电脑提供真正的支持。这是高度实验性的和发展中的,可能对许多人来说不够稳定。只有open-source图形驱动程序支持此操作,但是Nvidia may release support in the future too if it is not too much work for themThis page跟踪Quantal的混合图形支持,these are the blueprints for Raring

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

您通过直接从nvidia.com安装驱动程序而犯了一个巨大的错误。如果您想要更新的驱动程序,请添加ubuntu-x-swat/x-updates PPA,因为它们将安装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卡以节省电力(press release)。您也可以使用独立卡运行程序以获得更好的性能。安装说明:

  1. Enable the Universe and multiverse repository用于Nvidia驱动程序。 1.(对于13.10 Saucy可选)添加包含最新驱动程序的PPA作为存储库中的驱动程序可能已过时:

    sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
    
  2. (对于13.3Raring和更早,Saucy和以后不需要)添加稳定大黄蜂版本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. 重新启动或re-login以应用组更改

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

optirun firefox &

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

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

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

除了virtualgl之外,您还可以尝试primus以获得更好的性能。软件包名称是primus,您可以使用:

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

(注意:在询问60fps的限制之前,请阅读its FAQ。)

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

笔记:

  • 不建议使用acpi_call。默认情况下,它不会存在挂起。

  • 不要使用ppa:mj-casalogic/bumblebee或MrMEEE /bumblebee-Old-and废弃的git,它不再被维护,并且包含很多错误。

  • Martin Juhl将原来的大黄蜂分为铁皮,但在我看来,它不应该被使用,因为原始大黄蜂的设计缺陷仍然存在,并且”power management”功能不稳定(使用错误的方法,_ON和_OFF)。安装仍然是一团糟,您的安装可能会在拆除后被破坏。

如果你不想使用nvidia卡和Bumblebee

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

  • 卸载驱动程序(包nvidia-current)

  • 按照this bugreport中的描述设置默认的OpenGL库

次佳解决方法

从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工作中进行重新设计,而drm-buf工作主要是通过Linaro从ARM世界出来的。一旦完成并运行 – 这似乎需要6个月到一年的时间 – 才能正确完成混合图形。那时nVidia可能会重新考虑在Linux上支持Optimus,因为它不会再是实现¹的巨大技术混乱。

就现在支持混合图形而言,Bumblebee项目在这方面做了一些事情。它基本上在nVidia卡上运行第二台X服务器,并在整个渲染输出中进行复制。这并没有听起来那么糟糕 – 这基本上就是nVidia卡在Windows 7下的功能,只需要一点硬件支持。

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

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

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

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

¹:AMD的fglrx驱动程序对混合图形有一定的支持。它似乎是假装成X服务器并加载英特尔驱动程序本身。这不是一个干净的解决方案☺。

第三种解决方法

您的笔记本电脑已启用nvidia – optimus。其双显卡配置可节省电量。目前NVIDIA在Linux中不提供对这项技术的支持。所以在Linux中,这两个显卡都会导致电池消耗过高和过热。欲了解更多详情,请阅读以下链接。

在Optimus技术中,英特尔图形始终处于开启状态。当你使用GT540M时,由GT540M生成的图像通过intel grphics卡进行传输。

在Linux中可用的选项

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

安装Bumblebee以关闭独立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

相关问题:

Can’t use nvidia card/driver on optimus notebook

第四种方法

NVIDIA Optimus在目前的Unix平台上不受任何支持。

这是特别针对任何基于NVIDIA®(英伟达™)的基于NVIDIA®(英伟达™)处理器的笔记本电脑(移动)系统而言的,该系统在OPTIMUS的规格列表中​​表示。您甚至无法在Ubuntu中使用NVIDIA图形。您将需要使用集成的英特尔图形驱动程序(在您的平台支持的范围内 – 桑迪桥支持仍然很弱)。

应该指出的是,Optimus不同于在集成(通常是英特尔)和分立(NVIDIA,ATI)图形系统之间切换的老式功能。借助Optimus,集成的图形路径始终处于使用状态,并且可以在需要时(另外)启用独立图形 – 此时需要Windows 7(afaik,在Vista上也无法使用)。

这里有几个参考资料可以帮助您了解这一点。

  1. UbuntuForums:nVidia Optimus and Ubuntu explained

  2. phoronix:Will NVIDIA Optimus Inevitably Come To Linux?由Michael Larabel于2011年4月25日发布

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


更新:这是Additional Information选项卡中NVIDIA Drivers 270.06页面的引用。

Some designs incorporating supported GPUs may not be compatible with the NVIDIA Linux driver: in particular, notebook and all-in-one desktop designs with switchable (hybrid) or Optimus graphics will not work if means to disable the integrated graphics in hardware are not available.

现在,如果您想从Linux驱动NVIDIA,您就知道在基于NVIDIA®(英伟达™)的笔记本电脑规格中需要寻找什么。


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

第五种方法

目前有Bumblebee支持nVidia Optimus。

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

我没有用CUDA程序尝试过。

第六种方法

Nvidia驱动程序无法工作,因为戴尔没有BIOS选项来选择显卡。 Try a stable release of bumblebee。它昨天在戴尔l502x(525M卡)上工作,我重新启动多次后进行了验证。默认情况下会使用英特尔,但您可以使用命令optirun使用NVIDIA来运行应用程序。你也必须在启动后重新启动大黄蜂。

第七种方法

我认为NVidia Optimus在11.10和11.04都可以和Ironhide一起使用。我认为任何不购买Optimus笔记本电脑的建议都是迂腐和咄咄逼人的。谁需要在Linux笔记本电脑24×7上运行图形怪兽?英特尔GPU在功耗方面要好得多,据我所知,Ironhide在调用Optirun之前不会运行NVidia GPU。我对我的Optimus笔记本电脑非常满意。

缺乏对外部显示器的适当支持(我无法获得1080i分辨率)是SandyBridge Intel HD3000问题,我相信这些问题将在以后的版本中分类。这个问题与Optimus无关,并将出现在所有英特尔HD3000笔记本电脑上。

This guide适用于Dell XPS17 L702x笔记本电脑和Oneiric,但我相信它适用于大多数Optimus笔记本电脑。

请务必在遵循上述链接之前删除所有NVidia驱动程序,祝您好运!

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/265.html,未经允许,请勿转载。