New in version 346.35

January 18th, 2015
  • Added support for X.Org xserver ABI 19 (xorg-server 1.17).
  • 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 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.
  • Updated the NVIDIA X driver to reject frame packed interlaced HDMI 3D modes during mode validation. These modes were being validated by the driver, despite never having been supported.
  • Fixed a bug that prevented the console from being restored after forcefully terminating X, on some GPUs with multiple DisplayPort monitors attached. This bug also subsequently prevented X from being started following the failed console restoration.
  • Updated the version of libvdpau shipped with the driver to 0.9. This version honors the VDPAU_DRIVER_PATH environment variable and fixes a race condition if multiple threads call VdpDeviceCreateX11 simultaneously. See http://lists.freedesktop.org/archives/vdpau/2014-December/000274.html for more information.
  • Please note that users are encouraged to use their distribution's libvdpau packages rather than relying on the one shipped with the NVIDIA graphics driver.
  • Fixed a bug that caused the screen image to be shifted when screen transformations (such as rotations or reflections) were enabled on a G-SYNC display attached to a Kepler-based GPU.
  • Fixed a bug that caused a blank screen when setting a mode requiring YUV 4:2:0 compression. These modes are not currently supported.
  • Fixed a bug that caused an incorrect DisplayPort link configuration to be displayed after a hotplug or unplug.
  • Added support for the following EGL extensions:
  • EGL_EXT_device_base
  • EGL_EXT_platform_device
  • EGL_EXT_output_base
  • 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. See the documentation on the "CoolBits" X configuration option in the README for details.
  • Added accelerated support for r8g8b8a8, r8g8b8x8, b8g8r8a8 and b8g8r8x8 RENDER formats.
  • Updated nvidia-settings to take advantage of GTK+ 3, when available. This is implemented by building the nvidia-settings user interface into separate shared libraries (libnvidia-gtk2.so, libnvidia-gtk3.so), and loading the correct one at run-time.
  • Added the nvidia-settings option --gtk-library to allow specifying the path of the directory containing the user interface library or the path and filename of the specific library to use.
  • Fixed a GLSL compiler bug that would produce corruption when running games such as Far Cry 3 in Wine.
  • Fixed the EGL_KHR_stream_cross_process_fd extension.
  • Fixed rendering corruption that sometimes happened when calling DrawElementsInstancedBaseVertexBaseInstance(), DrawElementsInstancedBaseInstance(), or DrawArraysInstancedBaseInstance().
  • Dramatically improved OpenGL Framebuffer Object creation performance.
  • Removed the limit on the maximum number of OpenGL Framebuffer Objects.
  • Updated the NVIDIA OpenGL driver to prefer $XDG_CACHE_HOME over $HOME as the default location for storing the GL shader disk cache.

New in version 340.65 (December 10th, 2014)

  • Added support for X.Org xserver ABI 19 (xorg-server 1.17).
  • 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 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).
  • 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.
  • Improved the reliability of some GPUs, such as the NVS 300, on Solaris systems.
  • 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.

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

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

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 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 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.
  • 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.
  • 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 325.15 (November 15th, 2013)

  • Added support for the following GPUs:
  • 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.
  • 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.
  • 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 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.