The Nvidia driver for Linux has reached the 370 series by releasing the 370.23 beta driver. TITAN X (Pascal) and GTX 1060 6GB are officially supported. Over- and under-clock GPUs feature added for GTX 1000 series and later.
Nvidia 370.23 also brings the “PixelShiftMode” MetaMode option, enabling support for 4K and 8K pixel shift displays.
Other changes include:
a Vulkan bug fix revolving around X11 swap chains
fix a mode-setting regression from 367.35
fix OpennGL / OpenGL ES driver crash and CUDA device querying crash
enable persistence mode by default for all GPUs when the daemon is started
How to install Nvidia 370.23 in Ubuntu 16.04, 14.04:
The Graphics Driver Team has made the new 370 driver series into PPA, available for Ubuntu 16.04, Ubuntu 14.04, Ubuntu 12.04, and also the next Ubuntu 16.10.
1. Open terminal (Ctrl+Alt+T) and run command to add PPA:
sudo add-apt-repository ppa:graphics-drivers/ppa
Type in password when it asks and hit Enter.
2. Update system package index via:
sudo apt update
3. Finally launch Additional Drivers utility, select the nvidia-370 driver and click Apply changes.
After installing the new driver, restart your computer to take effect.
support for X.Org xserver ABI 19 (xorg-server 1.17)
support for decoding VP8 video streams using the NVCUVID API on GPUs with VP8 hardware decode support.
new EGL extensions support: EGL_EXT_device_base, EGL_EXT_platform_device, EGL_EXT_output_base
support for NVENC on GeForce GPUs.
the ability to increase the operating voltage on certain GeForce GPUs in the GeForce GTX 400 series and later. Voltage adjustments are done at the user’s own risk.
accelerated support for r8g8b8a8, r8g8b8x8, b8g8r8a8 and b8g8r8x8 RENDER formats.
support in nvidia-settings for a GTK+ 3 user interface on x86 and x86_64.
added the nvidia-settings option –use-gtk2 to force the use of the GTK+ 2 UI library
There are also numerous fixes and improvements, see the release highlight.
How to Install NVIDIA 346.35 in Ubuntu:
Before the xorg-edgers PPA updates for this driver, you can download & install the official NVIDIA package by following below steps:
1. Select download the official installer from links below:
32-bit or 64-bit? Check your OS type by going to top-right corner shutdown menu (gear button) and clicking ‘About This Computer’
2. To be able to install the new driver, you have to remove the previous driver by running below command in a terminal window (Open terminal from the Dash or by pressing Ctrl+Alt+T on keyboard):
blacklist nouveau
blacklist lbm-nouveau
options nouveau modeset=0
alias nouveau off
alias lbm-nouveau off
4. You can also disable the Kernel Nouveau by running below commands one by one:
echo options nouveau modeset=0 | sudo tee -a /etc/modprobe.d/nouveau-kms.conf
sudo update-initramfs -u
5. Finally reboot your computer and when you’re at the login prompt press Ctrl+Alt+F1 (or F2 ~ F6) to switch to command console. Login with your username and password.
6. When you’re at the black & white text console, the graphics session is still there and you can switch back by pressing Ctrl+Alt+F7. You have to kill the graphics session by running below command:
sudo stop lightdm
Replace lightdm with gdm, mdm, or kdm for GNOME, Linux Mint, or KUbuntu.
7. At last give permission to the downloaded package and run it:
cd ~/Downloads && chmod +x NVIDIA-Linux-*-346.35.run && sudo sh NVIDIA-Linux-*-346.35.run
Follow the on screen prompts and when everything’s done reboot your computer. In next boot after log in, run sudo nvidia-xconfig to save your new nvidia configuration.
(Optional) To remove the driver, re-do step 5 & 6 and run:
cd ~/Downloads && sudo sh NVIDIA-Linux-*-346.35.run --uninstall
NVIDIA has announced the 340.65 release of its Linux graphics driver (long lived branch version) with latest Kernel (3.18) support and various bug fixes.
Added support for X.Org xserver ABI 19 (xorg-server 1.17).
Improved compatibility with recent Linux kernels.
Fixed a bug that prevented internal 4K panels on some laptops from being driven at a sufficient bandwidth to support their native resolutions.
Fixed a regression that prevented the NVIDIA kernel module from loading in some virtualized environments such as Amazon Web Services.
Fixed a regression that caused displays to be detected incorrectly on some notebook systems.
Fixed a bug that could cause X to freeze when using Base Mosaic.
Fixed a regression that prevented the NVIDIA X driver from recognizing Base Mosaic layouts generated by the nvidia-settings control panel.
Install / Upgrade NVIDIA Driver in Ubuntu:
If you’re running with NVIDIA’s proprietary driver in Ubuntu, you can upgrade to this driver release by following below steps:
1. Press Ctrl+Alt+T to open terminal. When it opens, run the command below to add the xorg-edgers fresh X crack PPA repository:
sudo add-apt-repository -y ppa:xorg-edgers/ppa
Type in your user password when it asks.
2. After added the PPA, refresh your system cache via command:
sudo apt-get update
3. Finally install the 340.65 driver:
sudo apt-get install nvidia-340
The repository also provides the NVIDIA 343 driver (short lived branch version) and NVIDIA 346 driver (still in beta). If need, you can replace nvidia-340 in the previous code with nvidia-343 or nvidia-346 to install the driver.
While Nvidia’s Linux Graphics Driver 346 series is still in beta, the latest 343.36 stable driver has been released this Friday, which brings support for the latest Linux kernels (up through Linux 3.18), various bug fixes (including an Unreal Engine 4 fix), support for disabling indirect GLX, and more.
Release Highlight in Nvidia Graphics Driver 343.36:
Added support for X.Org xserver ABI 19 (xorg-server 1.17).
Improved compatibility with recent Linux kernels.
Fixed a bug that rendered very bright garbage data onto some textures in UnrealEngine 4 applications. This issue is known as the “disco bug” by the UnrealEngine 4 Linux community.
Added option UseSysmemPixmapAccel to control the use of GPU acceleration for X drawing operations on pixmaps allocated in system memory.
Fixed a regression that prevented the NVIDIA X driver from recognizing Base Mosaic layouts generated by the nvidia-settings control panel.
Fixed a bug that could cause VT-switching to fail following a suspend, resume, and driver reload sequence.
Fixed a bug that caused incorrect colors to be displayed on X screens running at depth 8 on some GPUs.
Fixed a bug that prevented GPUs from being correctly recognized in MetaMode strings when identified by UUID.
Implemented support for disabling indirect GLX context creation using the -iglx option available on X.Org server release 1.16 and newer. Note that future X.Org server releases may make the -iglx option the default. To re-enable support for indirect GLX on such servers, use the +iglx option.
Added the “AllowIndirectGLXProtocol” X config option. This option can be used to disallow use of GLX protocol. See “Appendix B. X Config Options” in the README for more details.
Fixed a crash with UnrealEngine 4 when the application was started with the -opengl4 commandline switch.
Fixed an OpenGL issue that could cause glReadPixels() operations to be improperly clipped when resizing composited application windows, potentially leading to momentary X freezes.
Fixed a bug that could prevent the GLSL compiler from correctly evaluating some expressions when compiling shaders.
Fixed a bug that could cause nvidia-installer to crash while attempting to run nvidia-xconfig on systems where that utility is missing.
Fixed a bug that could prevent 32-bit GPU-based applications from running correctly on 64-bit systems when using GPUs with very large memory-mapped I/O regions.
Fixed a bug that could cause the CUDA debugger to fail after exiting X on systems with persistence mode enabled.
Fixed a bug that could cause silent and intermittent failures when a CUDA application writes to a peer device’s memory with GPUDirect.
Updated nvidia-installer to avoid writing to non-zero offsets of sysctl files in /proc/sys/kernel.
How to Install / Upgrade to Nvidia 343.36 Driver in Ubuntu:
To make the installation easy, you can install/upgrade the driver from PPA. But at the moment of writing this tutorial, the PPA does not yet update with the 346.36 binaries.
Check out the package version of “nvidia-graphics-drivers-343” from the PPA page below:
2. IMPORTANT: You have to switch to the black & white text console (press Ctrl+Alt+F1 ~ F6), then log in with current username & password.
3. When you’re in the text console, run the command below to stop the graphics session (The graphics session is still there, and you can press Ctrl+Alt+F7 to switch back).
sudo service lightdm stop
Replace lightdm with gdm or mdm in the code if you’re running with Gnome GDM or Linux Mint’s MDM display manager.
4. Once the graphics session is closed, you are able to run the downloaded package by running the commands below:
cd ~/Downloads/
chmod +x NVIDIA-Linux-*-343.36.run
sudo sh NVIDIA-Linux-*-343.36.run
Above commands will navigate current directory to /Downloads/, then give executable permission to the 346.36 driver package, and finally run the installer.
5. After the last command, follow the onscreen prompt until done. Finally restart your computer.
(Optional) To uninstall the 346.36 driver, get into the text console and run:
sudo sh ~/Downloads/NVIDIA-Linux-*-343.36.run --uninstall
NVIDIA recently introduced the 346.xx graphics driver series for Linux with the release of the 346.16 beta driver. Xorg-Edgers PPA has made the binary packages available for Ubuntu 14.10 and Ubuntu 14.04
According to the release highlights, the new driver added below new features:
Added support for GeForce GTX 970M and GeForce GTX 980M GPUs.
Added support for decoding VP8 video streams using the NVCUVID API on GPUs with VP8 hardware decode support.
Added the ability to increase the operating voltage on certain GeForce GPUs in the GeForce GTX 400 series and later. Voltage adjustments are done at the user’s own risk.
Added accelerated support for r8g8b8a8, r8g8b8x8, b8g8r8a8 and b8g8r8x8 RENDER formats.
Added support for the EGL_EXT_device_base, EGL_EXT_platform_device, and EGL_EXT_output_base extensions.
Added support in nvidia-settings for GTK+3 UI, an option --use-gtk2 available to force the use of GTK+2 library.
Support for the latest Linux Kernel 3.17 / 3.18 series.
Performance improvements and various bug fixes.
For more changes and supported products, see the Nvidia page.
How to Install Nvidia 346.16 in Ubuntu:
Besides using the official installer package, you can install the new driver in Ubuntu 14.10, Ubuntu 14.04, or Linux Mint 17 from the xorg-edgers fresh X crack ppa.
1. Press Ctrl+Alt+T on keyboard to open terminal. When it opens, paste the command below and hit run to add the PPA:
sudo add-apt-repository -y ppa:xorg-edgers/ppa
2. Update the package lists and install the new driver:
Nvidia has just announced the short lived branch driver 334.21 for Linux. This driver added support for the new GeForce GTX 750 Ti, GeForce GTX 750, GeForce GTX 745, and GeForce GTX TITAN Black.
Besides that, Nvidia 334.21 brings quite a few bug fixes, the first in the list is for a regression in the NVIDIA kernel module which caused it to improperly dereference a userspace pointer. This potential security issue was initially reported on the grsecurity forums. Check out the changelog for a complete list of fixes and improvements.
Install Nvidia 334.21:
1. To get started, press Ctrl+Alt+T on your keyboard to open the terminal. When it opens, run the commands below to remove the previous driver:
4. Press Ctrl+Alt+F1 key combination on your keyboard to switch to command console and login.
5. Stop the graphic session with the appropriate command below:
sudo service lightdm stop ## For the default LightDM
sudo service gdm stop ## For the Gnome GDM
sudo service mdm stop ## For the Linux Mint default MDM
6. Now give executable permission and start the installer, and finally follow the on-screen instructions to complete the process.
chmod +x ~/Downloads/NVIDIA-Linux-*-334.21.run && sudo sh ~/Downloads/NVIDIA-Linux-*-334.21.run
Tips: You may keep the installer file so that you can remove this driver via below command if for some reason this driver does not work properly:
sudo sh ~/Downloads/NVIDIA-Linux-*-334.21.run --uninstall
The latest Nvidia Driver for Linux 331.49 has been released on February 18. This tutorial will show you how to install the new driver in Ubuntu 14.04, Ubuntu 13.10 and Ubuntu 12.04.
Nvidia 331.49 is a small release which brings a few bug fixes and 2 GPUs support. See the changelog:
Added support for the following GPUs:
GeForce GT 710
GeForce 825M
Fixed a regression that prevented nvidia-installer from cleaning up directories created as part of the driver installation.
Added a new X configuration option “InbandStereoSignaling” to enable/disable DisplayPort in-band stereo signaling. See “Appendix B. X Config Options” in the README for more information.
Fixed a bug that caused PBO downloads of cube map faces to retrieve incorrect data.
Fixed a bug in nvidia-installer that resulted in spurious error messages when opting out of installing the NVIDIA kernel module or source files for the kernel module.
Added experimental support for ARGB GLX visuals when Xinerama and Composite are enabled at the same time on X.Org xserver 1.15.
Install Nvidia 331.49:
1. Press Ctrl+Alt+T on keyboard to open the terminal. When it opens, uninstall the previous driver by running the below commands:
4. Press Ctrl+Alt+F1 to switch to command console and login.
5. Stop the graphic session with the appropriate command below:
sudo service lightdm stop ## For the default LightDM
sudo service gdm stop ## For the Gnome GDM
sudo service mdm stop ## For the Linux Mint default MDM
6. Now give execute permission and start the installer, and follow the on-screen instructions to complete the process.
chmod +x NVIDIA-Linux-*-331.49.run && sudo sh ~/Downloads/NVIDIA-Linux-*-331.49.run
Tips: You may keep the installer file so that you can remove this driver via below command if for some reason this driver does not work properly:
sudo sh ~/Downloads/NVIDIA-Linux-*-331.49.run --uninstall
Nvidia Driver for Linux 331.38 has been released on January 13 with OpenGL promotion, bug fixes and other improvements. Here’s how to install it in Ubuntu 14.04, Ubuntu 13.10, Ubuntu 12.04 and Linux Mint.
Before getting started, let’s take a look at what’s new in Nvidia 331.38:
Fixed a bug that caused the X server to crash if video memory is exhausted and the GPU does not support rendering to system memory.
Updated nvidia-installer to make the –multiple-kernel-modules option imply the –no-unified-memory option: Unified memory is incompatible with multiple kernel modules.
Updated the behavior of the nvidia-settings PowerMizer Preferred Mode drop-down menu, to make the setting apply consistently across all GPUs in an SLI group.
Improved the robustness of the NVIDIA X driver in scenarios where GPU-accessible memory for allocating pixmaps was exhausted.
Added NV-CONTROL attributes to control the brightness of the illuminated logos on certain graphics boards.For example, to turn off the illumination of the “GEFORCE GTX” lettering on the GeForce GTX 780, use
nvidia-settings –assign GPULogoBrightness=0
Fixed a bug that prevented screen transformations from being applied properly when starting X.
GLX protocol for the following OpenGL extensions from OpenGL 2.1 and OpenGL 3.0 have been promoted from unofficial to ARB approved official status:
GL_ARB_pixel_buffer_object
GL_NV_conditional_render
GL_ARB_map_buffer_range
GL_EXT_texture_integer
GL_ARB_vertex_array_object
GL_ARB_pixel_buffer_object was the last piece of protocol needed to have official support for indirect rendering with all OpenGL 2.1 commands.
GLX Protocol for the miscellaneous OpenGL 3.0 commands not associated with specific extensions has also been promoted from unofficial to ARB approved status.
Deprecated display mask related configuration of display devices via NV-CONTROL and nvidia-settings.Display target specifications should be used instead – A display target is one of the display’s valid names, with an optional GPU or X screen qualifier.
Deprecated the following NV-CONTROL attributes:
NV_CTRL_CONNECTED_DISPLAYS
NV_CTRL_ENABLED_DISPLAYS
NV_CTRL_ASSOCIATED_DISPLAYS
NV_CTRL_NOTEBOOK_INTERNAL_LCD
NV_CTRL_FRAMELOCK_MASTER
NV_CTRL_FRAMELOCK_SLAVES
NV_CTRL_FRAMELOCK_MASTERABLE
NV_CTRL_FRAMELOCK_SLAVEABLE
Also, although NV_CTRL_PROBE_DISPLAYS is still operational, the return value has been deprecated and should not be used.
Added deprecation warning messages in nvidia-settings when deprecated attributes are used.This also includes display mask usage.
Download & Install Nvidia Driver 331.38
The official installer is available for downloading at this page.
If you’re not sure your system type, press Ctrl+Alt+T to open terminal and run:
uname -m
You can also run below command to download the Nvidia installer:
For 32 bit (x86):
cd && wget us.download.nvidia.com/XFree86/Linux-x86/331.38/NVIDIA-Linux-x86-331.38.run
For 64 bit (x86_64):
cd && wget us.download.nvidia.com/XFree86/Linux-x86_64/331.38/NVIDIA-Linux-x86_64-331.38.run
Now start the installer via below steps:
0. Remove previous proprietary driver if any:
sudo apt-get purge nvidia-current
1. Press Ctrl+Alt+F1 to switch to command console. Login with your username and password.
2. Stop the graphic session by:
sudo service lightdm stop
You may change the lightdm to gdm or mdm if you’re using Ubuntu Gnome or Linux Mint.
3. Make the installer executable:
chmod +x NVIDIA-Linux-*-331.38.run
4. Finally start the installer and follow the on screen prompts:
sudo sh NVIDIA-Linux-*-331.38.run
You may keep the installer file so that you can remove this driver via below command if for some reason this driver does not work properly:
sudo sh NVIDIA-Linux-*-331.38.run --uninstall
You may also add blacklist nouveau to a file in /etc/modprobe.d/ if you get blank screen after installed the new driver.
The latest Nvidia Legacy GPU driver 304.116 has improved compatibility with recent Linux kernels. Here’s how to intall it if you have an old graphics card that is no longer supported in the regular NVIDIA Unified Graphics Driver.
What’s New in Nvidia 304.116:
Updated nvidia-installer to consider the “libglamoregl.so” X loadable extension module to be in conflict with the NVIDIA OpenGL driver. This module can cause the NVIDIA libGL to be loaded into the same process (the X server) as the NVIDIA libglx.so extension module, which is not a supported use case.
Improved compatibility with recent Linux kernels.
Updated the NVIDIA OpenGL driver to write temporary files to $TMPDIR if it is set, instead of unconditionally writing to /tmp.
Updated a fallback of writing temporary files to $HOME/.nvidia to use $HOME/.nv instead, as the latter path is already used for other NVIDIA driver related files.
Install Nvidia 304.116:
Before getting started, remove previous installed Nvidia proprietary drivers in terminal (Ctrl+Alt+T):
sudo apt-get purge nvidia-current
Then download the driver from official links below:
The latest Nvidia Driver for Linux 331.20 has been released today with lots of changes. Here are new features and how to install it in Ubuntu 13.10, Ubuntu 13.04, Ubuntu 12.04 and Linux Mint.
What’s New in Nvidia Linux 331.20:
This Long Lived Branch version 331.20 brings following changes:
Added support for NVIDIA OpenGL-based Framebuffer Capture (NvFBCOpenGL). This library provides a high performance, low latency interface to capture and optionally encode the composited framebuffer of an X screen. NvFBC and NvIFR are private APIs that are only available to approved partners for use in remote graphics scenarios. Please contact NVIDIA at GRIDteam@nvidia.com for more information.
Fixed a bug that prevented configuration files containing application profiles from being loaded when directories were present in the application profile configuration search path.
Deferred initialization of libselinux in the NVIDIA OpenGL driver, in order to avoid a problem where libselinux might not be ready when the NVIDIA libGL shared library is first loaded.
Fixed a bug that could lead to memory exhaustion in OpenGL applications running on 32-bit systems.
Added nvidia-uvm.ko, the NVIDIA Unified Memory kernel module, to the NVIDIA Linux driver package. This kernel module provides support for the new Unified Memory feature in an upcoming CUDA release.
Fixed a bug that caused the X server to fail to initialize when DisplayPort 1.2 monitors were assigned to separate X screens on the same GPU.
Fixed a bug that could cause a deadlock when forking from OpenGL programs which use some malloc implementations, such as TCMalloc.
Fixed a bug that prevented Warp & Blend settings from being retained across display configuration changes.
Fixed a bug that prevented some settings changes made via the nvidia-settings command line interface from being reflected in the nvidia-settings graphical user interface.
Fixed a bug in MetaMode tracking that could cause spurious error messages to be printed when attempting to add or delete Metamodes via NV-CONTROL.
Fixed a bug that caused the NVIDIA X driver to attempt to load the X11 “shadow” module unconditionally, even in situations where the driver had no need to use the module. This could result in the printing of spurious error messages, on X servers where the module was not present.
Fixed a bug that prevented display configuration changes made with xvidtune(1) from working correctly.
Fixed a bug that occasionally caused display corruption in GLX applications while changing the display configuration.
Fixed a bug that prevented glReadPixels from working correctly when reading from Pixel Buffer Objects over indirect rendering, when the image width is not a multiple of 4.
Added a new NV-CONTROL attribute, NV_CTRL_BACKLIGHT_BRIGHTNESS, for controlling backlight brightness.
Fixed a bug that prevented nvidia-settings from creating display device configuration pages for newly connected DisplayPort 1.2 Multi Stream Transport downstream devices.
Added GPU utilization reporting to the nvidia-settings control panel.
Fixed a bug in the nvidia-settings control panel that prevented users from configuring stereo, when stereo was not already configured.
Added support for reporting the tachometer-measured fan speed on capable graphics boards via nvidia-settings and the NV-CONTROL API. The preexisting mechanism for reporting fan speed reports the speed of the fan as programmed by the driver.
For example, `nvidia-settings –query=[fan:0]/GPUCurrentFanSpeedRPM`.
Fixed a regression that caused GPUs that do not support graphics to not appear in nvidia-settings.
Fixed a bug that caused DisplayPort 1.2 multi-stream devices to stop working if they were unplugged and plugged back in while they were active in the current MetaMode.
Added support for multiple NVIDIA kernel modules. This feature allows users to assign different GPUs in the system to different NVIDIA kernel modules, potentially reducing the software overhead of coordinating access to multiple GPUs.
Added support for the EGL API on 32-bit platforms. Currently, the supported client APIs are OpenGL ES 1.1, 2.0 and 3.0, and the only supported window system backend is X11.
Add a new option, AllowEmptyInitialConfiguration, which allows the X server to start even if no connected display devices are detected at startup. This option can be enabled by running “sudo nvidia-xconfig –allow-empty-initial-configuration”
This option is useful in RandR 1.4 display offload configurations where no display devices are connected to the NVIDIA GPU when the X server is started, but might be connected later.
Updated nvidia-installer to provide a scrollable text area for displaying messages from the /usr/lib/nvidia/alternate-install-present and /usr/lib/nvidia/alternate-install-available distro hook files. This allows for longer messages to be provided in these files.
Updated nvidia-installer to avoid recursing into the per-kernel “build” and “source” directories when searching for conflicting kernel modules in /lib/modules.
Added a system memory cache to improve the performance of certain X rendering operations that use software rendering fallbacks. The X configuration option “SoftwareRenderCacheSize” may be used to configure the size of the cache.
Removed the “DynamicTwinView” X configuration option: dynamic reconfiguration of displays is always possible, and can no longer be disabled.
Fixed a bug that caused nvidia-settings to display incorrect information in its display configuration page when all displays on an X screen were turned off.
Updated nvidia-installer to only install the libraries libvdpau and libvdpau_trace if an existing installation of libvdpau is not detected on the system. This behavior can be overridden with the –install-vdpau-wrapper and –no-install-vdpau-wrapper options.
Future NVIDIA Linux installer packages will no longer include copies of libvdpau or libvdpau_trace: VDPAU users are recommended to install these libraries via other means, e.g. from packages provided by their distributors, or by building them from the sources available at: http://people.freedesktop.org/~aplattner/vdpau/
Download & Install Nvidia 331.20:
First download the drivers from the official links below:
Once downloaded, press Ctrl+Alt+F1 on your keyboard to switch to command console and login with your username and password. Remove previous Nvidia’s proprietary drivers if any:
sudo apt-get purge nvidia-current
You required to run command below to stop / close graphic session before installing process:
For Ubuntu LightDM (default):
sudo service lightdm stop
For Gnome GDM:
sudo service gdm stop
For Linux Mint MDM:
sudo service mdm stop
Give permission to execute the downloaded installer:
chmod +x ~/Downloads/NVIDIA-Linux-*-331.20.run
Finally start the installer and follow on screen prompts:
sudo sh ~/Downloads/NVIDIA-Linux-*-331.20.run
Don’t remove the installer after installation, because if for some reason this driver does not work properly, you can remove Nvidia 331.20 via command below in TTY console:
sudo sh ~/Downloads/NVIDIA-Linux-*-331.20.run --uninstall