如果有人有使用Nvidia显卡与Optimus技术的经验,或者更好的是对于这款具体的笔记本(戴尔XPS 15,搭载1GB NVIDIA® GeForce® GT 420M)有所了解,那将非常棒。
一个主要阻碍人们采用Linux的问题就是这种硬件问题。我是一位长期使用和支持Ubuntu的用户,对于像这样的购买决策不能犯错。我不想花费500英镑以上的钱,结果发现因为Windows 7不可选而无法进行图形加速。
某些包含支持GPU的设计可能与Nvidia Linux驱动程序不兼容:特别是,笔记本电脑和混合或Optimus图形的一体式台式机设计如果无法通过硬件禁用集成图形,则无法使用。
这个Optimus设计意味着独立的Nvidia显卡被接线到集成的Intel GPU中,而且根本没有连接到显示器。一些混合图形的笔记本电脑仍然允许您在BIOS中选择Nvidia卡,但大多数现代的Optimus笔记本电脑没有这个选项。
我从经验中说话,我的GT425M搭配i5-460M处理器。如果没有切换/禁用卡的BIOS或硬件设置,那么你就白白浪费了你的钱。XPS 15系列似乎没有这些功能。虽然您可以使用英特尔图形卡,但因为您已经付款,您可能还想使用Nvidia卡,目前直接不可能。
你最好找一台没有Optimus的笔记本电脑。Optimus太糟糕了,Nvidia拒绝为Linux提供更好的支持。如果你有冒险精神,买了这样一台笔记本电脑,可以访问Linux Hybrid Graphics博客并订阅他们的Launchpad邮件列表。在他们的wiki上可以找到各种使这样的显卡(希望能)工作的方法。其中一种方法叫做Bumblebee,它允许你在Nvidia显卡上渲染程序。目前我推荐使用它而不是其他解决方案(声明:我是它的开发者)。通过从nvidia.com直接安装驱动程序,您犯了一个巨大的错误。如果您想要更新的驱动程序,请添加ubuntu-x-swat/x-updates
PPA,因为这样安装的NVIDIA驱动程序会使您的Optimus系统不会出问题。
netroot
卸载nvidia:
nvidia-uninstall
如果有的话,删除由nvidia生成的配置文件:
rm /etc/X11/xorg.conf
重新安装Mesa GL包:
apt-get --reinstall install libgl1-mesa-glx
完成后,使用以下命令重新启动:
reboot
如果您之前已经安装过Bumblebee或Ironhide,请务必查看http://wiki.bumblebee-project.org/Upgrading-on-Ubuntu上的说明。
自从Bumblebee 3.0 "Tumbleweed"版本起,它可以以安全的方式禁用Nvidia显卡以节省电源(新闻发布)。您还可以使用独立显卡来运行程序以获得更好的性能。安装指南如下:
为了安装Nvidia驱动,请启用宇宙和多元宇宙软件源。
sudo add-apt-repository ppa:ubuntu-x-swat/x-updates
(适用于13.04 Raring及更早版本,对于Saucy及更高版本不需要) 添加稳定的Bumblebee发布PPA:
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update
使用专有的Nvidia驱动程序安装Bumblebee:
sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
optirun
程序:optirun firefox &
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
acpi_call
已被弃用。默认情况下,它无法在挂起后继续运行。
- 不要使用ppa:mj-casalogic/bumblebee
或者MrMEEE/bumblebee-Old-and-abandoned git,它们已不再维护,并且包含很多错误。
- Martin Juhl将原始Bumblebee分叉为Ironhide,但我认为不应该使用它,因为原始Bumblebee的设计缺陷仍然存在,并且“电源管理”功能不稳定(使用了错误的方法_ON和_OFF)。安装仍然是一团糟,卸载后可能会导致系统损坏。nvidia-current
)3.0-2~...ppa1
),32位库已自动安装。此外,您无需手动将自己添加到“bumblebee”组中:所有来自“adm”,“admin”和“sudo”组的成员都会被简单地复制。然而,在初始安装后,您仍然需要重新登录/重启。 - Lekensteyndmesg
是否显示VRAM初始化失败的信息?) - Lekensteynsudo apt-get insall linux-headers-generic
安装了吗? - LekensteynUbuntu 12.10更新:
所有支持混合显卡所需的图形堆栈组件都已经加入到12.10中;Quantal Quetzal具备了支持混合显卡的基础设施 - 即在外部显示器只能由独立芯片驱动时扩展显示,并在集成GPU上运行应用程序并显示它们。
然而,有两个注意事项,一个较大,一个较小。
较小的注意事项是没有GUI支持 - 没有明显的方法来在独立GPU上运行应用程序。您可以在启动应用程序之前设置DRI_PRIME=1
环境变量来实现这一点。
较大的注意事项是这仅适用于自由驱动程序 - nouveau
,radeon
和intel
。Nvidia现在对在Linux上支持混合显卡表示兴趣,但他们需要使用的dma-buf
内核符号被标记为GPL,他们不会使用。
此外,混合支持仅经过轻度测试,还有一些尚未实现的部分,例如跨GPU同步以防止撕裂。
Ubuntu 12.04 LTS的状态:
nVidia的官方立场是他们没有计划在Linux上支持Optimus - 我们的图形堆栈是基于这样的假设进行设计的,即只有一张卡驱动一个给定的显示器,并且很难解决。
Dave Airlie 在X服务器和内核中做了很多工作来解决这个问题,而这很可能会基于通过Linaro主要来自ARM领域的drm-buf
工作进行重新定位。一旦所有这些都正常运行-似乎还需要6个月到1年的时间-将有可能正确地执行混合图形。届时nVidia可能会重新考虑在Linux上支持Optimus,因为实现这一点将不再是一个巨大的技术混乱¹。
就目前来支持混合图形, Bumblebee 项目可以做类似的事情。它基本上在nVidia卡上运行第二个X服务器并复制渲染的输出。这并不像听起来那么糟糕 - nVidia卡在Windows 7下也是这样做的,只是有一点硬件支持。
Ubuntu X团队不打算支持Bumblebee或Ironhide(Bumblebee的分支)。
如果您的系统具有在Intel和nVidia显卡之间切换的BIOS选项,则可以在它们之间进行选择。
如果您的系统具有硬件MUX,即nVidia和Intel GPU都连接到输出端口,并且vga_swicheroo有效,则可以使用该接口在它们之间进行切换,但前提是您使用的是开源驱动程序。对于12.04版本,我们计划确保在这种情况下关闭未使用的GPU,从而改善电池寿命。
如果您的系统既没有BIOS选项,也没有vga_switcheroo认识如何驱动的硬件MUX,则您的nVidia显卡在12.04版本上将无法使用。
¹:AMD的fglrx
驱动程序对混合图形有一定的支持。它似乎通过假装成一个X服务器并自行加载Intel驱动程序来实现。这并不是一个干净的解决方案☺。
dma-buf
й—®йўҳжңүдёҖдәӣиҝӣеұ•пјҢеҸӮи§ҒжӯӨй“ҫжҺҘгҖӮд№ҹи®ёеҜ№дәҺдёҖдёӘйҖӮеҪ“зҡ„пјҲеҚійқһbumblebeeпјүи§ЈеҶіж–№жЎҲжңүдёҖдәӣеёҢжңӣгҖӮ - snap同时不要单独安装nvidia驱动程序。
安装Bumblebee以关闭独立GPU并仅在需要时启用的说明
在终端中输入以下命令:
sudo add-apt-repository ppa:bumblebee/stable
然后执行以下命令:
sudo apt-get update
使用专有的NVIDIA驱动程序安装Bumblebee:
sudo apt-get install bumblebee bumblebee-nvidia linux-headers-generic
重新启动计算机。
如果你只想禁用Nvidia显卡,不需要学习以下内容
使用说明:
要使用Nvidia显卡运行程序,请在终端中前缀使用optirun
命令。
例如,要使用Nvidia显卡运行glxspheres
,请键入。但是也存在一种图形界面的方法。
optirun glxspheres
运行 Firefox 的方法:
optirun firefox &
sudo apt-get install virtualgl-libs:i386 libgl1-mesa-glx:i386 libc6:i386
sudo apt-get update
。先让它运行一下,然后再试一次。如果还是失败,请告诉我。 - Web-ENVIDIA Optimus 在目前的 Unix 平台上没有任何支持。
这主要适用于规格列表中标有 OPTIMUS 的任何笔记本电脑(移动)NVIDIA 系统。您甚至无法在 Ubuntu 中使用 NVIDIA 图形。您需要使用集成的 Intel 图形驱动程序(在您的平台上受支持的范围内 - Sandy Bridge 支持仍然较弱)。
值得注意的是,Optimus 与旧版能够在集成(通常为 Intel)和独立(NVIDIA、ATI)图形系统之间切换的功能不同。使用 Optimus 时,始终使用集成图形路径,并在需要时启用独立图形 - 目前需要 Windows 7(据我所知,在 Vista 上也无法工作)。
以下是一些参考资料,以便了解更多信息。
UbuntuForums: nVidia Optimus和Ubuntu的解释 phoronix: NVIDIA Optimus是否必然会在Linux上出现? 由Michael Larabel于2011年4月25日发布 提示:我使用一台带有525M Optimus独立显卡的XPS 15 L502x。附加信息
选项卡中。
一些使用支持的GPU的设计可能与NVIDIA Linux驱动程序不兼容:特别是具有可切换(混合)或Optimus图形的笔记本和一体机台式机设计,如果没有硬件上禁用集成图形的方法,则无法正常工作。
现在你知道了,在选择新的基于NVIDIA的笔记本电脑规格时要注意什么,如果你想在Linux上使用NVIDIA驱动。
更新:查看Bumblebee-Project。
从那里开始阅读README
。
目前有Bumblebee支持nVidia Optimus。
我有一台戴尔Latitude E6520笔记本电脑,配备英特尔Core i5处理器(带有内置英特尔显卡)和一张nVidia 420M独立显卡。您可以使用optirun
来运行程序(在终端中输入optirun programname
以启动programname
),然后它将能够使用nVidia显卡。
我还没有尝试过CUDA程序。
目前(截至13.04,如果我没记错的话)如果你通过附加驱动程序下载NVIDIA二进制驱动程序,它将会自动安装nvidia-prime
。
然后,一旦你安装并重新启动,你可以通过在nvidia-settings
中的PRIME部分更改渲染器来切换到独立显卡,并在下次登录时X11将使用它。
然而,我发现这会导致极其严重的撕裂,所以我仍然不推荐使用这个选项。所以,如果你想像其他人建议的那样安装Bumblebee,不要担心。在安装Bumblebee之前,你只需要简单地删除nvidia-prime
软件包。