Ubuntu – Difference between VGA compatible controller and 3D controller


Why is it that I don't see my NVIDIA graphic adapter under VGA compatible controller but under 3D controller when I use lspci -vnn? What's the difference between the two and under which section should it actually be?

Edit : Output Of lspci -k | grep -EA2 'VGA|3D'

00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
    Subsystem: Dell Device 0662
    Kernel driver in use: i915
08:00.0 3D controller: NVIDIA Corporation GF117M [GeForce 610M/710M/810M/820M / GT 620M/625M/630M/720M] (rev a1)
    Subsystem: Dell GeForce 820M

Best Answer

It depends on the adapter firmware how it declares itself to PCI bus.

Some Nvidia laptop adapters declare themselves as a 3D controller.

That does not make any practical difference.

The reason for that is probably because in an Optimus dual graphics systems, the Nvidia chip is not a real adapter. It outputs through the Intel adapter anyway and does only hardware acceleration.

You can install a proprietary driver in System Settings -> Software & Updates -> Additional Drivers (nvidia-352), or in terminal:

sudo apt-get install nvidia-352

Both methods do the same. This will install the stable recommended driver.

If you need "the latest" drivers, you can install them by

sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt-get update
sudo apt-get install nvidia-361 nvidia-prime

at your own risk.