What's new in Nvidia Solaris Display Driver 440.44

Dec 12, 2019
  • Added support for the following GPU:
  • Quadro T2000 with Max-Q Design
  • Fixed a bug that caused applications running directly on a display (such as VR HMDs) to tear when a G-SYNC or G-SYNC Compatible monitor is plugged in the system.

New in Nvidia Solaris Display Driver 440.36 (Nov 22, 2019)

  • Fixed graphical corruption that can occur when using glslang SPIR-V Generator Version

New in Nvidia Solaris Display Driver 440.31 (Nov 4, 2019)

  • Fixed a bug that could cause the X server to crash when running
  • applications using GLX indirect rendering.
  • Updated the confirmation dialog box that is displayed when quitting the nvidia-settings control panel to report when there are pending configuration changes which will be lost if they are not applied or saved before quitting.
  • Enabled parallel GLSL shader linking by default; i.e., allow GL_ARB_parallel_shader_compile to work without first calling glMaxShaderCompilerThreadsARB().
  • Added support for HDMI 2.1 variable refresh rate (VRR) G-SYNC Compatible monitors on supported GPUs.For more details, see "Configuring Multiple Display Devices on One X Screen" in the README.
  • Added support for the GLX_NV_multigpu_context and GL_NV_gpu_multicast extensions.For more details, see the "Configuring SLI and Multi-GPU FrameRendering" chapter of the README, and the extension specifications:
  • https://www.khronos.org/registry/OpenGL/extensions/NV/GLX_NV_multigpu_context.txt
  • https://www.khronos.org/registry/OpenGL/extensions/NV/NV_gpu_multicast.txt
  • Enabled HardDPMS by default. See the README entry on the X configuration option "HardDPMS" for more information.
  • Added VP9 decode support to the NVIDIA VDPAU driver. See the VDPAU Support appendix in the README for supported VP9 decoder profiles.
  • Changed GPU clock management strategy to more quickly ramp down clocks after a drop in GPU utilization.
  • Added X configuration option, "SidebandSocketPath", which controls the directory in which the X driver will create a pathname UNIX domain socket used to communicate with the NVIDIA OpenGL, Vulkan and VDPAU driver components.
  • Fall back to system memory when video memory is full for some driver-internal allocations. This can help fix Xid 13 and Xid 31 cases in Vulkan applications when video memory is full.
  • Fixed a bug that could cause a blank screen on some DisplayPort monitors when logging in to GNOME, if the nvidia-drm kernel module parameter modeset=1 is specified.

New in Nvidia Solaris Display Driver 430.50 (Sep 13, 2019)

  • Fixed display color range handling on pre-Turing GPUs, such that when limited color range is selected through the display controls page in nvidia-settings, output pixel values will be correctly clamped to Consumer Technology Association (CTA) range.

New in Nvidia Solaris Display Driver 435.21 (Aug 30, 2019)

  • Fixed a bug that caused the X server to crash when using HardDPMS with an NVIDIA-driven GPU Screen.
  • Fixed a bug which caused the kernel to panic when exiting a single X server when multiple X servers were active and in an SLI configuration.
  • Added support for changing Digital Vibrance in the display controls section of nvidia-settings on Turing hardware.
  • Fixed a bug that caused the NVIDIA X driver to behave incorrectly or crash when a client queried Xinerama information on X servers with a non-NVIDIA X screen as screen 0.
  • Fixed the "Image Settings" options in the "OpenGL Settings" page of nvidia-settings for Quadro GPUs. Previously, OpenGL rendering on Quadro would behave as if the "High Quality" option were selected regardless of the selection. Now, the setting will default to "High Quality" for Quadro but selecting a lower option will affect rendering accordingly. (Other GPUs are unchanged: the default remains "Quality", but other options can be selected if desired.)
  • Fixed display color range handling on pre-Turing GPUs, such that when limited color range is selected through the display controls page in nvidia-settings, output pixel values will be correctly clamped to Consumer Technology Association (CTA) range.

New in Nvidia Solaris Display Driver 430.40 (Jul 29, 2019)

  • Added support for the following GPUs:
  • Quadro RTX 3000 with Max-Q Design

New in Nvidia Solaris Display Driver 430.34 (Jul 12, 2019)

  • Added support for the following GPUs:
  • Quadro RTX 4000 with Max-Q Design
  • Quadro RTX 5000 with Max-Q Design

New in Nvidia Solaris Display Driver 430.26 (Jun 11, 2019)

  • Added support for the following GPUs:
  • Quadro P520
  • Quadro RTX 3000
  • Quadro T1000
  • Quadro T2000
  • Fixed a bug, introduced in 415.13, that caused audio over DisplayPort to not work in some configurations.

New in Nvidia Solaris Display Driver 430.14 (May 14, 2019)

  • Updated the NVIDIA VDPAU driver to support allocating VDPAU video surfaces with explicit field or frame picture structure.
  • Added support for the GL_NV_vdpau_interop2 OpenGL extension, which allows VDPAU/OpenGL surface sharing with explicit field or frame picture structure. Picture structure selection by applications can avoid the need for implicit surface structure conversion by the OpenGL implementation.

New in Nvidia Solaris Display Driver 418.74 (May 8, 2019)

  • Updated nvidia-settings to allow continued interaction with other pages and help content while editing application profiles.

New in Nvidia Solaris Display Driver 418.56 (Mar 21, 2019)

  • Updated nvidia-settings to disable line wrapping when outputting to a non-terminal in command-line mode. From GitHub pull request:
  • https://github.com/NVIDIA/nvidia-settings/pull/37
  • Updated the nvidia-settings control panel to more accurately reflect the current availability of G-SYNC or G-SYNC compatible display settings.

New in Nvidia Solaris Display Driver 418.43 (Feb 25, 2019)

  • Added initial support for G-SYNC Compatible monitors. See the README for details.
  • Removed libnvidia-wfb. so from the driver package. This module was only used on X servers that did not provide their own implementation of libwfb, and all X. Org xserver versions now supported by the driver do so.
  • Updated the VDPAU driver to reject decoding to YUV 4:2:2 video surfaces. The NVIDIA VDPAU driver always produces YUV 4:2:0 content. Previously, the VDPAU driver implicitly converted a YUV 4:2:2 video surface to YUV 4:2:0 during decode. Now, the VDPAU driver will fail the decode request.
  • Fixed a bug that could prevent nvidia-xconfig from disabling the X Composite extension on version 1. 20 of the X. org X server.

New in Nvidia Solaris Display Driver 415.27 (Jan 15, 2019)

  • Fixed a bug that could prevent display detection from working on displays connected to some notebook docking stations.

New in Nvidia Solaris Display Driver 415.25 (Dec 18, 2018)

  • Fixed a bug that could prevent display detection from working on displays connected to some notebook docking stations.

New in Nvidia Solaris Display Driver 415.18 (Nov 22, 2018)

  • Fixed a bug that caused corruption on vkCmdCopyImage calls for non-2D texture targets.
  • Fixed a bug that caused mode switches to fail when an SDI output board was connected.
  • Added the synchronization state for PRIME Displays to nvidia-settings.
  • Improved error reporting in eglSwapBuffers() by generating codes for some missing error types, and adding additional detail to the already existing ones.
  • Improved the appearance and functionality of the nvidia-settings control panel when it is resized to small sizes.
  • Updated the nvidia-settings control panel to prevent some icons from being displayed incorrectly while using some GTK+ themes.
  • Fixed an X driver bug that caused the "NoEdidModes" token of the "ModeValidation" X configuration option to reject non-EDID modes whose timings matched EDID modes.
  • Fixed an OpenGL driver bug that caused the upper bounds of floating-point viewports, specified through the ARB_viewport_array extension, to be clipped incorrectly.
  • Added a new X configuration option "HardDPMS" which is disabled by default, but can be enabled to put displays to sleep with modesets rather than VESA DPMS. This may fix some displays that fail to sleep when DPMS becomes active. "HardDPMS" will be enabled by default in a future release.
  • Raised the minimum supported X.Org xserver version to 1.5 (video driver ABI version 4).
  • Added a Wayland platform library, libnvidia-egl-wayland.so, to allow Wayland compositors that support EGLDevice, EGLOutput, and EGLstreams to share EGL buffers with Wayland applications.
  • Changed the minimum required Linux kernel version from 2.6.9 to 2.6.32.
  • Fixed an OpenGL bug where conditional rendering (NV_conditional_render) was incorrectly affecting mipmap generation.
  • Fixed a bug that could cause the X server to hang on systems booted in legacy VGA mode when using a DisplayPort Multi-Stream link.

New in Nvidia Solaris Display Driver 410.73 (Oct 29, 2018)

  • Added support for the following GPUs:
  • Quadro RTX 6000
  • Quadro RTX 5000
  • Added a USB-C display connector type identifier, such that a display connected using Turing's USB-C connector will be named, e.g., "USB-C-0" rather than "DP-5". Scripts and configuration files that use the DP identifier for this connector will be affected.
  • Added the synchronization state for PRIME Displays to nvidia-settings.

New in Nvidia Solaris Display Driver 390.87 (Sep 7, 2018)

  • Fixed a resource leak introduced in the 390 series of drivers that could lead to reduced performance after starting and stopping several OpenGL and/or Vulkan applications.

New in Nvidia Solaris Display Driver 396.54 (Aug 22, 2018)

  • Fixed a resource leak introduced in the 390 series of drivers that could lead to reduced performance after starting and stopping several OpenGL and/or Vulkan applications.

New in Nvidia Solaris Display Driver 396.45 (Jul 20, 2018)

  • Fixed a bug that could cause multi-threaded EGL applications to crash when exiting.

New in Nvidia Solaris Display Driver 390.77 (Jul 16, 2018)

  • Removed informational messages that were printed by nvidia-modeset.ko whenever a GPU device was allocated or freed.
  • Fixed a bug that caused kwin OpenGL compositing to crash when launching certain OpenGL applications.

New in Nvidia Solaris Display Driver 390.67 (Jun 6, 2018)

  • Fixed a bug that could cause kernel panics when using Quadro SDI Capture hardware.
  • Fixed a bug that caused kwin OpenGL compositing to crash when launching certain OpenGL applications.
  • Fixed an intermittent crash when launching Vulkan applications.
  • Fixed a bug that caused the driver, in some low bandwidth DisplayPort configurations, to not implicitly enable display dithering. This resulted in visible banding.
  • Added support for X.Org xserver ABI 24 (xorg-server 1.20).
  • Improved nvidia-bug-report.sh to check for kern.log which is the default kernel log-file location for many Debian-based Linux distributions.
  • Fixed a bug which could cause X servers that export a Video Driver ABI earlier than 0.8 to crash when running X11 applications which call XRenderAddTraps().

New in Nvidia Solaris Display Driver 390.59 (May 16, 2018)

  • Added support for the following GPUs:
  • Quadro P3200
  • Quadro P4200
  • Added support for X.Org xserver ABI 24 (xorg-server 1.20).
  • Improved nvidia-bug-report.sh to check for kern.log which is the default kernel log-file location for many Debian-based Linux distributions.
  • Fixed a bug which could cause X servers that export a Video Driver ABI earlier than 0.8 to crash when running X11 applications which call XRenderAddTraps().

New in Nvidia Solaris Display Driver 390.42 (Mar 12, 2018)

  • Fixed a regression, introduced in 390.12, that caused occasional flicker when using the X driver's composition pipeline, for example when using screen transformations like rotation, or the "ForceCompositionPipeline" or "ForceFullCompositionPipeline" options."

New in Nvidia Solaris Display Driver 387.34 (Dec 29, 2017)

  • Fixed a regression that could cause driver errors when setting modes that include DisplayPort Multi-Stream Transport devices.
  • Fixed a regression that caused some display connectors on some GPUs to not report a connected HDMI or DisplayPort audio device even if the connected monitor supports audio.
  • Fixed a bug that sometimes prevented the "Reset Default Configuration" button in the nvidia-settings "ECC Settings" page from being available when the ECC configuration is set to a non-default state.
  • Fixed a bug that caused nvidia-settings to enforce overly aggressive limits on display positions in the "X Server Display Configuration" page under some circumstances.
  • Fixed a bug that could cause the "Enable Base Mosaic (Surround)" checkbox in nvidia-settings to disappear when an X screen, rather than a display, is selected in the "X Server Display Configuration" page.
  • Fixed a race condition that could lead to crashes when OpenGL programs manipulated vertex buffer objects from multiple threads simultaneously.
  • Fixed a bug that caused the nvidia-settings control panel to retain some settings that had been applied, but not confirmed. This resulted in unwanted settings being applied to subsequent settings changes.
  • Added support for YUV 4:2:0 compression for monitors connected via DisplayPort in configurations where either the display or GPU is incapable of driving the current mode in RGB 4:4:4. See the description in the "Programming Modes" appendix for details.
  • Added an "AllowGSYNC" MetaMode attribute that can be used to disable G-SYNC completely. This can be use to allow enabling features that are incompatible with G-SYNC, such as Ultra Low Motion Blur or Frame Lock.
  • Tiled monitors formerly resulted in a separate Xinerama screen being reported for each tile. They will now, by default, be combined into a single large Xinerama screen.
  • The individual panels in a tiled monitor will now be arranged based on the layout information provided in the monitor's EDID. This can be overridden by either manually specifying offsets or using the "MetaModeOrientation" option.
  • Disabled interlaced modes over DisplayPort by default due to incomplete support in the GPU. Added "AllowDpInterlaced" mode validation token to override this default behavior and allow interlaced modes over DisplayPort protocol anyway.
  • Fixed a bug that could cause some eDP G-SYNC displays to flicker at low refresh rates.
  • Fixed a bug that artificially limited the maximum pixel clock to 300 MHz when using certain more capable DisplayPort to HDMI adapters.
  • Fixed a bug that caused incorrect PCI topology reporting in nvidia-smi on Intel Skylake systems.

New in Nvidia Solaris Display Driver 387.22 (Oct 31, 2017)

  • Fixed a regression that could cause driver errors when setting modes that include DisplayPort Multi-Stream Transport devices.
  • Fixed a regression that caused some display connectors on some GPUs to not report a connected HDMI or DisplayPort audio device even if the connected monitor supports audio.
  • Fixed a bug that sometimes prevented the "Reset Default Configuration" button in the nvidia-settings "ECC Settings" page from being available when the ECC configuration is set to a non-default state.
  • Fixed a bug that caused nvidia-settings to enforce overly aggressive limits on display positions in the "X Server Display Configuration" page under some circumstances.
  • Fixed a bug that could cause the "Enable Base Mosaic (Surround)" checkbox in nvidia-settings to disappear when an X screen, rather than a display, is selected in the "X Server Display Configuration" page.
  • Fixed a race condition that could lead to crashes when OpenGL programs manipulated vertex buffer objects from multiple threads simultaneously.
  • Fixed a bug that caused the nvidia-settings control panel to retain some settings that had been applied, but not confirmed. This resulted in unwanted settings being applied to subsequent settings changes.
  • Added support for YUV 4:2:0 compression for monitors connected via DisplayPort in configurations where either the display or GPU is incapable of driving the current mode in RGB 4:4:4. See the description in the "Programming Modes" appendix for details.
  • Added an "AllowGSYNC" MetaMode attribute that can be used to disable G-SYNC completely. This can be use to allow enabling features that are incompatible with G-SYNC, such as Ultra Low Motion Blur or Frame Lock.
  • Tiled monitors formerly resulted in a separate Xinerama screen being reported for each tile. They will now, by default, be combined into a single large Xinerama screen.
  • The individual panels in a tiled monitor will now be arranged based on the layout information provided in the monitor's EDID. This can be overridden by either manually specifying offsets or using the "MetaModeOrientation" option.
  • Disabled interlaced modes over DisplayPort by default due to incomplete support in the GPU. Added "AllowDpInterlaced" mode validation token to override this default behavior and allow interlaced modes over DisplayPort protocol anyway.
  • Fixed a bug that could cause some eDP G-SYNC displays to flicker at low refresh rates.
  • Fixed a bug that artificially limited the maximum pixel clock to 300 MHz when using certain more capable DisplayPort to HDMI adapters.
  • Fixed a bug that caused incorrect PCI topology reporting in nvidia-smi on Intel Skylake systems.

New in Nvidia Solaris Display Driver 384.59 (Jul 25, 2017)

  • Fixed a bug that prevented changes to stereo eye assignment from getting applied from the nvidia-settings control panel.
  • Fixed a bug that could cause OpenGL applications to crash after calling glDeleteBuffers on VBOs that have been remapped with ARB_vertex_attrib_binding.
  • Fixed a bug that could sometimes cause OpenGL applications to lock up until the X server receives input.
  • Fixed a bug that caused nvidia-settings to drop device BusID values when making changes to an existing X configuration file.
  • Fixed a regression that prevented nvidia-xconfig from querying some GPUs, e.g. when running `nvidia-xconfig -a`.
  • Fixed a bug that caused VDPAU playback to be corrupted when extended to coordinates beyond 16384 pixels.
  • Added support for a "Nearest" transform filter in the X driver. This causes the X driver to use nearest neighbor filtering when performing screen transformations. The filter can be requested through the 'filter' argument to RandR's RRSetCrtcTransform, or through the 'ResamplingMethod' MetaMode token.
  • Fix a bug with GLX_EXT_buffer_age where incorrect buffer age values would be reported for SLI AFR configurations. In such configurations buffer age may now be greater than 3, the previous maximum buffer age.
  • Fixed a bug that could cause hanging and Xids when performing RandR transforms with Overlay and SLI enabled.
  • Extended the information reported by the NVIDIA Xinerama X extension to report PRIME displays in addition to directly-connected displays.
  • Fixed a bug that caused HDMI audio devices to appear or disappear inconsistently when HDMI devices were hotplugged or unplugged.
  • Fixed a bug that could cause driver errors when setting modes on X screens running at Depth 8 or Depth 15.
  • Fixed a bug that could cause intermittent kernel panics when running with PRIME Sync.
  • Fixed a bug that caused a kernel panic when hotplugging HDMI displays on some Zotac mini PCs.

New in Nvidia Solaris Display Driver 381.22 (May 9, 2017)

  • Fixed a bug that caused the GLX_EXT_buffer_age buffer age extension to return incorrect values for stereo drawables when using passive stereo modes 5 through 9.
  • Fixed a bug that caused "nvidia-settings --query all" to print many duplicate entries.
  • Fixed a bug that caused applications to crash in some situations when calling glXMakeCurrent while OpenGL threaded optimizations were enabled.
  • Fixed a bug that caused the X server process to hang with 100% CPU usage.
  • Fixed a bug that caused VDPAU applications to use the blit presentation queue when a previous VDPAU application didn't shut down cleanly.
  • Fixed hangs and crashes that could occur when an OpenGL context is created while the system is out of available memory.
  • Fixed a bug that caused corruption when OpenGL windows were moved or resized.
  • Fixed a bug that caused X screens that use Option "UseDisplayDevice" "none" to be resized to 640x480 when using "xrandr -s" to change the screen configuration.
  • Disabled OpenGL threaded optimizations by default, initially enabled in 378.09, due to various reports of instability.
  • Removed the X driver's logo splash screen and the corresponding NoLogoand LogoPath xorg.conf options.
  • Added the "ResamplingMethod" MetaMode option, adding support for bicubic resampling methods when scaling screen transformations are in use. See the README for more details.

New in Nvidia Solaris Display Driver 375.66 (May 4, 2017)

  • Added support for the following GPUs:
  • Quadro P3000
  • Quadro M520
  • Fixed a bug that could cause EGL applications to crash when calling eglInitialize() multiple times on X11-backed displays.
  • Fixed a regression that could cause rendering corruption on a monitor connected via DisplayPort upon a modeset event (for example, changing resolutions or power cycling the monitor).
  • Updated the display configuration page in the nvidia-settings control panel to accurately reflect HDMI 3D refresh rates.
  • Fixed a bug that could cause OpenGL applications to crash when VT switching between multiple X servers.
  • Fixed a bug that caused the system to become unresponsive after resuming from power management suspend/hibernate. Additional symptoms of this bug included display flickering and "Xid 56" errors in the kernel log.
  • Fixed a bug that caused backlight brightness to not be controllable on some notebooks with DisplayPort internal panels.
  • Fixed a bug that left HDMI and DisplayPort audio muted after a framebuffer console mode was restored. For some displays, this caused the display to remain blank.
  • Fixed a bug that caused audio over DisplayPort to stop working when the monitor was unplugged and plugged back in or awoken from DPMS power-saving mode.
  • Restored support for the following GPU:
  • GRID K520
  • Fixed a regression that caused corruption in certain applications, such as window border shadows in Unity, after resuming from suspend.

New in Nvidia Solaris Display Driver 378.13 (Feb 14, 2017)

  • Added support for the following GPU(s):
  • Quadro P3000
  • Quadro GP100
  • Quadro P4000
  • Quadro P2000
  • Quadro P1000
  • Quadro P600
  • Quadro P400
  • Quadro M1200
  • Quadro M2200
  • Disabled OpenGL threaded optimizations by default under Xinerama.
  • Added support for the ARB_parallel_shader_compile extension to allow multi-threaded compilation of GLSL shaders.
  • Updated the X driver to ignore any Virtual Reality Head Mounted Displays (HMDs). See the "AllowHMD" X configuration option in the README for details.
  • The driver will now advertise GLX FBConfigs with no depth bits on depth 30 X screens.
  • Fixed a bug that caused system hangs when resuming from suspend with some GPUs.
  • Fixed a regression that could cause corruption when hot-plugging displays.
  • Fixed a regression that prevented systems with multiple DisplayPort monitors from resuming correctly from suspend.
  • Fixed a bug in the nvidia-modeset.ko kernel module that could cause it to crash when sending events to user space driver components.
  • Added support for X.Org xserver ABI 23 (xorg-server 1.19)

New in Nvidia Solaris Display Driver 375.26 (Dec 14, 2016)

  • Added support for the following GPU(s):
  • Quadro M3000 SE
  • Fixed a regression that prevented the backlight on some notebook computer displays from turning back on after being shut off.
  • Fixed a regression that prevented the console from being restored properly when using SLI.
  • Fixed a regression that could cause the nvidia-settings control panel to crash on startup with certain GPU configurations.
  • Fixed a regression that prevented the GLX_NV_swap_group extension from working when using SLI or Quadro Sync.

New in Nvidia Solaris Display Driver 375.20 (Nov 18, 2016)

  • Added support for the following GPUs:
  • Quadro M620
  • Quadro M5000 SE
  • Quadro M3000 SE
  • Fixed a bug that could cause displays in SLI Mosaic to blank when applying a transformation matrix.
  • Fixed a bug that prevented G-SYNC from working on notebook displays.
  • Fixed a bug that caused DisplayPort multistream devices to go blank after the console is restored.
  • Fixed a bug that caused a kernel crash when starting X for the second time when more than one DisplayPort multistream device is connected to a single DisplayPort connector via a branch device.
  • Updated nvidia-settings to not have a build-time dependence on an external nvml development package (a regression introduced in 375.10).
  • Fixed a crash in nvidia-settings when adding Application Profile Rule and Profile entries.
  • Removed the "Enable Tooltip" option in nvidia-settings for the GTK 2 interface.
  • Added new X configuration options:
  • ForceCompositionPipeline
  • ForceFullCompositionPipeline
  • which override the MetaMode tokens with the same names.
  • Fixed a bug that caused long delays when leaving the VT or disabling a display device while an OpenGL application is running.
  • Added support for the RandR TILE property added in RandR 1.5.
  • Raised the on-disk OpenGL shader cache size from 64MB to 128MB. Refer to the "Specifying OpenGL Environment Variable Settings" section of the driver README for details on how to select its location or disable it.
  • Fixed a bug in synchronization primitives shared between X and OpenGL.
  • Added support for X.Org xserver ABI 23 (xorg-server 1.19)

New in Nvidia Solaris Display Driver 370.28 (Sep 8, 2016)

  • Fixed undefined symbol references in libnvidia-glcore.so.
  • Updated CurrentMetaMode reporting via the NV-CONTROL API to reflect whether ForceCompositionPipeline or ForceFullCompositionPipeline are set in the current MetaMode.
  • Added the ability to over- and under-clock certain GeForce GPUs in the GeForce GTX 1000 series and later. For GPUs that allow it, an offset can be applied to clock values in some clock domains of all performance levels. This clock manipulation is done at the user's own risk. See the README documentation of the "CoolBits" X configuration option for more details.
  • Added the "PixelShiftMode" MetaMode option, enabling support for 4K and 8K pixel shift displays. See the README for details.

New in Nvidia Solaris Display Driver 367.44 (Aug 23, 2016)

  • Added support for the following GPUs:
  • TITAN X (Pascal)
  • GeForce GTX 1060 6GB
  • GeForce GTX 1060 3GB
  • Fixed a regression that caused applications using indirect GLX to crash.
  • Fixed a regression introduced in 367.35 that caused the first modeset of the X server to display blank if the features requested in the X configuration file enabled the X driver's composition pipeline. This would be triggered, e.g., by MetaMode tokens such as ForceCompositionPipeline, ForceFullCompositionPipeline, Rotation, Reflection, and Transform.

New in Nvidia Solaris Display Driver 367.35 (Jul 15, 2016)

  • Fixed a bug that caused X to crash when applying changes to the RandR CscMatrix property while VT-switched away from X.
  • Fixed a bug that caused a crash when exiting nvidia-settings on displays with 8 or 15 bit color depths.
  • Added support for VDPAU Feature Set H to the NVIDIA VDPAU driver. GPUs with VDPAU Feature Set H are capable of hardware-accelerated decoding of 8192x8192 (8k) H.265/HEVC video streams.
  • Added support for querying clock values on Pascal GPUs.
  • Removed the Base Mosaic configuration option from nvidia-settings on systems where the feature is not actually supported.
  • Fixed a bug that caused nvidia-smi to report an inaccurate version number.

New in Nvidia Solaris Display Driver 367.27 (Jun 13, 2016)

  • Added support for VDPAU Feature Set H to the NVIDIA VDPAU driver. GPUs with VDPAU Feature Set H are capable of hardware-accelerated decoding of 8192x8192 (8k) H.265/HEVC video streams.
  • Fixed a bug that caused the X server to sometimes skip displaying Vulkan frames when the Composite extension is enabled.
  • Fixed a bug that would cause OpenGL applications to crash when creating a context on one X display connection, then making it current with no associated drawable on another X display connection. This fixes a crash when starting some versions of Matlab.
  • Fixed OpenGL presentation to SDI through the GLX_NV_video_out and GLX_NV_present_video extensions, which was broken by the introduction of the nvidia-modeset kernel module in 358.09.
  • Fixed a bug that caused an incorrect offset to be applied when using the full composition pipeline on a display whose image has both a rotation and a ViewportOut offset applied.
  • Fixed a bug that could cause nvidia-settings to crash on some systems when responding to events such as hotplugging DisplayPort devices.
  • Fixed a bug that could cause crashes in OpenGL applications which use glTextureView() with a non-zero minlevel.
  • Enhanced the Display Device information page in nvidia-settings with additional information for DisplayPort devices to reflect attributes which are specific to DisplayPort connections.
  • Fixed a bug which could cause deleted application profiles to appear when editing rules in the nvidia-settings control panel.
  • Fixed a bug that caused hangs when a G-SYNC monitor is unplugged and a non-G-SYNC monitor is connected while G-SYNC is active.
  • Fixed a bug that caused "nvidia-modeset: ERROR: GPU:0: Activating G-SYNC failed" to be printed to the system log if a G-SYNC monitor is connected and stereo is enabled in xorg.conf on a configuration that doesn't support it.
  • Added the NV_robustness_video_memory_purge OpenGL extension, which
  • allows applications to know when a mode switching or power event purged the contents of FBOs and BOs residing in video memory.
  • Fixed a bug that prevented HDMI 2.0 4K monitors from waking up from sleep or hot-replug.

New in Nvidia Solaris Display Driver 361.45.11 (May 24, 2016)

  • Added support for the following GPUs:
  • Quadro M5500
  • Fixed a bug that sometimes prevented flipping from being enabled on systems with multiple displays.
  • Fixed a bug that could cause applications to crash when using the EGL_EXT_platform_device extension on a system with multiple GPUs.

New in Nvidia Solaris Display Driver 364.19 (Apr 22, 2016)

  • Added support for the following GPUs:
  • Quadro M6000 24GB
  • Quadro M5500
  • Fixed a bug that could cause incorrect frame rate reporting on Quadro Sync configurations with multiple GPUs.
  • Improved X colormap precision from 8 significant bits to 11 on GeForce GPUs.Quadro GPUs already used 11 bits of precision.
  • Added a new RandR property, CscMatrix, which specifies a 3x4 color-space conversion matrix.The matrix is applied after the X colormap and before the gamma ramp.This property is available on GF119 and newer GPUs.
  • Improved handling of the X gamma ramp on GF119 and newer GPUs.On these GPUs, the RandR gamma ramp is always 1024 entries and now applies to the cursor and VDPAU or workstation overlays in addition to the X root window.
  • Improved the interactivity of applications that use a hardware cursor while G-SYNC is active.

New in Nvidia Solaris Display Driver 361.42 (Mar 30, 2016)

  • Added support for the following GPUs:
  • GeForce 920MX
  • GeForce 930MX
  • Quadro M6000 24GB
  • Limited the default concurrency level in nvidia-settings to 32, to avoid hitting the maximum tasks limit on systems with many CPUs.
  • Fixed a regression that caused GPU exceptions and incorrect rendering when using pbuffers with EGLDevice.
  • Fixed a bug that caused nvidia-settings to crash when pairing glasses with the 3D Vision Pro transmitter on some systems.
  • Fixed a bug that caused installer manifest entries for some 32-bit compatibility libraries to be duplicated in the installer package.
  • Fixed a regression that caused the HSync and VSync mode timing polarity flags to be inverted.

New in Nvidia Solaris Display Driver 361.28 (Feb 10, 2016)

  • The OpenGL Vendor-Neutral Driver (GLVND) infrastructure is now included and supported by the NVIDIA GLX and OpenGL drivers. This should not cause any visible changes in behavior for end users, but some internal driver component libraries have been renamed and/or moved as a result. These changes may affect scripts that rely on the presence of NVIDIA OpenGL driver components other than those specified in the Linux OpenGL ABI version 1.0, maintainers of alternative NVIDIA driver installation packages, and applications which rely on the presence of any non- OpenGL/GLX symbols in the libGL.so.1 library and its dependencies in any way. Please see https://github.com/NVIDIA/libglvnd. For more information on the GLVND project. The Linux OpenGL ABI version 1.0 specification is available at https://www.opengl.org/registry/ABI
  • Updated nvidia-installer to run ldconfig(8) and depmod(8) after uninstalling an existing driver, instead of only running these two commands when installing a new driver.
  • Removed the VDPAU wrapper and trace libraries libvdpau.so.1 and libvdpau_trace.so.1 from the driver package. These libraries may be available via your distribution's package management system, or can be compiled from the sources available at http://people.freedesktop.org/~aplattner/vdpau/. Please see http://freedesktop.org/wiki/Software/VDPAU/ for more information.
  • Fixed a bug in the EGL driver where a mutex was unlocked more than once. This triggers undefined behavior, and in particular, if lock elision is enabled in glibc, may result in a segmentation fault.

New in Nvidia Solaris Display Driver 358.16 (Nov 21, 2015)

  • 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:
  • https://bugzilla.redhat.com/show_bug.cgi?id=1271401
  • 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).

New in Nvidia Solaris Display Driver 352.63 (Nov 19, 2015)

  • Added support for the following GPUs:
  • GeForce 945M
  • Quadro M5000M
  • Quadro M4000M
  • Quadro M3000M
  • Quadro M2000M
  • Quadro M1000M
  • Quadro M600M
  • NVS 810
  • Fixed a regression that prevented DPMS from working correctly on some DisplayPort displays.
  • Fixed a bug that could prevent X from starting when configured with multiple X screens, some of which scan out to display devices, and some of which do not.
  • Fixed a bug that could cause texture corruption in some OpenGL applications when video memory is exhausted by a combination of simultaneously running graphical and compute workloads.
  • Added support for X.Org xserver ABI 20 (xorg-server 1.18).

New in Nvidia Solaris Display Driver 355.11 (Sep 1, 2015)

  • Added support for the following GPUs:
  • Quadro M4000
  • Quadro M5000
  • Fixed a bug that caused applications using OpenCL or CUDA with OpenGL interopability to crash when using GLX indirect rendering.
  • Fixed a bug that caused VDPAU to only display the top half of a video frame when decoding and displaying H.265/HEVC encoded video streams.
  • Fixed a bug that could cause GPU exceptions when using glReadPixels() on the depth or stencil buffers of multisample windows while resizing or moving the windows.
  • Fixed a bug that could cause data from one texture level to overwrite data from the next lowest level, when creating a texture view that did not include the higher of the two levels.
  • Fixed a bug that could cause the nvidia-settings control panel to crash when updating the display layout.
  • Corrected some erroneous reporting of support for GLX extensions: several extensions were being reported as supported for indirect GLX, which were in fact only supported under direct rendering.
  • Added support for the following EGL extensions:
  • EGL_KHR_swap_buffers_with_damage
  • EGL_NV_stream_consumer_gltexture_yuv
  • Marked the DeleteUnusedDP12Displays option as deprecated.
  • Version 1.5.0 of the X Resize and Rotate specification added a note that dynamically-created outputs will not be destroyed, so this option is deprecated and will be removed in a future driver release.
  • Added support for VDPAU profiles added in VDPAU 0.9:
  • VDP_DECODER_PROFILE_H264_BASELINE
  • VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
  • VDP_DECODER_PROFILE_H264_EXTENDED
  • VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH
  • VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH
  • Fixed a bug that prevented more than one RandR output from sharing user-added modes.
  • Fixed a bug that caused application-specified swap intervals to be ignored on some screens when using Xinerama.
  • Fixed a bug that caused user-supplied RandR modes with nonsensical combinations of the +HSync, -HSync, +VSync, and -VSync flags to corrupt the mode list.
  • Added support to make an OpenGL 3.0 and above context current without making current to any drawable.

New in Nvidia Solaris Display Driver 352.41 (Aug 28, 2015)

  • Added support for the following GPUs:
  • Quadro M4000
  • Quadro M5000
  • Fixed a bug that caused VDPAU to only display the top half of a video frame when decoding and displaying H.265/HEVC encoded video streams.
  • Fixed a bug that caused the X server to crash if an OpenGL application tried to allocate a drawable when GPU-accessible memory is exhausted.

New in Nvidia Solaris Display Driver 352.30 (Jul 28, 2015)

  • Added support for the following GPU:
  • GeForce 910M
  • Fixed a bug that caused poor video post-processing performance in VDPAU when operating on a large number of video streams simultaneously.
  • 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.

New in Nvidia Solaris Display Driver 346.72 (Jun 24, 2015)

  • Added support for the following GPUs:
  • Tesla K40t
  • GeForce 720A
  • GeForce 920A
  • GeForce 930A
  • GeForce 940A
  • GeForce GTX 950A
  • GeForce GTX 980 Ti
  • 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.
  • Updated nvidia-installer to use modprobe(8) when leaving the NVIDIA kernel module loaded after installation, instead of insmod(8) or libkmod. This allows the kernel module to honor any configuration directives that apply to it in /etc/modprobe.d when it is loaded.
  • Fixed a bug that allowed console messages from the Linux kernel to be drawn over the user interface of nvidia-installer.

New in Nvidia Solaris Display Driver 352.21 (Jun 16, 2015)

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

New in Nvidia Solaris Display Driver 346.72 (May 13, 2015)

  • Fixed a bug causing loss of stereo synchronization in certain Quadro Sync framelock configurations.
  • Fixed Pixel Buffer Object operations when row length is less than width. GL_[UN]PACK_ROW_LENGTH can be set to a value lower than the width of the operation being carried out. The OpenGL specification allows for this (the source or destination lines will be overlapping). Previously, our implementation of Pixel Buffer Objects did not support this case and would throw an error.
  • Fixed a rare deadlock condition when running applications that use OpenGL in multiple threads on a Quadro GPU.

New in Nvidia Solaris Display Driver 346.59 (Apr 7, 2015)

  • Added support for the following GPUs:
  • Quadro K1200
  • Quadro M6000
  • Fixed a bug that caused corruption when switching display modes in some applications that use transform feedback.
  • Fixed a bug that caused texture corruption on framebuffer depth attachments cleared using glClearTexImage().
  • Fixed a bug that artificially limited the maximum pixel clock on displays in some SLI Mosaic configurations.
  • Fixed a kernel memory leak that occurred when looping hardware-accelerated video decoding with VDPAU on Maxell-based GPUs.

New in Nvidia Solaris Display Driver 346.47 (Feb 25, 2015)

  • Added support for the following GPUs:
  • Quadro K620M
  • Quadro K2200M
  • Fixed a bug that could cause rendering corruption in GLX clients using PBOs and/or VBOs when using GLX indirect rendering.
  • Fixed a bug that caused Xinerama layouts which included X screens with 'Option "UseDisplayDevice" "none"' to be represented incorrectly in the nvidia-settings control panel.
  • Fixed a bug that could cause glXSwapBuffer() to block for longer than necessary in multi-threaded GLX applications using the GLX_NV_delay_before_swap extension.
  • Fixed a bug that caused OpenGL applications using the NV_path_rendering extension to crash after a modeswitch event.
  • Fixed a bug that caused DisplayPort audio to stop working after monitors are hotplugged.

New in Nvidia Solaris Display Driver 346.35 (Jan 18, 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 Nvidia Solaris Display Driver 340.65 (Dec 10, 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 Nvidia Solaris Display Driver 343.36 (Dec 5, 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 Nvidia Solaris Display Driver 340.46 (Oct 2, 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 Nvidia Solaris Display Driver 343.22 (Sep 19, 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 Nvidia Solaris Display Driver 340.32 (Sep 12, 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 Nvidia Solaris Display Driver 331.49 (Feb 19, 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 Nvidia Solaris Display Driver 331.38 (Jan 13, 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 Nvidia Solaris Display Driver 325.15 (Nov 15, 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.

New in Nvidia Solaris Display Driver 331.20 (Nov 9, 2013)

  • Fixed a bug that prevented configuration files containing application profiles from being loaded when directories were present in the application profile configuration search path.
  • Fixed a bug that could lead to memory exhaustion in OpenGL applications running on 32-bit systems.
  • 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.
  • Changed the clipping behavior of the NVIDIA X driver on Trapezoids and Triangles for some RENDER operations to match the behavior in newer versions of Pixman:
  • http://lists.freedesktop.org/archives/pixman/2013-April/002755.html
  • 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"
  • 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.

New in Nvidia Solaris Display Driver 331.17 Beta (Oct 25, 2013)

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

New in Nvidia Solaris Display Driver 331.13 Beta (Oct 4, 2013)

  • 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.
  • Changed the clipping behavior of the NVIDIA X driver on Trapezoids and Triangles for some RENDER operations to match the behavior in newer versions of Pixman:
  • http://lists.freedesktop.org/archives/pixman/2013-April/002755.html
  • 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 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"
  • 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.

New in Nvidia Solaris Display Driver 319.60 (Oct 2, 2013)

  • Fixed a bug that could cause OpenGL applications to crash during the initialization of new threads.
  • Fixed a bug that caused the GPU and Memory clock frequencies for some PowerMizer performance levels on Kepler boards to be reported incorrectly in the nvidia-settings control panel.
  • Fixed a bug that caused the X server to fail to start on certain laptops when the boot display was on an external DisplayPort monitor, for example if the laptop was booted while the lid was closed.

New in Nvidia Solaris Display Driver 319.49 (Aug 21, 2013)

  • Added support for the following GPUs:
  • NVS 315
  • Quadro K500M
  • Fixed a bug that caused DisplayPort monitors connected to Quadro FX 3800, 4800, or 5800 to remain off after DPMS.
  • 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.

New in Nvidia Solaris Display Driver 325.15 Beta (Aug 6, 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.

New in Nvidia Solaris Display Driver 325.08 Beta (Jul 1, 2013)

  • 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 Mosaic 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 caused the X server to crash when querying the current mode of disabled displays.

New in Nvidia Solaris Display Driver 319.32 (Jun 25, 2013)

  • Updated the nvidia-settings control panel to report more detailed locking information.
  • Fixed a bug that could cause the X server to crash after power-cycling displays connected behind a DisplayPort 1.2 Multi-Stream Transport hub.
  • Fixed a bug that could cause nvidia-settings to crash when switching VTs after changing some settings.
  • Updated the application profile syntax to allow for multiple patterns within a single rule. See the README for details.
  • Fixed a bug that caused OpenGL programs to crash when the __GL_DOOM3 environment variable was set.
  • Fixed a performance regression in MEDINA 8.2.
  • Fixed a bug that caused the OpenGL driver to hang sometimes when running the SpeedTree Modeler application.
  • Fixed a bug that could cause an OpenGL application to crash if it creates and destroys multiple threads.
  • Fixed a bug that caused corrupted window content in some cases when moving GLX windows with antialiasing enabled.
  • Fixed a bug that caused DisplayPort devices that failed link training to be reported as connected rather than disconnected.
  • Fixed a regression that could cause a DisplayPort device that was connected to one connector to turn off when a DisplayPort device on a different connector was connected or disconnected.
  • On Kepler-based GPUs, improved the appearance of the tearing that occurs when using RandR 1.4's Source Output capability.While tearing is still expected, the tears should now appear as horizontal lines rather than more noticeable checkerboard or triangular shapes.
  • Added a "Prefer Consistent Performance" PowerMizer Mode to the nvidia-settings control panel, available on Quadro boards that support this feature.
  • Added 64-bit versions of nvidia-settings, nvidia-xconfig, and libnvidia-cfg to the Solaris driver package.

New in Nvidia Solaris Display Driver 319.23 (May 23, 2013)

  • Fixed a regression that could cause X to crash when querying GPU information through NV-CONTROL on multi-GPU systems where some GPUs failed to be initialized for X.
  • Fixed a bug that could cause X to crash when using Vertex Buffer Objects (VBOs) with indirect rendering.
  • Fixed a bug that prevented some drop-down menus in nvidia-settings from working correctly when using older versions of GTK+.
  • Fixed RandR panning reporting when the current MetaMode is smaller than the X screen.
  • Fixed a regression that caused nvidia-installer to attempt post-processing of non-installed files.
  • Added the "ForceCompositionPipeline" and "ForceFullCompositionPipeline" MetaMode options. See the README for details.
  • Added support for HDMI 4K resolutions. Using a 4K resolution with an HDMI display requires a Kepler or later GPU.
  • Added support in VDPAU for 4k resolution MPEG-1/2 and H.264 video decoding, up to 4032x4048 for MPEG-1/2 and 4032x4080 for H.264, and up to 65536 macroblocks for both.

New in Nvidia Solaris Display Driver 319.17 (May 2, 2013)

  • Fixed a bug that could cause the X server to crash when repeatedly enabling and disabling displays.
  • Updated nvidia-settings to preserve the relative positioning of displays when changing from a layout where multiple displays are on the same X screen to one where the same displays span multiple X screens.
  • Fixed nvidia-settings to dlopen(3) "libvdpau.so.1", rather than "libvdpau.so".
  • Fixed CVE-2013-0131: NVIDIA UNIX GPU Driver ARGB Cursor Buffer Overflow in "NoScanout" Mode. This buffer overflow, which occurred when an X client installed a large ARGB cursor on an X server running in NoScanout mode, could cause a denial of service (e.g., an X server segmentation fault), or could be exploited to achieve arbitrary code execution.
  • For more details, see: http://nvidia.custhelp.com/app/answers/detail/a_id/3290
  • Added initial support for restoration of efifb consoles on UEFI systems where the primary display is driven over VGA or TMDS (e.g. DVI, HDMI, or LVDS).
  • Added support for the xorg.conf Monitor section options "Ignore", "Enable", "Primary", and "Rotate".For example, to rotate a monitor identified by a specific EDID hash, one could add the following to /etc/X11/xorg.conf or a file in /etc/X11/xorg.conf.d:
  • Section "Monitor"
  • Identifier "DPY-EDID-ee6cecc0-fa46-0c33-94e0-274313f9e7eb"
  • Option "Rotate" "left"
  • EndSection
  • See the README and the xorg.conf(5) man page for more information.
  • Added an Underscan feature in the nvidia-settings X Server Display Configuration page which allows the configuration of an underscan border around the ViewPortOut.This feature was formerly known as Overscan Compensation.
  • Added support for application profiles to the NVIDIA client-side GLX implementation. See the "Application Profiles" chapter of the README for more information.
  • Added the "PanningTrackingArea" and "PanningBorder" MetaMode attributes.
  • Added support for RandR 1.3 panning.
  • Improved performance when the Accel option is disabled.
  • Updated the nvidia-settings command line interface to accept display device names, as well as optional target qualifiers, e.g.
  • nvidia-settings -q [DVI-I-0]/RefreshRate
  • nvidia-settings -q [GPU-1.DVI_I-1]/RefreshRate
  • Updated the nvidia-settings command line interface to no longer assume the "X screen 0" target, when no target is specified in query and assign operations.Instead, all valid targets of the attribute are processed.
  • Fixed a memory leak that occurred when destroying a GLX window but not its associated X window.
  • Fixed a bug that could cause nvidia-installer to fail to delete directories created as part of a previous installation.
  • Updated nvidia-installer to report failures to remove installed files or restore backed up files with a single warning message, instead of a separate message for each individual failure.
  • Improved the performance of modesets in cases where the mode timings remained the same, but other parameters of the mode configuration, such as the ViewPort or panning domain, changed.
  • Fixed an issue with RENDER convolution filters.The driver will no longer normalize filter kernels before accelerating them.
  • Improved debuggability of the NVIDIA OpenGL libraries by including proper stack unwinding information on all supported architectures.
  • Fixed a bug that caused RENDER Pictures to be sampled incorrectly when using nearest filtering in some cases.
  • Added support for the RandR "Border" and "BorderDimensions" Output properties, which can be used to configure the ViewPortOut of an RandR output.This is functionally equivalent to the "ViewPortOut" MetaMode token.
  • Fixed a bug where RRGetCrtcInfo could report incorrect size information when an RandR output has a custom ViewPortIn.
  • Further improve performance of some versions of HyperMesh with Quadro GPUs.
  • Added a VDPAU page to the nvidia-settings control panel, to display information about the decoding capabilities of VDPAU-capable GPUs.
  • Added support for dynamic mode management through RandR, e.g. via the --newmode, --rmmode, and --delmode options in xrandr(1).
  • Increased the number of pages that are shareable across multiple processes in the x86 build of libnvidia-glcore.so, by reducing its R_386_PC32 relocation count.
  • Fixed a bug that caused XVideo applications to receive BadAlloc errors after VT switches and mode switches that occurred while a composite manager was running.
  • Removed the X driver's support for "CursorShadow".

New in Nvidia Solaris Display Driver 310.44 (Apr 2, 2013)

  • Fixed CVE-2013-0131: NVIDIA UNIX GPU Driver ARGB Cursor Buffer Overflow in "NoScanout" Mode. This buffer overflow, which occurred when an X client installed a large ARGB cursor on an X server running in NoScanout mode, could cause a denial of service (e.g., an X server segmentation fault), or could be exploited to achieve arbitrary code execution.

New in Nvidia Solaris Display Driver 310.40 (Mar 9, 2013)

  • Added support for the following GPUs:
  • Quadro K4000
  • Quadro K2000
  • Quadro K2000D
  • Quadro K600
  • Reduced the amount of time needed to establish framelock in some stereo configurations with many monitors.
  • Fixed a bug where glXSwapIntervalEXT failed to set a swap interval value of zero in certain situations.

New in Nvidia Solaris Display Driver 310.32 (Jan 21, 2013)

  • Fixed a bug when enabling framelock between displays connected to the same GPU as other displays with different refresh rates, which caused the latter to be incorrectly assigned to the framelock group.
  • Updated the reporting of HDMI 3D framerates and pixel clocks to be more consistent with how they are reported by HDMI 3D displays.
  • Fixed a bug that sometimes prevented rotation controls in the nvidia-settings control panel from working after changing resolutions.
  • Fixed a bug that could cause applications using GL_NV_vdpau_interop to crash during modeswitches.
  • Fixed a regression that could cause OpenGL applications to crash while compiling shaders.
  • Added a kernel module parameter, "NVreg_EnablePCIeGen3", which can be used to enable PCIe gen 3 when possible. Note that on many systems where the NVIDIA driver does not allow PCIe gen 3 by default, stability problems can be expected when this option is enabled: users should do so at their own risk.
  • Fixed a VDPAU bug that could cause the X server to hang when decoding some corrupted video streams.
  • Renamed VGX products to GRID products in the "Supported NVIDIA GPU Products" list.
  • Added support for X.org xserver ABI 14 (xorg-server 1.14).
  • Fixed a bug in nvidia-settings that could cause the wrong resolution to be set in basic mode for setups based on one display per X screen.
  • Fixed libnvidia-encode.so library dependency by linking it with libnvcuvid.so.1 instead of libnvcuvid.so while creating it.
  • Improved performance of OpenGL framebuffer object binds with Xinerama enabled by 2000-3000% when the application's windows do not span screen boundaries.
  • Fix performance issues when using some versions of HyperMesh with Quadro GPUs.

New in Nvidia Solaris Display Driver 310.19 (Nov 16, 2012)

  • Added support for OpenGL 4.3.
  • Added a new X configuration option, "UseHotplugEvents", to allow the suppression of RandR events when adding or removing non-DisplayPort displays. See the "X Config Options" appendix of the README for details.
  • Added support for configuring stereo in nvidia-settings when stereo is enabled in the X configuration file.
  • Added support for configuring the ViewPortIn and ViewPortOut for display devices in nvidia-settings.
  • Fixed metamode bookkeeping when modifying the display configuration in the "X Server Display Configuration" page of nvidia-settings.
  • Added support for configuring rotation and reflection per display device in nvidia-settings.
  • Implemented workarounds for two Adobe Flash bugs by applying libvdpau commit ca9e637c61e80145f0625a590c91429db67d0a40 to the version of libvdpau shipped with the NVIDIA driver.
  • Fixed an issue which affected the performance of moving windows of VDPAU applications when run in some composite managers.
  • Added unofficial GLX protocol support (i.e., for GLX indirect rendering) for the GL_ARB_pixel_buffer_object OpenGL extension.
  • Added support for HDMI 3D Stereo with Quadro Kepler and later GPUs. See the documentation for the "Stereo" X configuration option in the README for details.
  • Added experimental support for OpenGL threaded optimizations, available through the __GL_THREADED_OPTIMIZATIONS environment variable. For more information, please refer to the "Threaded Optimizations" section in chapter "Specifying OpenGL Environment Variable Settings" of the README.
  • Improved performance and responsiveness of windowed OpenGL applications running inside a Unity session.

New in Nvidia Solaris Display Driver 304.64 (Nov 6, 2012)

  • Fixed a regression in backlight control functionality on some notebook configurations.
  • Fixed a bug that sometimes prevented the display device / X screen selection menu from being displayed in nvidia-settings.
  • Fixed a bug that prevented X driver gamma manipulation from working after a VT-switch on some configurations.
  • Added the option "--output-file" to nvidia-bug-report.sh to allow specifying a custom filename for the log file.
  • Fixed a hang when using OpenGL programs with some SLI Mosaic configurations on pre-Fermi GPUs.
  • Added sections to the "Supported NVIDIA GPU Products" list for NVS, Tesla, and VGX products.

New in Nvidia Solaris Display Driver 304.60 (Oct 19, 2012)

  • Fixed a bug that caused the X server to crash if a display was put into DPMS off mode and subsequently reenabled while screen transformations are in use.
  • Fixed a bug that caused the X Resize and Rotate extension to be enabled when Xinerama is enabled. These two X extensions are incompatible and having them both enabled can confuse window managers such as KDE's kwin. RandR is now correctly disabled when Xinerama is enabled.
  • Fixed a bug causing OpenGL stereo applications to not work properly when using passive stereo modes 5 through 9 on Quadro Fermi and newer GPUs.
  • Updated nvidia-settings to report Dedicated GPU Memory (i.e., the memory dedicated exclusively to the GPU) and Total GPU Memory (i.e., Dedicated GPU Memory plus any TurboCache(TM)-accessible system memory) separately on the GPU information page.
  • Added reporting of the current utilization of Dedicated GPU Memory to the GPU information page of nvidia-settings.
  • Added support for the "Backlight" RandR output property for configuring the brightness of some notebook internal panels.
  • Fixed a bug that prevented the Ubuntu Unity launcher panel from unhiding: https://bugs.launchpad.net/unity/+bug/1057000
  • Fixed a bug that caused nvidia-installer to sometimes attempt to write a log file in a nonexistent directory.
  • Fixed a bug that caused incorrect input transformation after resizing an NVIDIA X screen with xserver ABI 12 (xorg-server 1.12) or newer.
  • Fixed a bug that caused GLX to leak memory when Xinerama is enabled.

New in Nvidia Solaris Display Driver 304.51 (Sep 25, 2012)

  • Added support for the new Quadro Sync board for Quadro Kepler GPUs. See the "Configuring Frame Lock and Genlock" chapter in the README for details.
  • Fixed an X server crash on X.Org xserver 1.13 when it is compiled without support for DRI2.
  • Fixed a regression that broke color controls on older X servers.
  • Fixed a bug that sometimes caused the display layout area of the nvidia-settings control panel to be laid out incorrectly.
  • Fixed a bug that prevented panning from working correctly after a modeswitch on some X servers with support for cursor constraining.
  • Gamma ramp and colormap adjustments now apply correctly when screen transformations such as rotation and keystone correction are in use.
  • Fixed RandR per-CRTC gamma persistence across modeswitches and VT-switches.
  • Fixed a bug that caused the X server to sometimes hang in response to input events.
  • Fixed a reduction in rendering performance for core X11 rendering on certain GPUs that occurred in the 290.series of releases.
  • Fixed a bug that prevented PowerMizer from working correctly on some boards with GDDR5 memory, such as some GeForce GT 240 SKUs.
  • Fixed a bug that caused OpenGL applications to not animate properly when a rotation or a transformation was applied on some older X server versions.
  • Enabled FXAA with Unified Back Buffers.
  • Fixed a bug that prevented the "Reset Hardware Defaults" button in the Display Settings page of nvidia-settings from being activated.

New in Nvidia Solaris Display Driver 304.43 (Aug 28, 2012)

  • Added support for the following GPUs:
  • Quadro K5000
  • Quadro K5000M
  • Quadro K4000M
  • Quadro K3000M
  • NVS 510
  • Fixed a bug that caused pre-release versions of X.Org xserver 1.13 to crash when certain GLX operations were performed, such as when starting Firefox.
  • Fixed a bug that caused VDPAU to hang when expanding the YouTube Flash Player.
  • Fixed a bug that caused gnome-settings-daemon to revert display configuration changes made by nvidia-settings.
  • Updated nvidia-settings to use RandR per-CRTC gamma control, when available. When controlling an X server with support for RandR 1.2, nvidia-settings will display the color correction widget as a tab within each display device page, instead of a per-X screen color correction page.
  • Fixed a bug that prevented the display palette from being updated immediately after an application called XStoreColors.
  • Added the ability to select and move X screens in the "X Server Display Configuration" page of nvidia-settings via Ctrl-(Left)Click + Drag.

New in Nvidia Solaris Display Driver 304.37 (Aug 14, 2012)

  • Added support for the following GPUs:
  • GeForce GTX 680M
  • Quadro K1000M
  • Quadro K2000M
  • Tesla K10
  • Removed the ability to enable SLI on GPUs with ECC enabled.
  • Fixed several bugs that prevented some RandR transform geometries from being applied.
  • Fixed a bug that caused frequent hangs or crashes on some systems.
  • Fixed a bug that would cause corruption and performance issues in certain OpenGL applications such as Amnesia: The Dark Descent on GeForce 6 and 7 GPUs.
  • Fixed a bug that caused applications that use DirectColor visuals, such as Enemy Territory: Quake Wars and Braid, to appear in shades of blue instead of the correct colors.
  • Modified handling of RRSetScreenSize requests to ignore requests that do not actually resize the screen.This reduces screen flicker in certain cases when using GNOME.
  • Added a new option, "--disable-nouveau" to nvidia-installer. This option changes the action that is chosen by default when Nouveauis detected by nvidia-installer. If the "--disable-nouveau" optionis set, then the default will be to attempt to disable Nouveau when it is detected; otherwise, no attempt will be made unless requested.
  • Added support for xserver ABI 13 (xorg-server 1.13).
  • Added support for RandR per-CRTC gamma manipulation through the RandR 1.2 RRGetCrtcGammaSize, RRGetCrtcGamma, and RRSetCrtcGamma requests.
  • Fixed a bug that caused RRSetOutputPrimary requests to incorrectly generate BadValue errors when setting the primary output to None.This caused gnome-settings-daemon to crash after changing the screen configuration in response to a display hotplug or the display change hot-key being pressed.
  • Fixed a problem where RENDER Glyphs operations would exhibit severe performance issues in certain cases, such as when used with gradients by Cairo and Chromium.
  • Fixed a bug that caused X to hang when resuming certain DisplayPort display devices (such as Apple brand mini-DisplayPort to dual-link DVI adapters) from power-saving mode.
  • Fixed a bug that caused an X screen to be extended to Quadro SDI Output devices by default. An X screen will still use an SDI Output device if it is the only display device available. To use a SDI Output device on an X screen with other display devices available, include the SDI Output device with either the "UseDisplayDevice" or "MetaMode" X configuration options.
  • Updated X11 modeline validation such that modes not defined in a display device's EDID are discarded if the EDID 1.3 "GTF Supported" flag is unset or if the EDID 1.4 "Continuous Frequency" flag is unset. The new "AllowNonEdidModes" token for the ModeValidationX configuration option can be used to disable this new check.
  • Fixed a bug, introduced in the 295.xx release series, with EDID detection on some laptop internal panels. This bug caused the laptop internal panel to show six small copies of the desktop.
  • Added support for FXAA, Fast Approximate Anti-Aliasing. Using regular anti-aliasing modes or Unified Back Buffers with FXAA is not currently supported.
  • Enhanced the functionality of the IncludeImplicitMetaModes X configuration option: Implicit MetaModes will be added for the primary display device, even if multiple display devices are in use when X is initialized.
  • Implicit MetaModes will be added for common resolutions, even
  • if there isn't a mode with that resolution in the mode pool of
  • the display device.
  • Extended the syntax of the IncludeImplicitMetaModes X
  • configuration option, e.g., to control which display device is
  • used for creation of implicit MetaModes.
  • See the description of the IncludeImplicitMetaModes X configuration
  • option in the README for details.
  • Modified the handling of the RandR 1.0/1.1 requests RRGetScreenInfo and RRSetScreenConfig (e.g., `xrandr -q --q1` and `xrandr --size ...` and `xrandr --orientation ...`) such that they operate on MetaModes. This was the behavior in NVIDIA X driver versions 295.xx and earlier, but 302.xx releases altered the handling of these RandR 1.0/1.1 requests to operate on a single RandR output's modes.
  • With the above changes to IncludeImplicitMetaModes and RandR 1.0/1.1 handling, fullscreen applications (e.g., SDL-based applications, Wine), should have more resolutions available to them, and should interact better with multiple monitor configurations.
  • Fixed a bug that could cause G8x, G9x, and GT2xx GPUs to display a black screen or corruption after waking up from suspend.
  • Fixed several bugs that could cause some OpenGL programs to hang when calling fork(3).
  • Fixed an nvidia-settings bug that caused the results of ProbeDisplays queries made with the --display-device-string option to be formatted incorrectly.
  • Improved the responsiveness of updates to the nvidia-settings control panel when displays are hotplugged.
  • Fixed a bug that caused display corruption when setting some transforms, especially when panning a transformed display.
  • Fixed a bug that caused extra RandR events to be generated the first time a display is hotplugged.
  • Fixed a bug that caused X11 modelines with '@' in their names to be rejected.
  • Added support for DisplayPort 1.2 branch devices, which allow multiple displays to be connected to a single DisplayPort connector on a graphics board.
  • Fixed a bug that caused most OpenGL texture uploads to be slow when the context was bound rendering to an RGB overlay drawable.
  • Fixed a bug that caused audio over HDMI to not work after restarting the X server on some MCP7x (IGP) GPUs.
  • Updated the X configuration option "UseDisplayDevice" to honor the value "none" on any GPU.
  • Added support for DKMS in nvidia-installer. Installing the kernel module through DKMS allows the module to be rebuilt automatically when changing to a different Linux kernel. See the README and the nvidia-installer help text for the "--dkms" option.
  • Added RandR output properties _ConnectorLocation, ConnectorNumber, ConnectorType, EDID, _GUID, and SignalFormat. See the README for details on these properties.
  • Extended support for Base Mosaic to all G80+ SLI configurations with up to three displays.
  • Fixed a bug that caused some monitors to fail to wake from DPMS suspend mode when multiple DisplayPort monitors were attached to one GPU.
  • Removed controls for XVideo attributes from the "X Server XVideo Settings" page of the nvidia-settings control panel. XVideo attributes can be configured in XVideo player applications, or through utilities such as xvattr.
  • Fixed a bug that caused all ports on an XVideo adaptor to share color correction settings.
  • Removed support for the following X configuration options:
  • SecondMonitorHorizSync
  • SecondMonitorVertRefresh
  • Similar control is available through the NVIDIA HorizSync and
  • VertRefresh X configuration options. Please see the NVIDIA driver
  • README for details.
  • Fixed a bug that prevented NVIDIA 3D Vision Pro from working properly when switching between X servers on different VTs.
  • Added support for desktop panning when rotation, reflection, or transformation is applied to a display device (either through RandR or through the MetaMode syntax); panning would previously be ignored in that case.
  • Implemented hotfix for a privilege escalation vulnerability reported on August 1, 2012. For more details, see:
  • http://nvidia.custhelp.com/app/answers/detail/a_id/3140

New in Nvidia Solaris Display Driver 302.17 (Jun 16, 2012)

  • Made nvidiaXineramaInfoOrder consistent with the RRSetOutputPrimary and RRGetOutputPrimary RandR requests: changes to either nvidiaXineramaInfoOrder or RandR OutputPrimary will be reflected in the other.
  • Fixed an interaction problem between RandR 1.2, ConstrainCursor, and panning that prevented panning from working properly.
  • Fixed a bug that caused RandR RRNotify_CrtcChange events to not be generated when switching between MetaModes with the same total size but different layout of display devices. This bug caused some window managers to not update their layouts in response to switching same-sized MetaModes.
  • Added support for desktop panning when rotation, reflection, or transformation is applied to a display device (either through RandR or through the MetaMode syntax); panning would previously be ignored in that case.
  • Added an "EDID" property to RandR 1.2 outputs. This property contains the binary contents of the connected monitor's extended display identification data, which allows applications such as the GNOME display properties dialog to query information about it.
  • Fixed a bug that caused audio over HDMI to not work on some GPUs after querying the RandR configuration (e.g., `xrandr -q`).
  • Added the "nvidiaXineramaInfo" X configuration option to report the layout of multiple display devices within an X screen. This is enabled by default. When disabled on X servers with RandR 1.2 support, the NVIDIA X driver will report one screen-sized region. When disabled on X servers without RandR 1.2 support, no Xinerama information will be reported. For backwards compatibility, the "NoTwinViewXineramaInfo" option disables nvidiaXineramaInfo.
  • Added the "nvidiaXineramaInfoOrder" X configuration option as a replacement for "TwinViewXineramaInfoOrder". For backwards compatibility, "TwinViewXineramaInfoOrder" is kept as a synonym for "nvidiaXineramaInfoOrder".
  • Added the "nvidiaXineramaInfoOverride" X configuration option as a replacement for "TwinViewXineramaInfoOverride". For backwards compatibility, "TwinViewXineramaInfoOverride" is kept as a synonym for "nvidiaXineramaInfoOverride".
  • Fixed a bug that prevented the use of some SLI Mosaic topologies.
  • Added the "MetaModeOrientation" X configuration option as a replacement for "TwinViewOrientation". "TwinViewOrientation" is kept as a synonym for "MetaModeOrientation", for backwards compatibility.
  • Added support for calculating the physical size and DPI of each RandR 1.2 Output using the EDID Detailed Timing Description.
  • Fixed a bug that prevented a workaround for the invalid EDID in certain AUO laptop flat panels from being applied, leading to an 800x600 desktop repeated several times across the screen.
  • Fixed a bug that caused the link configuration of DisplayPort devices to be reported incorrectly in nvidia-settings.
  • Fixed a bug that caused OpenGL programs to leak file descriptors when calling exec() on themselves.
  • Fixed rendering corruption at the start of new X server generation.
  • Added X driver support for RandR 1.2 and RandR 1.3. See "Support for the X Resize and Rotate Extension" in the README for details.
  • Extended the MetaMode X configuration option syntax with the following new attributes:
  • "Rotation" : specifies the display device's rotation
  • "Reflection" : specifies the display device's reflection
  • "Transform" : specifies a 3x3 transformation matrix to be
  • applied to the display device
  • "ViewPortOut" : specifies the region of the mode in which to
  • display pixels
  • "ViewPortIn" : specifies the size of the region in the X screen
  • to display in the ViewPortOut
  • For example, "DFP-0: nvidia-auto-select { Rotation=left }".
  • See "Configuring Multiple Display Devices on One X Screen" in the
  • README for details.
  • Removed the "TwinView" X configuration option; the functionality it provided is now enabled by default.
  • Previously, the NVIDIA X driver only enabled one display device for an X screen unless "TwinView" was enabled. Now, the NVIDIA X driver enables, by default, as many display devices as the GPU supports driving simultaneously. To limit how many display devices are driven by an X screen, use the "UseDisplayDevice" X configuration option.
  • Added a "CurrentMetaMode" attribute to the nvidia-settings command line, to query and set the current MetaMode.
  • As an example, these two commands are equivalent:
  • xrandr --output DVI-I-2 --mode 1280x1024 --pos 0x0 --output DVI-I-3 --mode 1920x1200 --pos 1280x0
  • nvidia-settings --assign CurrentMetaMode= "DVI-I-2: 1280x1024 +0+0, DVI-I-3: 1920x1200 +1280+0"
  • Removed overscan compensation configurability from NV-CONTROL and nvidia-settings. This can be configured, with finer granularity, through the ViewPortIn and ViewPortOut MetaMode attributes.See "Configuring Multiple Display Devices on One X Screen" in the README for details.
  • Altered mode validation such that for digital display devices the X driver only allows, by default, modes which are reported in the EDID. Previously, the NVIDIA X driver allowed other modes, but implicitly scaled those other modes to one of the EDID modes.
  • Now, only the modes in the EDID are validated and the X driver does not do any implicit scaling. Any desired scaling can be configured explicitly through the new "ViewPortIn" and "ViewPortOut" MetaMode attributes. See "Configuring Multiple Display Devices on One X Screen" in the README for details.
  • Removed Flat Panel Scaling configurability in nvidia-settings. Any desired scaling can be configured through the new "ViewPortIn" and "ViewPortOut" MetaMode attributes.
  • Hotplug events (specifically, the RRNotify_OutputChange RandR event) are now generated when display devices are connected and disconnected from the GPU. Many desktop environments automatically
  • resize the X desktop in response to these events.
  • Added display device name aliases, such that X configuration options that use display device names can refer to a display device by one of several names, including the RandR Output name for the display device. The X log reports the list of aliases for each display device.
  • Updated EDID parsing to include more complete support for EDID 1.4 and more recent versions of CEA-861.
  • Removed the "Rotate" X configuration option. This was used to statically rotate the X screen. Its functionality is replaced by the "Rotation" MetaMode attribute and RandR 1.2 rotation support. See the README for details.
  • Removed the "RandRRotation" X configuration option. This enabled configurability of X screen rotation via RandR 1.1. Its functionality is replaced by the "Rotation" MetaMode attribute and RandR 1.2 rotation support. See the README for details.
  • Removed support for the following NV-CONTROL attributes:
  • NV_CTRL_GPU_SCALING
  • NV_CTRL_GPU_SCALING_DEFAULT_TARGET
  • NV_CTRL_GPU_SCALING_DEFAULT_METHOD
  • NV_CTRL_DFP_SCALING_ACTIVE
  • NV_CTRL_GPU_SCALING_ACTIVE
  • NV_CTRL_FRONTEND_RESOLUTION
  • NV_CTRL_BACKEND_RESOLUTION
  • NV_CTRL_OVERSCAN_COMPENSATION
  • NV_CTRL_FLATPANEL_BEST_FIT_RESOLUTION
  • Improved rendering performance for RENDER bitmap text.
  • Enabled the OpenGL "Sync to VBlank" option by default.
  • Added a new option, --restore-original-backup, to nvidia-xconfig. nvidia-xconfig creates a backup of the original X configuration file when modifying an X configuration file that does not appear
  • to have been previously modified by nvidia-xconfig. This option restores a backup of the original X configuration file, if such a backup is found.
  • Expose the following additional FSAA modes via NV-CONTROL, nvidia-settings, and through X visuals and GLXFBConfigs:
  • 16X multisample FSAA on all GeForce GPUs
  • Coverage sample FSAA on G80 and above GeForce GPUs
  • 32X multisample FSAA on G80 and above Quadro GPUs
  • 64X multisample FSAA on Fermi and above Quadro GPUs
  • Enabled conformant texture clamping by default in OpenGL.
  • Removed support for the GVO Clone mode NV-CONTROL attributes:
  • NV_CTRL_GVO_DISPLAY_X_SCREEN
  • NV_CTRL_GVO_X_SCREEN_PAN_X
  • NV_CTRL_GVO_X_SCREEN_PAN_Y
  • Added a new, higher resolution icon for nvidia-settings.
  • Updated the NVIDIA X driver's handling of X configuration options that affect an entire GPU, not just a particular X screen running on a GPU (e.g., "NoPowerConnectorCheck"): for such X configuration options, the X driver will now honor the option on any of the X screens configured on the GPU. Prior to this change, the NVIDIA X driver only honored such options on the first X screen configured on a GPU.
  • Added a checkbox to nvidia-settings to control the texture clamping attribute. When the box is checked, OpenGL textures are clamped according to the OpenGL specification. When it is unchecked, GL_CLAMP is remapped to GL_CLAMP_TO_EDGE for borderless 2D textures.
  • Removed the "Display" and "X Screen" tabs from the "X Server Display Configuration Page" of nvidia-settings, and added a new "Selection" dropdown menu for selecting X screens or display devices. This makes it easier to select X screens/Displays that are hidden.

New in Nvidia Solaris Display Driver 295.59 (Jun 12, 2012)

  • Added support for the following GPUs:
  • NVS 5400M
  • NVS 310
  • Disabled the use of certain OpenGL optimizations with Autodesk Maya and Mudbox, due to conflicts between these applications and the optimizations. Some performance loss in Autodesk Maya and Mudbox is possible, as a result.
  • Fixed a behavior issue where redundant DPMS state transitions were leading to unexpected screen blanking on DisplayPort displays.

New in Nvidia Solaris Display Driver 295.53 (May 17, 2012)

  • Added support for the following GPU:
  • GeForce GTX 670
  • GeForce 605
  • GeForce GT 610
  • GeForce GT 630
  • GeForce GT 640
  • GeForce GT 645
  • Fixed a bug affecting some G-Sync configurations which could cause active stereo content to be inverted on some display devices.

New in Nvidia Solaris Display Driver 295.40 (Apr 12, 2012)

  • Closed a security vulnerability which made it possible for attackers to reconfigure GPUs to gain access to arbitrary system memory. For further details, see: http://nvidia.custhelp.com/app/answers/detail/a_id/3109
  • Fixed a bug that caused DisplayPort devices to occasionally fail to turn back on after the system is resumed from suspend.

New in Nvidia Solaris Display Driver 295.33 (Mar 23, 2012)

  • Fixed a VDPAU bug where decoding some H.264 streams would cause hardware errors on lower-end products, resulting in corruption and poor performance.
  • Fixed a bug that caused DisplayPort audio to stop working after monitors are hotplugged on GeForce GT 520.
  • Fixed a behavior change that prevented ConnectedMonitor from being usable with DisplayPort connectors.
  • Marked the GVO Clone mode NV-CONTROL attributes:
  • NV_CTRL_GVO_DISPLAY_X_SCREEN
  • NV_CTRL_GVO_X_SCREEN_PAN_X
  • NV_CTRL_GVO_X_SCREEN_PAN_Y
  • as deprecated. They will be removed in a future release. To display an X screen over GVO, it is recommended to use GVO with MetaModes, instead.
  • Fixed a bug that caused DisplayPort devices to not be listed in Xorg.*.log. For example, if only DisplayPort devices are attached, the log file would contain
  • (--) NVIDIA(0): Connected display device(s) on NVIDIA GPU at PCI:2:0:0
  • (--) NVIDIA(0): none
  • Added support for 3D Vision ready displays that have a NVIDIA 3D Vision infrared emitter built inside the panel itself.
  • Fixed a bug that caused OpenGL applications to crash with some libc versions, such as eglibc 2.15.
  • Fixed a bug that caused HDMI audio to stop working on AppleTV devices when an X server was started.

New in Nvidia Solaris Display Driver 295.20 (Feb 13, 2012)

  • Added support for the following GPU:
  • Tesla X2090
  • Fixed a bug that caused black areas to appear on the back faces of some models in Maya.
  • Fixed a bug that resulted in the printing of spurious loader error messages.
  • Fixed a bug that could cause X to crash after hotplugging displays.
  • Fixed a bug which caused face selections to be misrendered in Maya when using the paint selection tool.
  • Improved performance for interactive tools in Mudbox.
  • Added a "--no-opengl-files" option to nvidia-installer to allow installation of the driver without OpenGL files that might conflict with already installed OpenGL implementations.
  • Split the DFP configuration page in nvidia-settings into multiple tabs, allowing the controls to be displayed on smaller screens.
  • Fixed a bug that could cause some OpenGL applications (including desktop environments like KDE and GNOME Shell) to hang.
  • Fixed a bug that prevented the internal panel from working on some laptops with GeForce 7 series GPUs.
  • Fixed an OpenGL bug where using display lists on Fermi-based GPUs could result in missing rendering in some cases.
  • Fixed an OpenGL bug that caused incorrect rendering when using framebuffer objects to render to 16-bit color textures with alpha.
  • Fixed two bugs that caused sporadic application crashes in some multi-threaded OpenGL applications.
  • Fixed a bug that caused creating OpenGL 4.2 contexts with glXCreateContextAttribsARB to fail.
  • Fixed a bug that caused OpenGL to print
  • Xlib: extension "NV-GLX" missing on display ":0". when used with a non-NVIDIA implementation of the GLX X extension.
  • Implemented color depth 30 (10 bits per component) support for GeForce 8 series and higher GPUs.
  • Implemented support for constraining cursors to the visible regions of connected displays; see the "ConstrainCursor" X Option in the README for details.

New in Nvidia Solaris Display Driver 290.10 (Nov 22, 2011)

  • Improved the performance of FBO bind operations when using Xinerama by ~30% in some cases.
  • Fixed a bug that could cause stereo corruption when driving a stereo display and a non-stereo display from the same GPU.
  • Fixed a bug that could cause display devices on a secondary GPU to get swapped between X screens when restarting the X server.
  • Fixed a bug that could result in line flickering in full-scene anti-aliasing contexts.
  • Fixed a bug that caused the physical dimensions of rotated monitors to be reported incorrectly.
  • Add support for the pre-VBO DrawArrays command in the server-side GLX driver module. The NVIDIA client-side GLX implementation never sends this command, but the server needs to support it for compatibility with other GLX client implementations.
  • Fixed a regression that caused blank/white windows when exhausting video memory on GeForce 6 and 7 series GPUs while using composited desktops.
  • Fixed a bug that would cause applications which export custom allocation functions to our driver (such as Adobe Flash in Firefox or Chrome) to crash.
  • Fixed a bug that prevented the driver from loading on some systems with integrated graphics.
  • Fixed issues in VDPAU that prevented allocating and displaying extremely large VdpOutputSurfaces.
  • Added support for limiting heap allocations in the OpenGL driver through the use of the __GL_HEAP_ALLOC_LIMIT environment variable. See the README for further details.
  • Added an "Accel" option to the X driver to allow disabling its use of the graphics processing hardware. This is useful when other components, such as CUDA, require exclusive use of the GPU's processing cores.
  • Modified how the OpenGL driver allocates executable memory so it may continue to function properly if /tmp is mounted noexec. As some fallback allocation methods may be prohibited under SELinux policy, the driver now supports detection of this policy as well as manual override of this detection via the __GL_SELINUX_BOOLEANS environment variable.
  • Fixed a bug that caused various GLSL built-in uniforms to not be updated properly when calling glPopAttrib.
  • Improved performance by caching compiled OpenGL shaders to disk. Added a "GLShaderDiskCache" option to the X driver to enable/disable this feature. Added the __GL_SHADER_DISK_CACHE and __GL_SHADER_DISK_CACHE_PATH environment variables for further configuration. See the README for further details.
  • Added GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extension:
  • GL_NV_copy_image

New in Nvidia Solaris Display Driver 285.05.09 (Oct 6, 2011)

  • Fixed a bug causing a Linux kernel BUG when retrieving CPU information on some systems.
  • Fixed a bug that could result in poor OpenGL performance after hotplugging a monitor.
  • Fixed a bug causing possible text corruption when recovering from GPU errors.
  • Fixed a bug causing corruption of images which are 2047 pixels wide.
  • Improved performance of the RENDER extension on Fermi-based GPUs.
  • Fixed a bug causing the X server to crash after a VT-switch while running an OpenGL stereo application which is a member of a swap group.

New in Nvidia Solaris Display Driver 280.13 (Aug 3, 2011)

  • Fixed a GLX bug that could cause the X server to crash when rendering a display list using GLX indirect rendering.
  • Fixed a GLX bug that could cause a hang in applications that use X server grabs.
  • Fixed an X driver bug that caused 16x8 stipple patterns to be rendered incorrectly.
  • Fixed a GLX_EXT_texture_from_pixmap bug that caused corruption when texturing from sufficiently small pixmaps and, in particular, corruption in the GNOME Shell Message Tray.
  • Added unofficial GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extension:
  • GL_EXT_vertex_attrib_64bit
  • Added GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions:
  • GL_ARB_half_float_pixel
  • GL_EXT_packed_depth_stencil

New in Nvidia Solaris Display Driver 275.21 (Jul 25, 2011)

  • Restored the release splash screen in the NVIDIA X driver (the beta splash screen was accidentally reenabled between 275.09.07 and 275.19).
  • Fixed a bug that caused nvidia-settings to crash when configuring multiple X screens after all monitors were unplugged from one of the X screens.
  • Fixed a bug in nvidia-settings that caused the display configuration page to show extra disabled displays after connecting a new monitor.

New in Nvidia Solaris Display Driver 275.19 (Jul 15, 2011)

  • Fixed memory error and abort reported by glibc when running the application FieldView from Intelligent Light.
  • Fixed an OpenGL driver bug that caused an application crash when running Altair HyperMesh.
  • Fixed a performance problem when switching between stereo and monoscopic rendering in the application Smoke.
  • Fixed poor X driver handling of pixmap out of memory scenarios.
  • Fixed an interrupt handling deficiency that could lead to performance and stability problems when many NVIDIA GPUs shared few IRQs.
  • Fixed bugs in the VDPAU presentation queue that could cause GPU errors and hangs when destroying a presentation queue. This happens when exiting applications, and also when toggling to and from full-screen mode in Adobe Flash.

New in Nvidia Solaris Display Driver 275.09.07 (Jun 14, 2011)

  • Fixed a bug that caused desktop corruption in GNOME 3 after a VT-switch or suspend/resume cycle.
  • Added support for the following GPUs:
  • Quadro 5010M
  • Quadro 3000M
  • Quadro 4000M
  • Fixed a bug that caused freezes and crashes when resizing windows in KDE 4 with desktop effects enabled using X.Org X server version 1.10 or later.
  • Modified the X driver to request that hardware inform the audio driver whenever a display is disabled. This will allow the audio driver to generate the appropriate jack unplug events to applications.
  • Added support for the GL_EXT_x11_sync_object extension. See the extension specification in the OpenGL registry here:
  • http://www.opengl.org/registry/specs/EXT/x11_sync_object.txt for more details.
  • Improved performance of window resize operations in KDE 4 on systems with slow CPUs.
  • Added support for hardware button based pairing to NVIDIA 3D Vision Pro. Single click button on the hub to enter into a pairing mode which pairs one pair of glasses at a time. Double click the same button on the hub to enter into a pairing mode which pairs multiple pairs of glasses at a time.
  • Added unofficial GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions:
  • GL_NV_framebuffer_multisample_coverage
  • GL_NV_texture_barrier
  • Added GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extension:
  • GL_NV_register_combiners2
  • Fixed a bug that caused the pop-out and external DVI displays to go blank on Lenovo ThinkPad W701 laptops.
  • Fixed a bug that caused corruption on the menus in OpenOffice.org when the screen is rotated.
  • Improved performance of certain memory allocations.
  • Fixed a bug that caused Java2D widgets to disappear when Java is configured to render using FBOs.
  • Added a new X configuration option "BaseMosaic" which can be used to extend a single X screen transparently across all of the available display outputs on each GPU. See "Appendix B. X Config Options" in the README for more information.

New in Nvidia Solaris Display Driver 270.41.19 (May 22, 2011)

  • Fixed a bug in the VDPAU presentation queue that could cause 1 second hangs when transitioning from blit-based display to overlay- based display. This would most commonly happen when disabling a compositing manager.
  • Fixed a bug that could cause crashes when capturing SDI video.
  • Fixed a corner-case in which the OpenGL driver could leak resources in applications utilizing fork().

New in Nvidia Solaris Display Driver 270.41.06 (Apr 21, 2011)

  • Fixed a bug that caused some GPUs to stop responding when the X Server was started. All GPUs are susceptible, but the failure was primarily
  • seen on GF104 and GF106 boards.
  • Fixed a bug causing the X server to hang every 49.7 days on 32-bit platforms.
  • Added support for the following GPUs:
  • NVS 4200M
  • Quadro 1000M
  • Quadro 2000M
  • Quadro 2000 D
  • Quadro 400
  • Added support for xserver ABI 10 (xorg-server 1.10).
  • Added NV-CONTROL event notification for NV_CTRL_FRAMELOCK_SYNC_READY status changes.
  • Added a new X configuration option "Interactive", which defaults to enabled, but can be disabled to allow long-running GPU compute programs to run concurrently with X.
  • Fixed a bug in the VDPAU presentation queue that could cause VDPAU "display preemption" when rendering to tiny or zero-sized windows or pixmaps.
  • Fixed a bug in VDPAU which prevented use of the overlay presentation queue following an application exiting without gracefully destroying its VDPAU presentation queue
  • Fixed a bug in VDPAU that prevented the overlay from ever being used if a presentation queue was created while the target window was redirected using the Composite extension when the presentation queue was created.
  • Fixed several bugs relating to hardware-accelerated gradients, which were causing visual corruption in some of the default Ubuntu GNOME themes.
  • Added unofficial GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions:
  • GL_ARB_shader_subroutine
  • GL_ARB_map_buffer_range
  • Added GLX protocol support (i.e., for GLX indirect rendering)for the following OpenGL extensions:
  • GL_NV_half_float
  • GL_NV_occlusion_query
  • GL_EXT_blend_equation_separate
  • GL_EXT_depth_bounds_test
  • Modified colormap updates to no longer be synchronized to vblank. This allows applications to send XStoreColor and XStoreColors requests faster than the screen's refresh rate.
  • This behavior can be controlled by a new NV-CONTROL attribute, NV_CONTROL_SYNC_LUT_UPDATES. By default, LUT updates are not synchronized. This may cause flickering in some applications that use the colormap to perform animation, such as xpilot running on a depth 8 X screen. If you experience flickering, try running nvidia-settings -a [gpu:0]/SynchronousPaletteUpdates=1

New in Nvidia Solaris Display Driver 260.19.44 (Mar 9, 2011)

  • Updated the NVIDIA X driver to not update mode timings for G-Sync compatibility when NVIDIA 3D Vision or NVIDIA 3D VisionPro is enabled along with a G-Sync device.

New in Nvidia Solaris Display Driver 260.19.36 (Jan 21, 2011)

  • Fixed a bug that caused X servers version 1.9 and higher to crash when color index overlays were enabled.
  • Fixed a bug that caused pixel value 255 to be treated as transparent in color index overlays.

New in Nvidia Solaris Display Driver 260.19.29 (Dec 15, 2010)

  • Added support for the following GPUs:
  • Quadro 5000M
  • NVS 300
  • Fixed a bug that caused some OpenGL applications to become unresponsive for up to a minute on some GPUs when changing the resolution or refresh rate.

New in Nvidia Solaris Display Driver 260.19.21 (Nov 22, 2010)

  • Fixed a race condition in OpenGL that could cause crashes with multithreaded applications.
  • Fixed a bug that may cause OpenGL applications which fork to crash.
  • Fixed a bug in VDPAU that caused it to attempt allocation of huge blocks of system memory. This regression was introduced in the 260.* driver series.

New in Nvidia Solaris Display Driver 256.53 (Aug 31, 2010)

  • Fixed a bug that prevented XvMC from initializing in most cases.
  • Added support for xorg-server video driver ABI version 8, which will be included in the upcoming xorg-server-1.9 series of releases.
  • Fixed a bug that caused extremely slow rendering of OpenGL applications on X screens other than screen 0 when using a compositing manager.
  • Fixed a regression introduced after 256.35 that caused stability problems on GPUs such as GeForce GT 240.
  • Fixed a slow kernel virtual address space leak observed whenstarting and stopping OpenGL, CUDA, or VDPAU applications.
  • Fixed a bug that left the system susceptible to hangs when running two or more VDPAU applications simultaneously.

New in Nvidia Solaris Display Driver 256.44 (Aug 15, 2010)

  • Added Support for GeForce GTX 460
  • Added Support for Quadro 4000, Quadro 5000, and Quadro 6000.
  • Fixed VDPAU to not print a debug error message when calling VdpVideoMixerQueryFeatureSupport with an unsupported or unknown VdpVideoMixerFeature.
  • Removed the requirement that in TwinView passive stereo, MetaModes must have identical viewports on each monitor.
  • Removed the requirement that in active stereo, all monitors must use identical modetimings.
  • Enhanced VDPAU to better report certain kinds of initialization error.
  • Fixed a regression that caused Xv to return BadAlloc errors on AGP systems when using the AGP GART driver contained in the NVIDIA driver.This fixes the problem reported in nvnews.net thread 151199.

New in Nvidia Solaris Display Driver 256.35 (Jun 24, 2010)

  • Fixed a regression in 256.29 where Performance Level clock frequencies were reported incorrectly in nvidia-settings.
  • Fixed a 3D Vision Stereo bug that caused the stereo glasses to not toggle when the flat panel was not running at its native mode timings.
  • Fixed a bug that caused nvidia-settings to crash when rendering its thermal gauge widget if the range of valid values for the thermal sensor was empty.
  • Fixed a bug which prevented use of high performance PowerMizer levels on systems with certain ACPI configurations.
  • Fixed a bug that caused non-primary Fermi GPUs to fail to initialize framebuffer memory. This caused a variety of symptoms, up to and including system hangs.
  • Added unofficial GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions:
  • GL_ARB_blend_func_extended
  • GL_ARB_draw_buffers_blend
  • GL_ARB_sample_shading
  • GL_ARB_timer_query
  • GL_EXT_draw_buffers2
  • GL_EXT_separate_shader_objects
  • GL_NV_explicit_multisample
  • GL_NV_transform_feedback
  • Improved Thermal Settings reporting in nvidia-settings to accurately reflect hardware configurations with multiple thermalsensors.
  • Fixed an interaction problem between Compiz and'screen-scraping' VNC servers like x11vnc and vino that caused the screento stop updating. Fixes Launchpad bug #353126.
  • Enhanced VDPAU to add basic support for Xinerama. VDPAU will now operate on a single physical X screen under Xinerama. See theREADME for more details.
  • Enhanced VDPAU's handling of corrupt clips of all formats on GPUs with VDPAU feature set C to be at least as good as on GPUs with VDPAU feature set B. This significantly improves various clips provided by nvnews.net user eamiller.
  • Fixed a bug in Xv attribute handling that caused hue, saturation, brightness, and contrast values to be misapplied when using an Xv overlay adaptor.
  • Fixed a bug in the XvMC driver that prevented it from working on systems with AGP graphics cards.
  • Enhanced VDPAU to clear all VdpVideoSurfaces to black when allocated.This provides more consistent results when using a surface as a reference when no prior decode operation has written to that surface.In turn, this improves the results of decoding some corrupt streams,such as "p_only_no_play" from ffmpeg bug 1124.
  • Implemented new APIs to allow sharing VDPAU surfaces with OpenGL and CUDA. The OpenGL extension is GL_NV_vdpau_interop. For CUDA, please see the documentation in the CUDA toolkit for details.
  • Worked around a bug where the combination of a GPU with VDPAU feature set A together with specific motherboard chipsets could cause visible corruption when decoding some MPEG-2 streams
  • Fixed a bug that prevented the VDPAU overlay-based presentation queue from being used more than a few hundred times per X server invocation.
  • Renamed the driver file libGLcore.so.VERSION to libnvidia-glcore.so.VERSION, as a small step towards reducing the filename collisions between NVIDIA's and MESA's OpenGL implementations.This driver file is used by NVIDIA's libGL.so and libglx.so, and should never be used directly by applications.
  • Compressed the nvidia-settings, nvidia-installer, and nvidia-xconfig tarballs with bzip2, rather than gzip.

New in Nvidia Solaris Display Driver 195.36.31 (Jun 21, 2010)

  • Fixed a problem with SLI SFR, AFR, and SLIAA modes with GeForce GTX 480 and GeForce GTX 470 and high-resolution display modes.

New in Nvidia Solaris Display Driver 195.36.15 (Mar 19, 2010)

  • Fixed a regression that caused the driver to fail to properly adjustthe GPU fan speed on some GPUs.
  • Fixed a bug that prevented performance level transitions on recentGPUs with SDDR3 and GDDR5 memory.
  • Added support for the following GPUs:
  • Quadro FX 880M
  • Fixed a bug that caused screen corruption after an application released a GLX_NV_present_video device.
  • Fixed an X server crash caused by starting nvidia-settings while X was not on the active VT.
  • Fixed an nvidia-settings bug that produced many "Bad argument" warning messages when running nvidia-settings --query all.
  • Fixed a bug that caused G-Sync stereo synchronization to fail sometimes when enabling frame lock.
  • Fixed a bug that caused OpenGL applications to occasionally crash with "double free or corruption" messages when exiting.
  • On GPUs with VDPAU feature set A, enhanced VDPAU's handling of some corrupted or incorrectly formatted MPEG-1/2 streams. This solves a reported issue with "0testbad.mpg".
  • Fixed a bug in the VDPAU video mixer that caused chroma aberrations, and corruption in the right-hand few columns of pixels, when post- processing video surfaces with widths not an exact multiple of 4 pixels.
  • Fixed a bug that prevented the GPUFanControlState attribute from being set on the nvidia-settings command line.
  • Fixed a regression that made the "TVStandard" X configuration option cause system hangs with products from the GeForce 6 and 7 series.
  • Worked around a bug in some AUO laptop flat panels where the native mode in the EDID is invalid, leading to a 640x480 desktop repeated six times
  • across the screen.
  • Increased the maximum number of slices supported by VDPAU for MPEG-2 streams, in order to cope with the region 1 DVD "A Christmas Story".
  • Added unofficial preliminary support for xorg-server video driver ABI version 7, including xorg-server-1.7.99.2.
  • Fix the soname of libvdpau_nvidia.so.1 and libvdpau_trace.so.1 to match their filenames.
  • Fixed a performance regression with non-antialiased text in KDE4.
  • Enabled GPU acceleration for many RENDER compositing operations that were previously processed in software, including conjoint and disjoint blending
  • modes and component alpha blending.
  • Added experimental GPU acceleration of the RENDER CompositeTrapezoids operation. This can be enabled at runtime by running:
  • nvidia-settings -a AccelerateTrapezoids=1
  • This is only supported on the GeForce GTX series or newer products. Fixed a bug in the VDPAU overlay-based presentation queue that caused high CPU usage during "put bits" operations when more than two surfaces
  • were queued.
  • Updated `nvidia-settings --query all` to report all available attributes queryable through all NV-CONTROL target types.
  • Enhanced the VDPAU blit-based presentation queue to provide values of "first_presentation_time" that have less jitter.
  • Add support for R16F and RG32F GLXFBConfigs when using GeForce 8 series and higher GPUs.
  • Added support for A2BGR10 32-bit GLX visuals on 30-bit X screens. These allow some level of window transparency when using 30-bit visuals with GLX and Composite, but they may cause problems with older X servers and/or applications.ARGB GLX visuals can be disabled by adding:
  • Option "AddARGBGLXVisuals" "False" to the X configuration file.
  • Fixed a problem that caused DisplayPort devices to behave incorrectly when DPMS power saving mode was triggered.
  • Updated VDPAU to improve thread concurrency.See the README for details.
  • Altered NVIDIA X driver behavior in the case that no display devices are connected to the GPU.Previously, in this case, the NVIDIA X driver would pretend a CRT was connected to the GPU. Now, the NVIDIA X driver will not automatically pretend that any CRTs are connected.If the X driver does not detect any connected display devices, the X server will fail to start.
  • To restore the old behavior, use the ConnectedMonitor X configuration option; e.g.,
  • Option "ConnectedMonitor" "CRT"
  • Alternatively, if display is not desired, Quadro and Tesla GPU users can enable "NoScanout" mode, which bypasses any mode timing validation or use of display devices; this is configured with:
  • Option "UseDisplayDevice" "none"
  • Disabled software cursors when the driver is operating in "no scanout" (UseDisplayDevice "none") mode.The software cursor image is not visible in remote desktop applications or screenshots anyway, so having software cursor enabled was unnecessary.
  • Changed glXSwapBuffers() behavior for a pixmap such that it is now a no-op in the direct rendering case in order to match the indirect case and comply with the GLX spec. Previously, calling glXSwapBuffers() on pixmaps in the direct case would swap the pixmap's buffers if the pixmap was double buffered.
  • Modified the installation location and names of internal VDPAU libraries to conform to conventions and Debian packaging guidelines. New versions of libvdpau expect this layout. Compatibility with old versions of libvdpau is maintained with symlinks.
  • Fixed a bug that could cause errors in graphical applications run after a previous application using VDPAU and OpenGL. This behaviour was observed when running Gwenole Beauchesne's hwdecode-demos application.
  • Modified vdpau.h to increment VDPAU_VERSION, to reflect the fact that new features have been added in the past. Also, add the new define VDPAU_INTERFACE_VERSION.
  • Fixed a periodic temporary hang in the VDPAU blit-based presentation queue.
  • Fixed a problem that caused resolution limitations or corruption on certain DisplayPort devices such as the Apple 24" Cinema display or some DisplayPort to VGA adapters.
  • Disabled the UseEvents option for GeForce 8 series and higher GPUs due to a problem that causes occasional short hangs.It will be re-enabled when that bug has been tracked down and fixed.
  • VDPAU now allows multiple streams to be decoded at once, without the need to set any environment variables.

New in Nvidia Solaris Display Driver 190.53 (Dec 17, 2009)

  • Modified the installation location and names of internal VDPAU libraries to conform to conventions and Debian packaging guidelines. New versions of libvdpau expect this layout. Compatibility with old versions of libvdpau is maintained with symlinks.
  • Fixed a bug that could cause errors in graphical applications run after a previous application using VDPAU and OpenGL. This behaviour was observed when running Gwenole Beauchesne's hwdecode-demos application.
  • Modified vdpau.h to increment VDPAU_VERSION, to reflect the fact that new features have been added in the past. Also, add the new define VDPAU_INTERFACE_VERSION.
  • Fixed a periodic temporary hang in the VDPAU blit-based presentation queue.
  • Fixed a problem that caused resolution limitations or corruption on certain DisplayPort devices such as the Apple 24" Cinema display or some DisplayPort to VGA adapters.
  • Disabled the UseEvents option for GeForce 8 series and higher GPUs due to a problem that causes occasional short hangs. It will be re-enabled when that bug has been tracked down and fixed.
  • VDPAU now allows multiple streams to be decoded at once, without the need to set any environment variables.

New in Nvidia Solaris Display Driver 190.42 (Oct 27, 2009)

  • Added support for OpenGL 3.2.
  • Updated the NVIDIA X driver to allow, on GeForce 8 or greater GPUs, more modes to validate on digital display devices whose EDIDs report very constrained HorizSync or VertRefresh ranges.
  • Fixedased the allowed amount of overscan compensation from 100 to 200.
  • On GPUs with VDPAU feature set B, VDPAU's handling of some corrupted or incorrectly formatted H.264 and MPEG streams has been improved.
  • Fixed a memory allocation problem with pre-GeForce 8 GPUs that caused GLX_EXT_texture_from_pixmap clients (e.g., Compiz, KDE 4) to display incorrect contents.
  • Added support for X.Org xserver 1.6.99.901 (also known as 1.7.0 RC1). Add a new OverscanCompensation NV-CONTROL attribute, available on GeForce 8 and higher. This option specifies the amount of overscan compensation to apply to the current mode. It is measured in raster pixels, i.e. pixels as specified in the current mode's backend timings.
  • Added GLX support for OpenGL 3.2 context profiles through the extension
  • GLX_ARB_create_context_profile.
  • Added support for IgnoreEDIDChecksum X configuration option, which can be used to force the X driver to accept the EDID of a display device even when the checksum is invalid. Please see the README IgnoreEDIDChecksum description for a caution and details of use.
  • Added support for configuring the GPU's fan speed; see the "Coolbits" X configuration option in the README.
  • Fixed a bug in VDPAU that could cause visible corruption near the bottom edge of the picture when decoding VC-1 simple/main profile clips whose heights are not exact multiples of 16 pixels, on GPUs with VDPAU feature set A.
  • On GPUs with VDPAU feature set C, VDPAU now supports decoding MPEG-4 Part 2, DivX 4, and DivX 5 video. The VDPAU API has been enhanced to expose this feature.
  • On GPUs with VDPAU feature set C, VDPAU now supports a higher quality video scaling algorithm. The VDPAU API has been enhanced to expose this feature.
  • Added code to reject screen modes based on available DisplayPort link bandwidth. Fixes display corruption caused by allowing high bandwidth modes on display devices that can't handle them, such as certain DisplayPort-to-VGA adapters that only support 2 DisplayPort lanes.
  • Fixed an initialization problem on some mobile GPUs.
  • Worked around X.Org X server Bugzilla bug #22804. This bug allows X clients to send invalid XGetImage requests to the hardware, leading to screen corruption or hangs. This was most commonly triggered by running JDownloader in KDE 4.
  • Fixed a crash in nvidia-settings displaying GPU information when in Xinerama.
  • Added GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions:
  • GL_ARB_draw_buffers
  • GL_EXT_Cg_shader
  • GL_EXT_gpu_program_parameters
  • GL_NV_fragment_program
  • GL_NV_gpu_program4
  • GL_NV_register_combiners
  • GL_NV_vertex_program1_1
  • GL_NV_vertex_program2
  • Added unofficial GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions:
  • GL_ARB_geometry_shader4
  • GL_ARB_shader_objects
  • GL_ARB_texture_buffer_object
  • GL_ARB_vertex_buffer_object
  • GL_ARB_vertex_shader
  • GL_EXT_bindable_uniform
  • GL_EXT_compiled_vertex_array
  • GL_EXT_geometry_shader4
  • GL_EXT_gpu_shader4
  • GL_EXT_texture_buffer_object
  • GL_NV_geometry_program4
  • GL_NV_vertex_program
  • GL_NV_parameter_buffer_object
  • GL_NV_vertex_program4
  • GLX protocol for GL_EXT_vertex_array was also updated to incorporate rendering using GL_ARB_vertex_buffer_object. Use of these extensions with GLX indirect rendering requires the AllowUnofficialGLXProtocol X configuration option and the __GL_ALLOW_UNOFFICIAL_PROTOCOL environment variable.
  • Fixed glXQueryVersion to report GLX version 1.4. NVIDIA's GLX version has been 1.4 for several releases, and was already reported as 1.4 in the GLX client and GLX server version strings.
  • Fixed a problem that caused window border corruption when the screen is rotated.
  • Added support for configuring the GPU PowerMizer Mode on GeForce 8 or later GPUs with multiple performance levels via nvidia-settings and NV-CONTROL.

New in Nvidia Solaris Display Driver 185.18.36 (Aug 24, 2009)

  • Fixed a bug that caused kernel panics when starting X on some mobile GPUs.
  • Fixed an interaction problem between VDPAU and PowerMizer when using VDPAU solely as a display mechanism, and not to decode video streams. The GPU performance level should now be raised, if required, in this scenario.
  • Fixed VDPAU to avoid "display preemption" in some cases where a VdpOutputSurface is deleted while it is still active (either queued or visible) in a VdpPresentationQueue. In particular, this can occur in MPlayer when using the "-fs" option, and could completely prevent VDPAU from operating successfully, depending on the exact timing conditions.

New in Nvidia Solaris Display Driver 185.18.31 (Aug 13, 2009)

  • Fixed a bug that could cause occasional memory corruption problems or segmentation faults when running OpenGL applications on Quadro GPUs.
  • Fixed a deadlock in the OpenGL library that could be triggered in certain rare circumstances on Quadro GPUs.
  • Fixed the order of outputs in the GPUScaling nvidia-settings property.
  • Fixed a bug that caused graphics corruption in some OpenGL applications when the Unified Back Buffer is enabled the application window is moved.
  • Fixed a bug that caused glXGetVideoSyncSGI, glXWaitVideoSyncSGI, and glXGetRefreshRateSGI to operate on the wrong screen when there are multiple X screens.
  • Fixed a bug that causes corruption or GPU errors when an application paints a redirected window whose background is set to ParentRelative on X.Org servers older than 1.5. This was typically triggered by running Kopete while using Compiz or Beryl.
  • Fixed a bug in VDPAU that could cause visible corruption when decoding H.264 clips with alternating frame/field coded reference pictures, and a video surface is concurrently removed from the DPB, and re-used as the decode target, in a single decode operation. This affected all GPUs supported by VDPAU.
  • Fixed a bug in VDPAU that could cause visible corruption near the bottom edge of the picture when decoding VC-1 advanced profile clips whose heights are not exact multiples of 16 pixels, on G98 and MCP7x (IGP) GPUs.
  • Enhanced VDPAU to better handle corrupt/invalid H.264 bitstreams on G84, G86, G92, G94, G96, or GT200 GPUs. This should prevent most cases of "display preemption" that are caused by bitstream errors.
  • Fixed an X server crash when using the VDPAU overlay-based presentation queue and VT-switching away from the X server.
  • Enhanced VDPAU's detection of the GPU's video decode capabilities.
  • Fixed a bug in VDPAU that could cause ghosting/flashing issues when decoding H.264 clips, in certain full DPB scenarios, on G98 and MCP7x.
  • Fixed VDPAU to detect an attempt to destroy the VdpDevice object when other device-owned objects still exist. VDPAU now triggers "display preemption", and returns an error, when this occurs.
  • Enhanced VDPAU's error handling and resource management in presentation queue creation and operation. This change correctly propagates all errors back to the client application, and avoids some resource leaks.

New in Nvidia Solaris Display Driver 185.18.29 (Jul 29, 2009)

  • Fixed a bug that could cause occasional memory corruption problems or segmentation faults when running OpenGL applications on Quadro GPUs.
  • Fixed a deadlock in the OpenGL library that could be triggered in certain rare circumstances on Quadro GPUs.
  • Fixed the order of outputs in the GPUScaling nvidia-settings property.
  • Fixed a bug that caused graphics corruption in some OpenGL applications when the Unified Back Buffer is enabled the application window is moved.
  • Fixed a bug that caused glXGetVideoSyncSGI, glXWaitVideoSyncSGI, and glXGetRefreshRateSGI to operate on the wrong screen when there are multiple X screens.
  • Fixed a bug that causes corruption or GPU errors when an application paints a redirected window whose background is set to ParentRelative on X.Org servers older than 1.5. This was typically triggered by running Kopete while using Compiz or Beryl.
  • Fixed a bug in VDPAU that could cause visible corruption when decoding H.264 clips with alternating frame/field coded reference pictures, and a video surface is concurrently removed from the DPB, and re-used as the decode target, in a single decode operation. This affected all GPUs supported by VDPAU.
  • Fixed a bug in VDPAU that could cause visible corruption near the bottom edge of the picture when decoding VC-1 advanced profile clips whose heights are not exact multiples of 16 pixels, on G98 and MCP7x (IGP) GPUs.
  • Enhanced VDPAU to better handle corrupt/invalid H.264 bitstreams on G84, G86, G92, G94, G96, or GT200 GPUs. This should prevent most cases of "display preemption" that are caused by bitstream errors.
  • Fixed an X server crash when using the VDPAU overlay-based presentation queue and VT-switching away from the X server.
  • Enhanced VDPAU's detection of the GPU's video decode capabilities.
  • Fixed a bug in VDPAU that could cause ghosting/flashing issues when decoding H.264 clips, in certain full DPB scenarios, on G98 and MCP7x.
  • Fixed VDPAU to detect an attempt to destroy the VdpDevice object when other device-owned objects still exist. VDPAU now triggers "display preemption", and returns an error, when this occurs.
  • Enhanced VDPAU's error handling and resource management in presentation queue creation and operation. This change correctly propagates all errors back to the client application, and avoids some resource leaks.

New in Nvidia Solaris Display Driver 185.18.14 (Jun 8, 2009)

  • Fixed a Xinerama drawable resource management problem that can cause GLXBadDrawable errors in certain cases, such as when Wine applications are run.
  • Fixed XineramaQueryScreens to return 0 screens instead of 1 screen with the geometry of screen 0 when XineramaIsActive returns false. This conforms to the Xinerama manual page and fixes an interaction problem with Compiz when there is more than one X screen.
  • Added support for new horizontal interlaced and checkerboard passive stereo modes.
  • Fixed a DisplayPort interaction problem with power management suspend/resume events.
  • Fixed occasional X driver memory management performance problems when a composite manager is running.
  • Fixed a bug with VT-switching or mode-switching while using Compiz; the bug could lead to a corrupted desktop (e.g., a white screen) or in the worst case an X server crash.
  • Fixed a bug that could cause GPU errors in some cases while driving Quadro SDI products.
  • Fixed a several second hang when VT-switching while OpenGL stereo applications were running on pre-G80 Quadro GPUs.
  • Added support for multiple swap group members on G80 and later Quadro GPUs.
  • Fixed the behavior of the NV_CTRL_FRAMELOCK_SYNC_DELAY NV-CONTROL attribute on Quadro G-Sync II.
  • Fixed a problem with Quadro SDI where transitioning from "clone mode" to "OpenGL mode" would fail.
  • Fixed VDPAU to eliminate some cases of corruption when decoding H.264 video containing field-coded reference frames on G84, G86, G92, G94, G96, or GT200 GPUs. Such streams are commonly found in DVB broadcasts.
  • Slightly improved the performance of the VDPAU noise reduction algorithm.
  • Enhanced VDPAU to validate whether overlay usage is supported by the current hardware configuration, and to automatically fall back to the blit-based presentation queue if required.
  • Fixed error checking in VdpVideoMixerRender, to reject calls that specify more layers than the VdpMixer was created with.
  • Modified VDPAU's VDPAU_DEBUG code to emit a complete backtrace on all platforms, not just on 32-bit Linux.
  • Improved interaction between VDPAU and PowerMizer; appropriate performance levels should now be chosen for video playback of all standard resolutions on all supported GPUs.
  • Fixed a bug in VDPAU that sometimes caused "display preemption" when the VdpDecoderCreate function failed.
  • Fixed a potential segfault in the VDPAU trace library, triggered by a multi-threaded application creating a new VdpDevice in one thread, at the same time that another thread detected "display preemption".

New in Nvidia Solaris Display Driver 180.60 (Jun 1, 2009)

  • Fixed stability problems with some GeForce 6200/7200/7300 GPUs on multi-core/SMP systems.
  • Fixed VGA console restoration on some laptop GPUs.
  • Fixed a bug that caused some performance levels to be disabled on certain GeForce 9 series notebooks.

New in Nvidia Solaris Display Driver 180.51 (Apr 22, 2009)

  • Updated nvidia-bug-report.sh to compress its log file; running `nvidia-bug-report.sh` now produces "nvidia-bug-report.log.gz".
  • Addressed a problem that could lead to intermittent hangs and system crashes on some GeForce 9 and later GPUs.
  • Fixed an X server crash when viewing the website www.tim.it.
  • Fixed a DisplayPort interaction problem with power management suspend/resume events.
  • Fixed rendering corruption in the OpenGL 16-bit RGB Workstation Overlay.
  • Fixed a recent VDPAU regression that caused aborted playback >and hangs when decoding some H.264 clips on G84, G86, G92, G94, G96, and GT200 GPUs.
  • Fixed occasional X driver memory management performance problems when a composite manager is running.
  • Fixed Solaris installer to not install libnvidia-wfb.so when a wfb library is already present.
  • Fixed an initialization ordering bug that could lead to kernel panics starting X on some integrated GPUs.
  • Fixed a bug that could interfere with the detection of display devices attached to secondary GPUs when first starting X after cold boots.
  • Fixed a problem that could result in temporary stalls when moving OpenGL application windows on GeForce 8 and later GPUs.
  • Fixed a bug that prevented VGA fonts from being saved/restored correctly on GeForce 8 and later GPUs.

New in Nvidia Solaris Display Driver 180.44 (Mar 31, 2009)

  • Added support for the following GPUs:
  • Quadro FX 3800
  • Quadro FX 3700M
  • Quadro FX 1800
  • Quadro FX 580
  • Quadro FX 380
  • Quadro NVS 295
  • Fixed a problem that could cause Xid errors and display corruption in certain cases when OpenGL is used to render to redirected windows, for example when Java2D is used with the -Dsun.java2d.opengl=true option.
  • Updated glGetStringi(GL_EXTENSIONS, i) to no longer return NULL in OpenGL 3.0 preview contexts.
  • Fixed OpenGL crashes while running KDE4's Plasma.
  • Fixed OpenGL crashes when using a large number of texture objects.
  • Fixed the timestamp reporting in the GL_NV_present_video extension on SDI II with Quadro FX 4800 and 5800.
  • Fixed a problem that caused the screen to flicker momentarily when OpenGL applications exit unexpectedly on GeForce 6 and 7 series GPUs.
  • Fixed an X server crash when an X client attempts to draw trapezoids and RenderAccel is disabled.
  • Improved recovery from certain types of errors.
  • Added support for RG renderbuffers in OpenGL 3.0.
  • Added support for OpenGL 3.0 floating-point depth buffers.
  • Fixed a problem that caused Valgrind to crash when tracing a program that uses OpenGL.
  • Updated VDPAU to support VC-1/WMV acceleration on all GPUs supported by VDPAU; see the README for details.
  • Fixed VDPAU corruption on some H.264 clips.
  • Updated VDPAU documentation in the README and in vdpau.h, in particular regarding how to use the deinterlacing algorithms in the VdpVideoMixer object. Explicitly documented "half rate" deinterlacing, which should allow the advanced algorithms to run on more low-end systems.
  • Implemented a "skip chroma deinterlace" option in VDPAU, which should allow the advanced deinterlacing algorithms to run on more low-end systems. See vdpau.h.
  • Fixed VDPAU VC-1 decoding on 64-bit platforms.
  • Updated the VDPAU wrapper library to print dlerror() messages when driver loading problems occur.
  • Improved VDPAU's handling of some corrupt H.264 streams, and some corrupt/invalid MPEG streams on some GPUs.
  • Fixed VDPAU to correctly handle WMV "range reduction" on some GPUs. A minor backwards-compatible API change was made for this; see vdpau.h's documentation for structure field VdpPictureInfoVC1.rangered.
  • Fixed a problem that caused surfaces to be marked as visible too early when the blit presentation queue is in use.
  • Fixed VDPAU to prevent some cases of "display preemption" in the face of missing H.264 reference frames on some GPUs.