Ubuntu – NVidia Optimus , Unity 3D and Dual Monitors


I have an nVidia Quadro 2000M with nVidia optimus.

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)

I know that I will not be able to find drivers for the nVidia card, and I won't be able to use the nVidia card but my question is, using the Intel card could I run Unity 3D? And if not, can I somehow use dual monitors without running 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

I know I'm 'humped' in terms of getting my nVidia card to do any work for me, but I just want to know if my Intel card can do the work I want done.

Best Answer

  • Assuming that your Intel card is hooked up to the outputs you want to drive¹, then yes, your Intel GPU should be perfectly capable of both running Unity 3D and driving two monitors.

    Optimus setups aren't really standardised; each manufacturer tends to do something slightly different, and often does things differently on different models, so it's hard to say anything definitive without having the actual laptop in question. Depending on how your manufacturer has wired things up, there may be a BIOS switch to select between the integrated and discrete CPUs. If there is such a BIOS option, then you'll be able to use either the Intel or nVidia card. In this case you'll obviously need to reboot to switch GPUs, and you'll also need to do some fiddling with the video drivers - 3D won't work on the Intel GPU while the nVidia drivers are configured.

    Note: If there's an option like Detect OS Optimus Support or suchlike, you need to have this disabled. For many boring, stupid, and annoyingly necessary reasons, linux identifies itself to the BIOS's ACPI implementation as the most recent version of Windows. This means Windows 7, which supports Optimus (or, at least, the Windows 7 nvidia drivers support Optimus), so if the BIOS tries to detect Optimus support it will incorrectly enable it.

    As to your unity_support_test output, I'd guess that you've either got the nvidia binary drivers installed and are using the Intel GPU or that you're using the nvidia GPU and haven't got the binary drivers installed ☺. I don't think nouveau in 11.10 supports 3D on your nVidia card. The contents of your /var/log/Xorg.0.log file would be instructive in debugging this.

    ¹: In many of the Optimus laptops, like this T420s, only the internal display and VGA output is hooked up to the Intel GPU; the DisplayPort output is only hooked up to the nVidia card.