How to Install Nvidia 352.21 in Ubuntu 15.04/14.04

June 17, 2015 — 9 Comments


NVIDIA driver 352.21 for Linux has been released recently with new GPUs support and numerous bug fixes. Here’s how to install it in Ubuntu 15.04, Ubuntu 14.04 and their derivatives via PPA.

Nvidia 352.21 release highlights:

  • Added support for the following GPUs:
    • GeForce 720A
    • GeForce 920A
    • GeForce 930A
    • GeForce 940A
    • GeForce GTX 950A
    • GeForce GTX 980 Ti
  • Fixed a bug that caused the Display Configuration page of the nvidia-settings control panel to automatically generate layouts with multiple displays occupying the same position when enabling or disabling Base Mosaic.
  • Updated nvidia-settings to allow the use of the standard Display Configuration page when SLI Mosaic is enabled.
  • Fixed a bug that caused the kernel to report errors when unmapping DMA allocations on kernels with CONFIG_DEBUG_DMA_API enabled.
  • Added GLX Protocol support for the following OpenGL extensions:
    • GL_ARB_copy_buffer
    • GL_ARB_texture_buffer_object
  • Fixed a bug that caused a kernel crash if SLI Mosaic and G-SYNC were used at the same time on a configuration with more display devices connected to one GPU than another.
  • Added the ability to configure the swapping behavior for quad-buffered stereo visuals. The driver can be configured to independently swap each eye as it becomes ready, to wait for both eyes to complete rendering before swapping, or to allow applications to specify which of these two behaviors is preferred by setting the swap interval. This setting can be adjusted in the nvidia-settings control panel, or via the NV-CONTROL API.
  • Fixed a regression which caused the GPU fan status display to disappear from the nvidia-settings control panel.
  • Added reporting of ECC error counts to the nvidia-settings control panel.
  • Fixed a bug that sometimes prevented OpenGL sampler objects from being properly deallocated when destroying OpenGL contexts.
  • Fixed a bug that caused GLX_EXT_framebuffer_sRGB to incorrectly report sRGB support in 30 bit-per-pixel framebuffer configurations.
  • Added support for G-SYNC with sync-to-vblank disabled. This allows applications to use G-SYNC to eliminate tearing for frame rates below the monitor’s maximum refresh rate but allow tearing above the maximum refresh rate in order to minimize latency.
  • When G-SYNC is active and sync-to-vblank is enabled, the frame rate is limited to the monitor’s maximum refresh rate.
  • GLSL gl_Fog.scale is now +infinity when gl_Fog.end equals gl_Fog.start. Previously, the value 0 was used, but this broke certain applications such as the game XIII running on Wine (Wine bug #37068).
  • Enabled G-SYNC by default when Unified Back Buffer (UBB) is disabled.
  • Updated the NVIDIA GPU driver to avoid using video memory already in use by vesafb.
  • Fixed a bug in nvidia-settings that caused the application to crash when saving the EDID to a file.
  • Fixed a bug that prevented the “mkprecompiled” utility included in the driver package from reading files correctly.
  • Fixed a bug that could cause an Xid error when terminating a video playback application using the overlay presentation queue in VDPAU.
  • Updated nvidia-installer to avoid recursing too deeply into kernel source trees under /usr/lib/modules, mirroring an existing restriction on recursion under /lib/modules.
  • Fixed a rare deadlock condition when running applications that use OpenGL in multiple threads on a Quadro GPU.
  • Fixed a kernel memory leak that occurred when looping hardware- accelerated video decoding with VDPAU on Maxwell-based GPUs.
  • Fixed a bug that caused the X server to crash if a RandR 1.4 output provided by a Sink Output provider was selected as the primary output on X.Org xserver 1.17 and higher.
  • Fixed a bug that caused waiting on X Sync Fence objects in OpenGL to hang indefinitely in some cases.
  • Fixed a bug that prevented OpenGL from properly recovering from hardware errors or sync object waits that had timed out.

Install NVIDIA 352.21 via PPA:

NOTE: If you’re just looking for a working driver for your graphics card, the default Nvidia package in Ubuntu repository may interact better with the rest of your distribution’s framework.

Open terminal from the Dash, Application Menu, or by pressing Ctrl+Alt+T on keyboard. When it opens, run below commands one by one to add the PPA, and install the driver:

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

sudo apt-get update

sudo apt-get install nvidia-352 nvidia-settings

I'm a freelance blogger who started using Ubuntu 5+ years ago and wishes to share my experiences and some useful tips with Ubuntu beginners and lovers. Please notify me if you find any typo/grammar/language mistakes. English is not my native language. Contact me on Google Plus or email to

9 responses to How to Install Nvidia 352.21 in Ubuntu 15.04/14.04

  1. will this work if i am having intel and nvidia installed.

  2. … and ..
    apt-get install nvidia-352-uvm

  3. Doing this still doesn’t recognize my 980Ti within Ubuntu 15.

  4. I have just installed 352.30 on my home desktop, but I did so remotely using:

    ssh myhomedesktop
    sudo service lightdm stop
    chmod +x ./
    sudo ./

    Can’t wait to get home to see if some of the annoying little glitches have been fixed (I’ve been running 346.35 for ages).

  5. did not work at all. my system converts to the nouveau open source drive if I follow your instructions. I guess I will have to try installing the .run download.

    • tried using the .run from nvidia but that screwed up my system so I had to reinstall some packages to get everything working again. tried your steps again and the packages are available in Synaptic and I can install them but when I go into additional drivers it says i am using the nouveau driver and 352.21 is not listed as an option so apparently this does not work then?

  6. Successful with Ubuntu 14.04.4 and 3 monitors.

    Thank you.

Leave a Reply


Text formatting is available via select HTML.

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>