我有一台带有 nVidia optimus 的 nVidia Quadro 2000M。
lspci | grep VGA
00:02.0 VGA compatible controller: Intel Corporation 2nd Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation GF106 [Quadro 2000M] (rev a1)
我知道我无法找到 nVidia 卡的驱动程序,也无法使用 nVidia 卡,但我的问题是,使用英特尔卡可以运行 Unity 3D 吗?如果不能,我能否在不运行 Unity 3D 的情况下使用双显示器?
/usr/lib/nux/unity_support_test -p
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Xlib: extension "GLX" missing on display ":0.0".
Error: unable to create the OpenGL context
我知道我在使用 nVidia 卡为我做任何工作方面很吃力,但我只想知道我的英特尔卡是否可以完成我想要的工作。
答案1
假设您的英特尔卡连接到您想要驱动的输出¹,那么是的,您的英特尔 GPU 应该完全能够运行 Unity 3D 和驱动两个显示器。
Optimus 设置实际上并非标准化;每个制造商都倾向于做些略有不同的事情,并且经常在不同型号上做不同的事情,因此如果没有实际的笔记本电脑,很难说出任何明确的结论。根据制造商的接线方式,可能会有一个 BIOS 开关来选择集成和独立 CPU。如果有这样的 BIOS 选项,那么你将能够使用英特尔或 nVidia 卡。在这种情况下,你显然需要重新启动才能切换 GPU,并且你还需要对视频驱动程序进行一些调整 - 当配置 nVidia 驱动程序时,3D 将无法在英特尔 GPU 上运行。
笔记:如果有类似Detect OS Optimus Support
或类似的选项,你需要有这个已禁用。由于许多无聊、愚蠢且令人讨厌的必要原因,linux 向 BIOS 的 ACPI 实现标识自己为 Windows 的最新版本。这意味着 Windows 7 支持 Optimus(或者至少 Windows 7 nvidia 驱动程序支持 Optimus),因此如果 BIOS 尝试检测 Optimus 支持,它将错误地启用它。
至于你的unity_support_test
输出,我会猜测你要么安装了 nvidia 二进制驱动程序并使用英特尔 GPU,要么你正在使用 nvidia GPU 但尚未安装二进制驱动程序 ☺。我不知道思考11.10 中的 nouveau 支持 nVidia 卡上的 3D。文件的内容/var/log/Xorg.0.log
对于调试此问题很有帮助。
¹:在许多 Optimus 笔记本电脑中,例如这款 T420s,只有内部显示器和 VGA 输出连接到英特尔 GPU;DisplayPort 输出仅连接到 nVidia 卡。