New in version 340.65

December 10th, 2014
  • 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.

New in version 343.36 (December 5th, 2014)

  • 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.

New in version 340.46 (October 2nd, 2014)

  • 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.
  • Added option UseSysmemPixmapAccel to control the use of GPU acceleration for X drawing operations on pixmaps allocated in system memory.

New in version 343.22 (September 19th, 2014)

  • Added support for the following GPUs:
  • GeForce GTX 970
  • GeForce GTX 980
  • Fixed a bug that prevented the "sync to vblank" setting from being honored for EGL applications.
  • Fixed a bug that could cause some OpenGL programs to encounter out of memory during a mode switch.
  • Fixed a bug that prevented the NVIDIA OpenGL driver from honoring the __GL_SHADER_DISK_CACHE_PATH environment variable.
  • Fixed a bug that caused disabled displays to be implicitly included in the target selection for some queries and assignments on the nvidia-settings command line interface, in the absence of any explicit target selection.
  • Added a new attribute to the NV-CONTROL API to query the current utilization of the video decode engine.
  • Fixed a bug where the Exchange Stereo Eyes setting in nvidia-settings didn't work in certain stereo configurations.
  • Worked around a Unigine Heaven 3.0 shader bug which could cause corruption when tessellation is enabled by implementing an application profile that uses the "GLIgnoreGLSLExtReqs" setting. See the documentation for the __GL_IGNORE_GLSL_EXT_REQS environment variable for more details.
  • Fixed a memory leak when destroying EGL surfaces.
  • Added support for multiple simultaneous EGL displays.
  • Removed support for G8x, G9x, and GT2xx GPUs, and motherboard chipsets based on them. Ongoing support for new Linux kernels and X servers, as well as fixes for critical bugs, will be included in 340.* legacy releases through the end of 2019.
  • Fixed a bug that could cause nvidia-installer to unsuccessfully attempt to delete the directory containing precompiled kernel module interfaces, on packages prepared with --add-this-kernel.
  • Updated nvidia-installer to log uninstallation to a separate file from the installation log, and to attempt uninstalling previous driver installations using the installer program from the previous installation, when available.

New in version 340.32 (September 12th, 2014)

  • Added support for the following GPUs:
  • Quadro K420
  • Quadro K620
  • Quadro K2200
  • Quadro K4200
  • Quadro K5200
  • Fixed a regression that prevented the internal stereo infrared emitter built into some 3D Vision monitors from working.
  • Fixed a bug that could cause some Java-based OpenGL applications using JOGL to crash on startup on systems with Xinerama enabled.
  • Fixed a bug that could prevent OpenGL Framebuffer Objects (FBOs) from being properly redrawn after a modeswitch.
  • Fixed a memory leak that occurred when starting OpenGL applications.
  • Fixed a bug that prevented the EDID-Like Data (ELD) of audio-capable displays from being updated when hotplugged/unplugged.
  • Fixed a bug that caused Xid errors when using stereo mode 12 (HDMI 3D) on Quadro boards without an onboard stereo DIN connector.
  • Fixed a video corruption issue for VDPAU decoding of VC-1 and WMV video streams utilizing range remapping on Maxwell GPUs.
  • Fixed a "black window" bug in Ubuntu 14.04 when using the Xinerama and Composite extensions.
  • Fixed a bug that caused the screen's contents to be shifted downward when a G-SYNC monitor is unplugged and replaced by a non-G-SYNC monitor.
  • Fixed a bug that prevented G-SYNC from working when a G-SYNC monitor was unplugged and plugged back in without a modeset.

New in version 331.49 (February 19th, 2014)

  • 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.

New in version 331.38 (January 13th, 2014)

  • 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.

New in version 319.82 (January 13th, 2014)

  • Added support for the following GPUs:
  • GeForce GTX 780 Ti
  • GeForce GTX 760 (192-bit)
  • GeForce 820M
  • Tesla K40m
  • Tesla K40c
  • Tesla K40st
  • Tesla K40s
  • Added support for X.org xserver ABI 15 (xorg-server 1.15).

New in version 325.15 (November 15th, 2013)

  • Added support for the following GPUs:
  • GRID K340
  • NVS 315
  • Quadro K500M
  • Fixed a bug in the nvidia-settings control panel that could cause spurious messages about layout inconsistencies to be printed when changing the display layout while SLI is enabled.
  • Fixed a bug that could cause display flickering after setting some scaling configurations.
  • Fixed a bug that prevented the status bar on the "PowerMizer" and "X Server XVideo Settings" pages in the nvidia-settings control panel from being updated when settings were changed by another NV-CONTROL client.
  • Fixed a bug that could cause some UI elements to be duplicated in the nvidia-settings control panel following a VT switch on X server configurations with multiple NVIDIA X screens.
  • Changed the default PCIe interrupt delivery method from virtual-wire to MSI. Note that if the NVIDIA Linux driver fails to initialize with an error indicating that it is not receiving interrupts, MSI can be disabled by setting the module parameter "NVreg_EnableMSI=0" when loading the NVIDIA kernel module.
  • Removed support for Linux 2.4 kernels. The NVIDIA Linux driver now requires Linux 2.6.9 or later.
  • Fixed a bug that prevented the creation of a mode via RandR with the same name as a previously created mode, even after the previous mode had been deleted.
  • Fixed a bug in nvidia-settings that caused GTK+ theme colors to be ignored for some UI elements.
  • Fixed a bug that caused nvidia-settings to write hostname-based color correction settings to the .nvidia-settings-rc configuration file, even when the "Include X Display Names in the Config File" option was unset. This could lead to a long delay when starting nvidia-settings, if a hostname saved to the configuration file failed to resolve.
  • Fixed a bug that exposed edge overlap controls on the SLI Mosai page of nvidia-settings on edges where overlap was impossible.
  • Fixed a bug that caused some settings in the nvidia-settings control panel to be reset when reprobing displays.
  • Fixed a bug that could cause OpenGL applications that use Frame Buffer Objects (FBOs) to crash following a mode switch (e.g. changing the resolution of a display or transforming it).
  • Fixed a memory leak that could be triggered by unloading libGL before destroying all GLX contexts.
  • Fixed a bug that could cause color correction settings to be applied to the wrong display when multiple displays are unplugged and then plugged back in again.
  • Fixed a bug that could cause a spurious error message about a missing NV-GLX extension when performing indirect rendering from a GLX client with the NVIDIA client-side OpenGL libraries to a non-NVIDIA GLX server.
  • Fixed an OpenGL bug that prevented conditional rendering from the NV_conditional_render extension from correctly affecting CopyPixels.
  • Improved the rendering performance of complex gradients.
  • Added support for configuring SLI Mosaic and Base Mosaic in the "X Server Display Configuration" page of nvidia-settings.
  • Updated nvidia-installer to look for the following files:
  • /usr/lib/nvidia/alternate-install-available
  • /usr/lib/nvidia/alternate-install-present
  • These files may be provided by NVIDIA driver installers other than the official .run package maintained by NVIDIA, to alert nvidia-installer to the presence or availability of an alternative installation method. See the nvidia-installer(1) manual page for more information.
  • Fixed an X driver bug where the RandR CRTC panning area and tracking area were not getting clamped to the current X screen size when the RandR CRTC transitioned from disabled to enabled.
  • Fixed an X driver bug where successful RandR X_RRSetScreenConfig requests would update the server's RandR 'lastSetTime' too far, potentially causing subsequent RandR requests to be unnecessarily
  • rejected.
  • Fixed an X driver bug that caused GPUs to become inaccessible via the NV-CONTROL X extension when no corresponding X screens could be initialized.
  • Generate a BadMatch error when applications attempt to create GLX pixmaps using glXCreatePixmap() or glXCreateGLXPixmapWithConfigSGIX() and the pixmap's depth doesn't match that of the specified GLXFBConfig.
  • Updated nvidia-settings to explicitly specify the direction of rotation for configuring per-display rotation configuration.
  • Honor a GPU UUID as the GPU qualifier for X configuration options that allow GPU qualifiers (e.g. "MetaModes").
  • Report GPU UUIDs in the X log when verbose logging is enabled in the X server.
  • Enabled conformant glBlitFrameBuffer() scissor test behavior by default. A driver-provided application profile enables the previous non-conformant behavior for applications that load libcogl, to work around a bug in older versions of libcogl.
  • Application profiles can be added to enable the non-conformant behavior
  • for other applications that depend upon it. See the "Known Issues"
  • section of the README for more details.
  • Fixed a bug that caused applications using CUDA-GL interop to crash when run on X servers with Xinerama enabled.
  • Fixed a bug that could prevent some double-bit ECC errors from being properly reported.
  • Fixed a bug which could cause a blank screen when changing house sync settings on Quadro Kepler GPUs with Quadro Sync boards.
  • Fixed a bug that prevented nested loops with identical loop conditions in GLSL shaders from terminating correctly. This could cause hangs in applications such as Exa PowerVIZ.
  • Fixed a bug that resulted in corrupt texels when a previously empty texture image was specified with glXBindTexImageEXT. In GNOME 3, this caused gnome-screenshot to produce garbled window screenshots.
  • Fixed a bug that caused the X server to crash when querying the current mode of disabled displays.