P51 Lenov, Install Quadro M2200 graphic card

With the recent advancements in Linux desktop distributions, gaming on Linux is coming to life. Linux users are beginning to enjoy gaming like Windows or Mac OSX users, with amazing performance.

Nvidiamakes top-rated gaming graphics cards. However, for a long time, updatingNvidiadrivers on Linux desktops was not so easy. Luckily, now theProprietary GPU Drivers PPApackages updatednvidia-graphics-driversfor Ubuntu ready for installation.

Although thisPPAis currently in testing, you can get fresh drivers from upstream, currently shipping Nvidia from it. If you are using Nvidia graphics card, this article will show you how to install the latest Nvidia drivers onUbuntuand its derivatives such asLinux Mint.

How to Install Nvidia Drivers in Ubuntu

First start by adding theProprietary GPU Drivers PPAto your system package sources and update your system package cache usingapt command.

$ sudo add-apt-repository ppa:graphics-drivers/ppa
$ sudo apt update

Then install the latest stable nvidia graphics (which isnvidia-387at the time of writing this article) using the following command.

$ sudo apt install nvidia-387

Alternatively, openSoftware & UpdatesunderSystem Settingsand go toAdditional Driverstab, select the required driver version and click “Apply Changes”.

Next,rebootyour computer for the new driver to start working. Then use thelsmod commandto check your installation status with the following command.

It will list all currently loaded kernel modules in Linux, then filter onlynvidiausinggrep command.

$ lsmod | grep nvidia

Some times updates do not work well as expected. If you face any issues with the latest drivers installation such as black screen on startup, you can remove it as follows.

$ sudo apt-get purge nvidia*

If you want to completely remove graphics-drivers PPA as well, run the following command to remove PPA.

$ sudo apt-add-repository --remove ppa:graphics-drivers/ppa

How to check NVIDIA driver version on your Linux system

Use command line and consult

nvidia-smi

utility to reveal NVIDIA driver version

lhnguyen@nguyenP51U16:~$ nvidia-smi
Wed Nov 28 01:08:30 2018       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.78       Driver Version: 410.78       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  Quadro M1200        Off  | 00000000:01:00.0  On |                  N/A |
| N/A   37C    P0    N/A /  N/A |    344MiB /  4035MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0       958      G   /usr/lib/xorg/Xorg                           174MiB |
|    0      1413      G   compiz                                        77MiB |
|    0      2098      G   ...-token=F237778D1B219474554FF2B121076DFB    87MiB |
+-----------------------------------------------------------------------------+

or Check Xorg X server logs

lhnguyen@nguyenP51U16:~$ grep "X Driver" /var/log/Xorg.0.log
[     4.583] (II) NVIDIA dlloader X Driver  410.78  Sat Nov 10 22:15:52 CST 2018

Here in the below is the installation of version 410:

lhnguyen@nguyenP51U16:~$ sudo add-apt-repository ppa:graphics-drivers/ppa

[sudo] password for lhnguyen:

Fresh drivers from upstream, currently shipping Nvidia.

## Current Status

Current long-lived branch release: `nvidia-410` (410.66)

Dropped support for Fermi series (https://nvidia.custhelp.com/app/answers/detail/a_id/4656\)

Old long-lived branch release: `nvidia-390` (390.87)

For GF1xx GPUs use `nvidia-390` (390.87)

For G8x, G9x and GT2xx GPUs use `nvidia-340` (340.107)

For NV4x and G7x GPUs use `nvidia-304` (304.137) End-Of-Life!

Support timeframes for Unix legacy GPU releases:

https://nvidia.custhelp.com/app/answers/detail/a_id/3142

## What we're working on right now:

  • Normal driver updates

  • Help Wanted: Mesa Updates for Intel/AMD users, ping us if you want to help do this work, we're shorthanded.

## WARNINGS:

This PPA is currently in testing, you should be experienced with packaging before you dive in here:

Volunteers welcome!

### How you can help:

## Install PTS and benchmark your gear:

sudo apt-get install phoronix-test-suite

Run the benchmark:

phoronix-test-suite default-benchmark openarena xonotic tesseract gputest unigine-valley

and then say yes when it asks you to submit your results to openbechmarking.org. Then grab a cup of coffee, it takes a bit for the benchmarks to run. Depending on the version of Ubuntu you're using it might preferable for you to grabs PTS from upstream directly: http://www.phoronix-test-suite.com/?k=downloads

## Share your results with the community:

Post a link to your results (or any other feedback to): https://launchpad.net/~graphics-drivers-testers

Remember to rerun and resubmit the benchmarks after driver upgrades, this will allow us to gather a bunch of data on performance that we can share with everybody.

If you run into old documentation referring to other PPAs, you can help us by consolidating references to this PPA.

If someone wants to go ahead and start prototyping on `software-properties-gtk` on what the GUI should look like, please start hacking!

## Help us Help You!

We use the donation funds to get the developers hardware to test and upload these drivers, please consider donating to the "community" slider on the donation page if you're loving this PPA:

http://www.ubuntu.com/download/desktop/contribute

More info: https://launchpad.net/~graphics-drivers/+archive/ubuntu/ppa

Press [ENTER] to continue or ctrl-c to cancel adding it

gpg: keyring `/tmp/tmpzxvrgb_8/secring.gpg' created

gpg: keyring `/tmp/tmpzxvrgb_8/pubring.gpg' created

gpg: requesting key 1118213C from hkp server keyserver.ubuntu.com

gpg: /tmp/tmpzxvrgb_8/trustdb.gpg: trustdb created

gpg: key 1118213C: public key "Launchpad PPA for Graphics Drivers Team" imported

gpg: no ultimately trusted keys found

gpg: Total number processed: 1

gpg: imported: 1 (RSA: 1)

OK

lhnguyen@nguyenP51U16:~$ sudo apt update

Hit:1 http://fr.archive.ubuntu.com/ubuntu xenial InRelease

Ign:2 http://dl.google.com/linux/chrome/deb stable InRelease

Get:3 http://security.ubuntu.com/ubuntu xenial-security InRelease [107 kB]

Hit:4 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial InRelease

Get:5 http://fr.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]

Hit:6 http://dl.google.com/linux/chrome/deb stable Release

Hit:7 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial InRelease

Get:9 http://fr.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]

Get:10 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [884 kB]

Hit:11 http://packages.osrfoundation.org/gazebo/ubuntu-stable xenial InRelease

Get:12 https://desktop-download.mendeley.com/download/apt stable InRelease [2 456 B]

Hit:13 https://download.sublimetext.com apt/stable/ InRelease

Hit:14 http://packages.ros.org/ros/ubuntu xenial InRelease

Get:15 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main i386 Packages [786 kB]

Get:16 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 DEP-11 Metadata [320 kB]

Get:17 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main DEP-11 64x64 Icons [225 kB]

Get:18 http://fr.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 Packages [707 kB]

Get:19 http://fr.archive.ubuntu.com/ubuntu xenial-updates/universe i386 Packages [649 kB]

Get:20 http://fr.archive.ubuntu.com/ubuntu xenial-updates/universe amd64 DEP-11 Metadata [248 kB]

Get:21 http://fr.archive.ubuntu.com/ubuntu xenial-updates/universe DEP-11 64x64 Icons [337 kB]

Get:22 http://fr.archive.ubuntu.com/ubuntu xenial-updates/multiverse amd64 DEP-11 Metadata [5 964 B]

Get:23 http://fr.archive.ubuntu.com/ubuntu xenial-updates/multiverse DEP-11 64x64 Icons [14,3 kB]

Get:24 http://fr.archive.ubuntu.com/ubuntu xenial-backports/main amd64 DEP-11 Metadata [3 328 B]

Get:25 http://fr.archive.ubuntu.com/ubuntu xenial-backports/universe amd64 DEP-11 Metadata [5 104 B]

Fetched 4 509 kB in 4s (1 096 kB/s)

AppStream cache update completed, but some metadata was ignored due to errors.

Reading package lists... Done

Building dependency tree

Reading state information... Done

261 packages can be upgraded. Run 'apt list --upgradable' to see them.

lhnguyen@nguyenP51U16:~$ lsmod | grep nvidia

lhnguyen@nguyenP51U16:~$ sudo apt install nvidia-410

Reading package lists... Done

Building dependency tree

Reading state information... Done

The following packages were automatically installed and are no longer required:

linux-headers-4.13.0-38 linux-headers-4.13.0-38-generic linux-headers-4.13.0-45 linux-headers-4.13.0-45-generic linux-headers-4.15.0-24

linux-headers-4.15.0-24-generic linux-headers-4.15.0-29 linux-headers-4.15.0-29-generic linux-headers-4.15.0-32 linux-headers-4.15.0-32-generic

linux-headers-4.15.0-34 linux-headers-4.15.0-34-generic linux-image-4.13.0-38-generic linux-image-4.13.0-45-generic linux-image-4.15.0-24-generic

linux-image-4.15.0-29-generic linux-image-4.15.0-32-generic linux-image-4.15.0-34-generic linux-image-extra-4.13.0-38-generic

linux-image-extra-4.13.0-45-generic linux-modules-4.15.0-24-generic linux-modules-4.15.0-29-generic linux-modules-4.15.0-32-generic

linux-modules-4.15.0-34-generic linux-modules-extra-4.15.0-24-generic linux-modules-extra-4.15.0-29-generic linux-modules-extra-4.15.0-32-generic

linux-modules-extra-4.15.0-34-generic linux-signed-image-4.13.0-38-generic linux-signed-image-4.13.0-45-generic

Use 'sudo apt autoremove' to remove them.

The following additional packages will be installed:

bbswitch-dkms dkms lib32gcc1 libc6-i386 libcuda1-410 libjansson4 libxnvctrl0 nvidia-opencl-icd-410 nvidia-prime nvidia-settings

screen-resolution-extra xserver-common xserver-xorg-legacy

Suggested packages:

bumblebee

The following NEW packages will be installed:

bbswitch-dkms dkms lib32gcc1 libc6-i386 libcuda1-410 libjansson4 libxnvctrl0 nvidia-410 nvidia-opencl-icd-410 nvidia-prime nvidia-settings

screen-resolution-extra xserver-xorg-legacy

The following packages will be upgraded:

xserver-common

1 upgraded, 13 newly installed, 0 to remove and 260 not upgraded.

Need to get 108 MB of archives.

After this operation, 493 MB of additional disk space will be used.

Do you want to continue? [Y/n] Y

Get:1 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 dkms all 2.2.0.3-2ubuntu11.5 [66,3 kB]

Get:2 http://ppa.launchpad.net/ubuntu-toolchain-r/test/ubuntu xenial/main amd64 lib32gcc1 amd64 1:8.1.0-5ubuntu1~16.04 [47,8 kB]

Get:3 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libc6-i386 amd64 2.23-0ubuntu10 [2 336 kB]

Get:4 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 nvidia-410 amd64 410.78-0ubuntu0~gpu16.04.1 [97,0 MB]

Get:5 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 xserver-common all 2:1.18.4-0ubuntu0.8 [27,7 kB]

Get:6 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 xserver-xorg-legacy amd64 2:1.18.4-0ubuntu0.8 [35,9 kB]

Get:7 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 libjansson4 amd64 2.7-3ubuntu0.1 [27,1 kB]

Get:8 http://fr.archive.ubuntu.com/ubuntu xenial/main amd64 bbswitch-dkms amd64 0.8-3ubuntu1 [11,6 kB]

Get:9 http://fr.archive.ubuntu.com/ubuntu xenial/main amd64 nvidia-prime amd64 0.8.2 [11,1 kB]

Get:10 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 screen-resolution-extra all 0.17.1.1~16.04.1 [11,7 kB]

Get:11 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 libcuda1-410 amd64 410.78-0ubuntu0~gpu16.04.1 [3 597 kB]

Get:12 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 libxnvctrl0 amd64 415.18-0ubuntu0~gpu16.04.1 [18,2 kB]

Get:13 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 nvidia-opencl-icd-410 amd64 410.78-0ubuntu0~gpu16.04.1 [3 686 kB]

Get:14 http://ppa.launchpad.net/graphics-drivers/ppa/ubuntu xenial/main amd64 nvidia-settings amd64 415.18-0ubuntu0~gpu16.04.1 [957 kB]

Fetched 108 MB in 3min 6s (578 kB/s)

Preconfiguring packages ...

setting xserver-xorg-legacy/xwrapper/allowed_users from configuration file

Selecting previously unselected package dkms.

(Reading database ... 658994 files and directories currently installed.)

Preparing to unpack .../dkms_2.2.0.3-2ubuntu11.5_all.deb ...

Unpacking dkms (2.2.0.3-2ubuntu11.5) ...

Selecting previously unselected package libc6-i386.

Preparing to unpack .../libc6-i386_2.23-0ubuntu10_amd64.deb ...

Unpacking libc6-i386 (2.23-0ubuntu10) ...

Selecting previously unselected package lib32gcc1.

Preparing to unpack .../lib32gcc1_1%3a8.1.0-5ubuntu1~16.04_amd64.deb ...

Unpacking lib32gcc1 (1:8.1.0-5ubuntu1~16.04) ...

Preparing to unpack .../xserver-common_2%3a1.18.4-0ubuntu0.8_all.deb ...

Unpacking xserver-common (2:1.18.4-0ubuntu0.8) over (2:1.18.4-0ubuntu0.7) ...

Selecting previously unselected package xserver-xorg-legacy.

Preparing to unpack .../xserver-xorg-legacy_2%3a1.18.4-0ubuntu0.8_amd64.deb ...

Unpacking xserver-xorg-legacy (2:1.18.4-0ubuntu0.8) ...

Selecting previously unselected package nvidia-410.

Preparing to unpack .../nvidia-410_410.78-0ubuntu0~gpu16.04.1_amd64.deb ...

Unpacking nvidia-410 (410.78-0ubuntu0~gpu16.04.1) ...

Selecting previously unselected package libcuda1-410.

Preparing to unpack .../libcuda1-410_410.78-0ubuntu0~gpu16.04.1_amd64.deb ...

Unpacking libcuda1-410 (410.78-0ubuntu0~gpu16.04.1) ...

Selecting previously unselected package libjansson4:amd64.

Preparing to unpack .../libjansson4_2.7-3ubuntu0.1_amd64.deb ...

Unpacking libjansson4:amd64 (2.7-3ubuntu0.1) ...

Selecting previously unselected package libxnvctrl0:amd64.

Preparing to unpack .../libxnvctrl0_415.18-0ubuntu0~gpu16.04.1_amd64.deb ...

Unpacking libxnvctrl0:amd64 (415.18-0ubuntu0~gpu16.04.1) ...

Selecting previously unselected package nvidia-opencl-icd-410.

Preparing to unpack .../nvidia-opencl-icd-410_410.78-0ubuntu0~gpu16.04.1_amd64.deb ...

Unpacking nvidia-opencl-icd-410 (410.78-0ubuntu0~gpu16.04.1) ...

Selecting previously unselected package bbswitch-dkms.

Preparing to unpack .../bbswitch-dkms_0.8-3ubuntu1_amd64.deb ...

Unpacking bbswitch-dkms (0.8-3ubuntu1) ...

Selecting previously unselected package nvidia-prime.

Preparing to unpack .../nvidia-prime_0.8.2_amd64.deb ...

Unpacking nvidia-prime (0.8.2) ...

Selecting previously unselected package screen-resolution-extra.

Preparing to unpack .../screen-resolution-extra_0.17.1.1~16.04.1_all.deb ...

Unpacking screen-resolution-extra (0.17.1.1~16.04.1) ...

Selecting previously unselected package nvidia-settings.

Preparing to unpack .../nvidia-settings_415.18-0ubuntu0~gpu16.04.1_amd64.deb ...

Unpacking nvidia-settings (415.18-0ubuntu0~gpu16.04.1) ...

Processing triggers for man-db (2.7.5-1) ...

Processing triggers for libc-bin (2.23-0ubuntu10) ...

Processing triggers for ureadahead (0.100.0-19) ...

ureadahead will be reprofiled on next reboot

Processing triggers for dbus (1.10.6-1ubuntu3.3) ...

Processing triggers for desktop-file-utils (0.22-1ubuntu5.2) ...

Processing triggers for bamfdaemon (0.5.3~bzr0+16.04.20180209-0ubuntu1) ...

Rebuilding /usr/share/applications/bamf-2.index...

Processing triggers for gnome-menus (3.13.3-6ubuntu3.1) ...

Processing triggers for mime-support (3.59ubuntu1) ...

Setting up dkms (2.2.0.3-2ubuntu11.5) ...

Setting up libc6-i386 (2.23-0ubuntu10) ...

Setting up lib32gcc1 (1:8.1.0-5ubuntu1~16.04) ...

Setting up xserver-common (2:1.18.4-0ubuntu0.8) ...

Setting up xserver-xorg-legacy (2:1.18.4-0ubuntu0.8) ...

setting xserver-xorg-legacy/xwrapper/allowed_users from configuration file

Setting up nvidia-410 (410.78-0ubuntu0~gpu16.04.1) ...

update-alternatives: using /usr/lib/nvidia-410/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_GL.conf (x86_64-linux-gnu_gl_conf) in auto mode

update-alternatives: using /usr/lib/nvidia-410/ld.so.conf to provide /etc/ld.so.conf.d/x86_64-linux-gnu_EGL.conf (x86_64-linux-gnu_egl_conf) in auto mode

update-alternatives: using /usr/lib/nvidia-410/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_GL.conf (i386-linux-gnu_gl_conf) in auto mode

update-alternatives: using /usr/lib/nvidia-410/alt_ld.so.conf to provide /etc/ld.so.conf.d/i386-linux-gnu_EGL.conf (i386-linux-gnu_egl_conf) in auto mode

update-alternatives: using /usr/share/nvidia-410/glamor.conf to provide /usr/share/X11/xorg.conf.d/glamoregl.conf (glamor_conf) in auto mode

update-initramfs: deferring update (trigger activated)

INFO:Enable nvidia-410

DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/dell_latitude

DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/put_your_quirks_here

DEBUG:Parsing /usr/share/ubuntu-drivers-common/quirks/lenovo_thinkpad

Adding system user `nvidia-persistenced' (UID 122) ...

Adding new group `nvidia-persistenced' (GID 129) ...

Adding new user `nvidia-persistenced' (UID 122) with group `nvidia-persistenced' ...

Not creating home directory `/'.

Loading new nvidia-410-410.78 DKMS files...

First Installation: checking all kernels...

Building only for 4.15.0-39-generic

Building for architecture x86_64

Building initial module for 4.15.0-39-generic

Done.

nvidia_410:

Running module version sanity check.

  • Original module

    • No original module exists within this kernel

  • Installation

    • Installing to /lib/modules/4.15.0-39-generic/updates/dkms/

nvidia_410_modeset.ko:

Running module version sanity check.

  • Original module

    • No original module exists within this kernel

  • Installation

    • Installing to /lib/modules/4.15.0-39-generic/updates/dkms/

nvidia_410_drm.ko:

Running module version sanity check.

  • Original module

    • No original module exists within this kernel

  • Installation

    • Installing to /lib/modules/4.15.0-39-generic/updates/dkms/

nvidia_410_uvm.ko:

Running module version sanity check.

  • Original module

    • No original module exists within this kernel

  • Installation

    • Installing to /lib/modules/4.15.0-39-generic/updates/dkms/

depmod....

DKMS: install completed.

Setting up libcuda1-410 (410.78-0ubuntu0~gpu16.04.1) ...

Setting up libjansson4:amd64 (2.7-3ubuntu0.1) ...

Setting up libxnvctrl0:amd64 (415.18-0ubuntu0~gpu16.04.1) ...

Setting up nvidia-opencl-icd-410 (410.78-0ubuntu0~gpu16.04.1) ...

Setting up bbswitch-dkms (0.8-3ubuntu1) ...

Loading new bbswitch-0.8 DKMS files...

First Installation: checking all kernels...

Building only for 4.15.0-39-generic

Building initial module for 4.15.0-39-generic

Done.

bbswitch:

Running module version sanity check.

  • Original module

    • No original module exists within this kernel

  • Installation

    • Installing to /lib/modules/4.15.0-39-generic/updates/dkms/

depmod....

DKMS: install completed.

Setting up nvidia-prime (0.8.2) ...

Setting up screen-resolution-extra (0.17.1.1~16.04.1) ...

Setting up nvidia-settings (415.18-0ubuntu0~gpu16.04.1) ...

Processing triggers for libc-bin (2.23-0ubuntu10) ...

Processing triggers for initramfs-tools (0.122ubuntu8.11) ...

update-initramfs: Generating /boot/initrd.img-4.15.0-39-generic

Processing triggers for shim-signed (1.33.1~16.04.1+13-0ubuntu2) ...

Secure Boot not enabled on this system.

Processing triggers for ureadahead (0.100.0-19) ...

Processing triggers for dbus (1.10.6-1ubuntu3.3) ...

lhnguyen@nguyenP51U16:~$ lsmod | grep nvidia

Last updated