Install Nvidia Linux Display Driver 358.16 on Ubuntu 16.04, 15.10, 15.04, 14.04 and Linux Mint 17 derivative system


Nvidia Linux Display Driver 358.16 is released, you can install on Ubuntu 16.04 Xenial Xerus, Ubuntu 15.10 Wily Werewolf, Ubuntu 15.04 vivid Vervet, ubuntu 14.10 Utopic Unicorn, Ubuntu 14.04 Trusty Tahr (LTS), Ubuntu 13.10/13.04/12.04, Linux Mint 17.1 Rebecca, Linux Mint 17 Qiana, Linux Mint 13 Maya, Pinguy OS 14.04, Elementary OS 0.3 Freya, Elementary OS 0.2 Luna, Peppermint Five, Deepin 2014, LXLE 14.04, Linux Lite 2.0, Linux Lite 2.2 and other Ubuntu derivative systems

Nvidia Linux Display Driver is a proprietary OpenGL video driver that tries to bring support for the graphics cards produced by Nvidia on Linux-based operating systems. This version supports only the 32-bit architecture. For 64-bit support, see this link. Even if it provides a settings panel, the Nvidia Linux Display Driver is not an application. It is a hardware driver, which provides some instructions that tell an operating system how to use a piece of hardware.

Before installing check if your card is in the compatibility list at the end of the post are the installation instructions!

GeForce 900 Series:
GeForce GTX TITAN X, GeForce GTX 980 Ti, GeForce GTX 980, GeForce GTX 970, GeForce GTX 960, GeForce GTX 950

GeForce 900M Series (Notebooks):
GeForce GTX 980, GeForce GTX 980M, GeForce GTX 970M, GeForce GTX 965M, GeForce GTX 960M, GeForce GTX 950M, GeForce 945M, GeForce 940M, GeForce 930M, GeForce 920M, GeForce 910M

GeForce 800M Series (Notebooks):
GeForce GTX 880M, GeForce GTX 870M, GeForce GTX 860M, GeForce GTX 850M, GeForce 840M, GeForce 830M, GeForce 820M, GeForce 810M

GeForce 700 Series:
GeForce GTX TITAN Z, GeForce GTX TITAN Black, GeForce GTX TITAN, GeForce GTX 780 Ti, GeForce GTX 780, GeForce GTX 770, GeForce GTX 760, GeForce GTX 760 Ti (OEM), GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, GeForce GT 740, GeForce GT 730, GeForce GT 720, GeForce GT 710, GeForce GT 705

GeForce 700M Series (Notebooks):
GeForce GTX 780M, GeForce GTX 770M, GeForce GTX 765M, GeForce GTX 760M, GeForce GT 755M, GeForce GT 750M, GeForce GT 745M, GeForce GT 740M, GeForce GT 735M, GeForce GT 730M, GeForce GT 720M, GeForce 710M

GeForce 600 Series:
GeForce GTX 690, GeForce GTX 680, GeForce GTX 670, GeForce GTX 660 Ti, GeForce GTX 660, GeForce GTX 650 Ti BOOST, GeForce GTX 650 Ti, GeForce GTX 650, GeForce GTX 645, GeForce GT 645, GeForce GT 640, GeForce GT 630, GeForce GT 620, GeForce GT 610, GeForce 605

GeForce 600M Series (Notebooks):
GeForce GTX 680MX, GeForce GTX 680M, GeForce GTX 675MX, GeForce GTX 675M, GeForce GTX 670MX, GeForce GTX 670M, GeForce GTX 660M, GeForce GT 650M, GeForce GT 645M, GeForce GT 640M, GeForce GT 640M LE, GeForce GT 635M, GeForce GT 630M, GeForce GT 625M, GeForce GT 620M, GeForce 610M

GeForce 500 Series:
GeForce GTX 590, GeForce GTX 580, GeForce GTX 570, GeForce GTX 560 Ti, GeForce GTX 560 SE, GeForce GTX 560, GeForce GTX 555, GeForce GTX 550 Ti, GeForce GT 545, GeForce GT 530, GeForce GT 520, GeForce 510

GeForce 500M Series (Notebooks):
GeForce GTX 580M, GeForce GTX 570M, GeForce GTX 560M, GeForce GT 555M, GeForce GT 550M, GeForce GT 540M, GeForce GT 525M, GeForce GT 520M, GeForce GT 520MX

GeForce 400 Series:
GeForce GTX 480, GeForce GTX 470, GeForce GTX 465, GeForce GTX 460 SE v2, GeForce GTX 460 SE, GeForce GTX 460, GeForce GTS 450, GeForce GT 440, GeForce GT 430, GeForce GT 420

GeForce 400M Series (Notebooks):
GeForce GTX 485M, GeForce GTX 480M, GeForce GTX 470M, GeForce GTX 460M, GeForce GT 445M, GeForce GT 435M, GeForce GT 425M, GeForce GT 420M, GeForce GT 415M, GeForce 410M, GeForce 405M

Quadro Series:
Quadro M6000, Quadro M5000, Quadro M4000, Quadro K6000, Quadro K5200, Quadro K5000, Quadro K4000, Quadro K4200, Quadro K2200, Quadro K2000, Quadro K2000D, Quadro K1200, Quadro K620, Quadro K600, Quadro K420, Quadro 6000, Quadro 5000, Quadro 4000, Quadro 2000, Quadro 2000D, Quadro 600, Quadro 410

Quadro Series (Notebooks):
Quadro M5000M, Quadro M4000M, Quadro M3000M, Quadro M2000M, Quadro M1000M, Quadro M600M, Quadro K5100M, Quadro K5000M, Quadro K4100M, Quadro K4000M, Quadro K3100M, Quadro K2200M, Quadro K2100M, Quadro K3000M, Quadro K2000M, Quadro K1100M, Quadro K1000M, Quadro K620M, Quadro K610M, Quadro K510M, Quadro K500M, Quadro 5010M, Quadro 5000M, Quadro 4000M, Quadro 3000M, Quadro 2000M, Quadro 1000M

Quadro NVS Series:
NVS 510, NVS 315, NVS 310

Quadro NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 4200M

Quadro Plex Series:
Quadro Plex 7000

Quadro Sync Series:
Quadro Sync, Quadro G-Sync II

Quadro SDI:
Quadro SDI

GRID Series:
GRID K2, GRID K520, GRID K1, GRID K340

NVS Series:
NVS 810, NVS 510, NVS 315, NVS 310

NVS Series (Notebooks):
NVS 5400M, NVS 5200M, NVS 4200M


What New on Nvidia Linux Display Driver 358.16 :

  • Fixed a regression, introduced in 358.09, that caused incorrect rendering of OpenGL stereo applications in combination with Quadro Sync on certain GPUs.
  • Fixed a regression, introduced in 358.09, that caused OpenGL stereo applications to hang when SLI AFR, SFR, or SLIAA modes were enabled.
  • Fixed a regression, introduced in 358.09, that caused the system to hang while launching OpenGL applications when some SLI Mosaic topologies were in use.
  • Fixed a bug that could cause some G-SYNC monitors to flicker on Kepler-based GPUs when running at low frame rates.
  • Fixed a regression that could cause OpenGL or VDPAU applications to hang in Xinerama layouts which include multiple X screens that are driven by the same GPU.
  • Added a fallback to allow GLX to function when UNIX domain socket communication is blocked between NVIDIA client-side GLX and NVIDIA server-side GLX. For example, the default SELinux policy on Fedora 22 prevents the NVIDIA 358.09 GLX driver from working in GDM3:

  • Fixed a bug that could cause nvidia-installer to crash when installing from a driver package that has had precompiled kernel interfaces added to it (e.g., by using the "--add-this-kernel" option).
    • Fixed a regression from 358.09 that caused G-SYNC monitors configured to use 3D Vision stereo to go blank and report an unsupported signal.
    • Fixed a regression from 358.09 that caused OpenGL applications that failed to negotiate permission to perform glXSwapBuffers via flipping to stop updating the screen.  This was triggered on Fedora 22 where the SELinux system policy prevents gnome-shell from communicating with the X server.

    • Now, OpenGL applications that fail to negotiate flipping will fall back to glXSwapBuffers via blitting.

    • See https://bugzilla.redhat.com/show_bug.cgi?id=1271401 for more details.

    • Fixed a regression that reduced OpenGL performance on headless X server configurations.
    • Fixed a memory leak that occurred after destroying a GLXWindow which still has the current context attached to it.
    • Fixed a bug which caused EGL pbuffers to be created with both a front and back buffer, instead of a back buffer only, as is required for EGL.
    • Added a new kernel module, nvidia-modeset.ko.  This new driver component works in conjunction with the nvidia.ko kernel module to program the display engine of the GPU.

    • nvidia-modeset.ko does not provide any new user-visible functionality or interfaces to third party applications.  However, in a later release, nvidia-modeset.ko will be used as a basis for the modesetting interface provided by the kernel's direct rendering manager (DRM).

    • Reduced flickering and delays when transitioning into or out of G-SYNC mode.  As part of this change, monitors that have G-SYNC indicators in their on-screen displays will now always report that they are in G-SYNC mode.  The OpenGL G-SYNC visual indicator can be enabled in nvidia-settings to determine when G-SYNC is actually being used.
    • GLX protocol for the following OpenGL extension from OpenGL 3.0 has been promoted from unofficial to ARB approved official status:

    • GL_EXT_draw_buffers2

    • GLX protocol for the following OpenGL 3.0 commands:

    • BindBufferRangeNV
    • BindBufferBaseNV
    • BeginTransformFeedbackNV
    • EndTransformFeedbackNV
    • GetTransformFeedbackVaryingEXT
    • TransformFeedbackVaryingsEXT
    • which are part of the following extensions:

    • GL_NV_transform_feedback
    • GL_EXT_transform_feedback

    • has been promoted from unofficial to ARB approved official status.

    • With the above changes, GLX protocol for OpenGL 3.0 has been promoted from unofficial to ARB approved official status.

    • Added a new system memory allocation mechanism for large allocations in the OpenGL driver.  This mechanism allows unmapping the allocation from the process when it is not in use, making more virtual address space available to the application.  It is enabled by default on 32 bit OpenGL applications with Linux 3.11+ and glibc 2.19+.  Memory allocated this way will consume space in /dev/shm. Setting the environment variable __GL_DevShmPageableAllocations to 2 will disable this feature
    • Added support for OpenGL 4.3.
    • Added support for X.Org xserver ABI 20 (xorg-server 1.18).

    Install Nvidia Linux Display Driver 358.16 on Ubuntu and Linux Mint  derivative system

    To install Nvidia Linux Display Driver 358.16 on Ubuntu 16.04 Xenial Xerus, Ubuntu 15.10 Wily Werewolf, Ubuntu 15.04 vivid Vervet, ubuntu 14.10 Utopic Unicorn, Ubuntu 14.04 Trusty Tahr (LTS), Ubuntu 13.10/13.04/12.04, Linux Mint 17.1 Rebecca, Linux Mint 17 Qiana, Linux Mint 13 Maya, Pinguy OS 14.04, Elementary OS 0.3 Freya, Elementary OS 0.2 Luna, Peppermint Five, Deepin 2014, LXLE 14.04, Linux Lite 2.0, Linux Lite 2.2 and other Ubuntu derivative systems, open a new Terminal window and bash (get it?) in the following commands:

    For 32 bit :
    $ wget -c http://us.download.nvidia.com/XFree86/Linux-x86/358.16/NVIDIA-Linux-x86-358.16.run

    For 64 bit :
    $ wget -c http://us.download.nvidia.com/XFree86/Linux-x86_64/358.16/NVIDIA-Linux-x86_64-358.16.run

    set permission file :
    $ sudo chmod +x NVIDIA-Linux-*-358.16.run

    Kill Process for Gnome, KDE and other Desktop :
    $ sudo /etc/init.d/kdm stop
    $ sudo /etc/init.d/gdm stop
    $ sudo /etc/init.d/lightdm stop
    $ sudo /etc/init.d/mdm stop

    Run for Install :
    $ sudo ./NVIDIA-Linux-*-358.16.run