======== Release 346 Entries ======== * Added support for the following GPU: * GeForce GPU * 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. 2015-04-07 version 346.59 * Fixed a bug that caused corruption when switching display modes in some applications that use transform feedback. * Added support for the following GPUs: * Quadro K1200 * Quadro M6000 * GeForce 920M * GeForce 930A * GeForce 930M * GeForce 940M * GeForce GTX 950M * GeForce GTX 960M * GeForce GTX TITAN X * 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. 2015-02-24 version 346.47 * 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 glXSwapBuffers() 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. * Added support for the following GPUs: * Quadro K620M * Quadro K2200M * GeForce GTX 960 * GeForce GTX 965M * Fixed a bug that caused DisplayPort audio to stop working after monitors are hotplugged. 2015-01-16 version 346.35 * Added support for the following GPUs: * GeForce 800A * GeForce 800M * 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 ACPI hotkey mask to be set incorrectly on some laptops even when the EnableACPIHotkeys option is disabled. * Disabled the EnableACPIHotkeys option by default. This option is now considered deprecated and will be removed in a future driver release. On modern Linux systems, display change hotkey events are delivered to the desktop environment as key press events, and the desktop environment handles the display change by issuing requests through the X Resize and Rotate extension (RandR). * 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. 2014-12-08 version 346.22 2014-11-13 version 346.16 * 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 GPUs: * GeForce GTX 970M * GeForce GTX 980M * Added support for decoding VP8 video streams using the NVCUVID API on GPUs with VP8 hardware decode support. * 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 support for NVENC on GeForce GPUs. For more details on the NVENC SDK, see: https://developer.nvidia.com/nvidia-video-codec-sdk. * Removed a sanity check in nvidia-installer that tested the availability of POSIX shared memory. The NVIDIA GPU driver has not required POSIX shared memory since release 270.xx. * 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. * Added support in nvidia-settings for a GTK+ 3 user interface on x86 and x86_64. * Added the nvidia-settings option --use-gtk2 to force the use of the GTK+ 2 UI library. * Updated nvidia-installer to install a file in the system's xorg.conf.d directory, when a sufficiently new X server is detected, to cause the X server to load the "nvidia" X driver automatically if it is started after the NVIDIA kernel module is loaded. This feature is supported in X.Org xserver 1.16 and higher when running on Linux 3.9 or higher with CONFIG_DRM enabled. * Improved the performance of nvidia-installer by enabling the use of parallel make when building the NVIDIA kernel modules. The concurrency level can be set with the --concurrency-level option, and defaults to the number of detected CPUs. * Updated nvidia-installer to determine default installation locations for libraries based on the presence of known paths in the ldconfig(8) cache and the filesystem, rather than hardcoded distro-specific paths. * 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. ======== Release 343 Entries ======== 2014-12-05 version 343.36 * 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. * Fixed a bug that prevented the "sync to vblank" setting from being honored for EGL applications. * Added support for the following GPUs: * GeForce GTX 970 * GeForce GTX 980 * 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. 2014-08-06 version 343.13 * Fixed a bug that caused disabled displays to be implicitly included in the target selection for some queries and assignments on the nvidia-settings command line interface, in the absence of any explicit target selection. * Added a new attribute to the NV-CONTROL API to query the current utilization of the video decode engine. * Fixed a bug where the Exchange Stereo Eyes setting in nvidia-settings didn't work in certain stereo configurations. * Worked around a Unigine Heaven 3.0 shader bug which could cause corruption when tessellation is enabled by implementing an application profile that uses the "GLIgnoreGLSLExtReqs" setting. See the documentation for the __GL_IGNORE_GLSL_EXT_REQS environment variable for more details. * Fixed a memory leak when destroying EGL surfaces. * Added support for multiple simultaneous EGL displays. * Removed support for G8x, G9x, and GT2xx GPUs, and motherboard chipsets based on them. Ongoing support for new Linux kernels and X servers, as well as fixes for critical bugs, will be included in 340.* legacy releases through the end of 2019. * Fixed a bug that could cause nvidia-installer to unsuccessfully attempt to delete the directory containing precompiled kernel module interfaces, on packages prepared with --add-this-kernel. * Updated nvidia-installer to log uninstallation to a separate file from the installation log, and to attempt uninstalling previous driver installations using the installer program from the previous installation, when available. ======== Release 340 Entries ======== * Fixed a rare deadlock condition when running applications that use OpenGL in multiple threads on a Quadro GPU. * Fixed a bug which caused truncation of the EGLAttribEXT value returned by eglQueryDeviceAttribEXT() on 64-bit systems. * 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. 2015-01-27 version 340.76 * Fixed a bug that caused frequent AMD-Vi page faults on systems with some AMD 8xx/9xx-series chipsets when used with some NVIDIA GPUs. * Fixed a regression that could cause system crashes when terminating the X server on systems with an NVIDIA Quadro SDI Capture card installed. * Fixed a bug that caused audio over HDMI to not work on some GPUs while using a display that supports HDMI 3D. 2014-12-08 version 340.65 * Fixed a bug that prevented internal 4K panels on some laptops from being driven at a sufficient bandwidth to support their native resolutions. * Fixed a regression that prevented the NVIDIA kernel module from loading in some virtualized environments such as Amazon Web Services. * Fixed a regression that caused displays to be detected incorrectly on some notebook systems. * Fixed a bug that could cause X to freeze when using Base Mosaic. * Fixed a regression that prevented the NVIDIA X driver from recognizing Base Mosaic layouts generated by the nvidia-settings control panel. 2014-11-05 version 340.58 * Added support for the following GPUs: * GeForce GT820M * GeForce GTX 760A * GeForce GTX 850A * GeForce 810A * GeForce 820A * GeForce 840A * Tesla K8 * 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. 2014-09-30 version 340.46 * Fixed a crash with UnrealEngine 4 when the application was started with the -opengl4 commandline switch. * Fixed an OpenGL issue that could cause glReadPixels() operations to be improperly clipped when resizing composited application windows, potentially leading to momentary X freezes. * Fixed a bug that could prevent the GLSL compiler from correctly evaluating some expressions when compiling shaders. * Fixed a bug that could cause nvidia-installer to crash while attempting to run nvidia-xconfig on systems where that utility is missing. * Added option UseSysmemPixmapAccel to control the use of GPU acceleration for X drawing operations on pixmaps allocated in system memory. 2014-08-12 version 340.32 * Added support for the following GPUs: * Quadro K420 * Quadro K620 * Quadro K2200 * Quadro K4200 * Quadro K5200 * GeForce 830A * Fixed a regression that prevented the internal stereo infrared emitter built into some 3D Vision monitors from working. * Fixed a bug that could cause some Java-based OpenGL applications using JOGL to crash on startup on systems with Xinerama enabled. * Fixed a bug that could prevent OpenGL Framebuffer Objects (FBOs) from being properly redrawn after a modeswitch. * Fixed a memory leak that occurred when starting OpenGL applications. * Fixed a bug that prevented the EDID-Like Data (ELD) of audio-capable displays from being updated when hotplugged/unplugged. * Fixed a bug that caused Xid errors when using stereo mode 12 (HDMI 3D) on Quadro boards without an onboard stereo DIN connector. * Fixed a video corruption issue for VDPAU decoding of VC-1 and WMV video streams utilizing range remapping on Maxwell GPUs. * Fixed a "black window" bug in Ubuntu 14.04 when using the Xinerama and Composite extensions. * Fixed a bug that caused the screen's contents to be shifted downward when a G-SYNC monitor is unplugged and replaced by a non-G-SYNC monitor. * Fixed a bug that prevented G-SYNC from working when a G-SYNC monitor was unplugged and plugged back in without a modeset. 2014-07-08 version 340.24 * Fixed a regression, introduced in the 340.17 public beta release, that caused the NVIDIA X driver to access freed memory when exiting a GLX application that used either of the GLX_NV_video_out or GLX_NV_present_video extensions. * Fixed a bug that prevented 3D Vision stereo and ultra low motion blur modes from working on G-SYNC capable monitors in some cases. * Fixed a bug that caused the "Allow G-SYNC" checkbox to be displayed in nvidia-settings even if the GPUs in the system are not capable of G-SYNC. * Fixed a kernel crash when running some applications with IOMMU functionality enabled. * Fixed a floating point exception in the OpenGL driver when running "Risk of Rain" under Wine. 2014-06-09 version 340.17 * Made various improvements and corrections to the information reported to GL applications via the KHR_debug and ARB_debug_output extensions. * Fixed a bug that caused GLX applications which simultaneously create drawables on multiple X servers to crash when swapping buffers. * Updated nvidia-settings to report all valid names for each target when querying target types, e.g. `nvidia-settings -q gpus`. * Added support for controlling the availability of Fast Approximate Antialiasing (FXAA) on a per-application basis via the new __GL_ALLOW_FXAA_USAGE environment variable and the corresponding GLAllowFXAAUsage application profile key. See the README for details. * Fixed a bug where indirect rendering could become corrupted on system configurations that disallow writing to executable memory. * Updated the nvidia-settings Makefiles to allow nvidia-settings to be dynamically linked against the host system's libjansson. This option can be enabled by setting the NV_USE_BUNDLED_LIBJANSSON Makefile variable to 0. Please note that nvidia-settings requires libjansson version 2.2 or later. * Removed the runlevel check from nvidia-installer: the installation problems formerly associated with runlevel 1 no longer apply. * Added initial support for G-SYNC monitors. Additional details and system requirements can be found at: http://www.geforce.com/hardware/technology/g-sync * Improved support for running the NVIDIA driver in configurations where writing to executable memory is disallowed. Driver optimizations that require writing to executable memory can be forcefully disabled using the new __GL_WRITE_TEXT_SECTION environment variable. See the README for more details. * Fixed an X driver bug that caused gamma ramp updates of the green channel at depth 15, on some recent GPUs, to be ignored. ======== Release 337 Entries ======== 2014-05-30 version 337.25 * Fixed a bug that caused X to crash when querying clock offsets for non-existent performance levels. * Added support for the following GPUs: * GeForce GTX TITAN Z * GeForce GT 740 * Fixed a performance regression when running KDE with desktop effects using the OpenGL compositing backend. * Fixed a bug that caused duplicate entries to appear in some dropdown menus in the "Application Profiles" page of nvidia-settings. * Fixed a regression that could cause OpenGL rendering corruption on X screens with 30 bit per pixel color. 2014-05-05 version 337.19 * Fixed a bug causing mode validation to fail for 4K resolutions over HDMI in certain situations. * Added nvidia-settings command line controls for over- and under-clocking attributes. Please see the nvidia-settings(1) manual page for more details. * Fixed several cosmetic issues in the clock control user interface of nvidia-settings. * Added support for the GLX_EXT_stereo_tree extension. For more details, see the extension specification: http://www.opengl.org/registry/specs/EXT/glx_stereo_tree.txt * Enabled support for using Unified Back Buffer (UBB) and 3D Stereo with the composite extension on Quadro cards. Using stereo with a composite manager requires a stereo-aware composite manager. Otherwise, only the left eye of stereo applications will be displayed. See the GLX_EXT_stereo_tree extension specification for more details. 2014-04-08 version 337.12 * Fixed a bug that could cause OpenGL programs to freeze under some low memory conditions. * Updated the display configuration page in nvidia-settings to uniquely identify DisplayPort 1.2 monitors by displaying the monitor GUIDs. * Fixed a bug that could cause ECC settings to be displayed incorrectly in nvidia-settings when changing ECC settings on a multi-GPU system. * Removed the "OnDemandVBlankInterrupts" X configuration option: this option has been enabled by default since version 177.68 of the NVIDIA Unix driver, and the documentation had not been updated to reflect the new default value. * Fixed a bug that caused GPU errors when hotplugging daisy-chained DisplayPort 1.2 displays. * Updated the color correction settings page in the nvidia-settings control panel to reflect gamma changes made by other RandR clients while the control panel was already running. * Fixed a bug that prevented the use of multiple simultaneous X servers on UEFI systems. * Updated the nvidia-settings source package to build libXNVCtrl when building nvidia-settings, instead of relying on a pre-built library. * Added the ability to over- and under-clock certain GeForce GPUs in the GeForce GTX 400 series and later. For GPUs that allow it, an offset can be applied to clock values in some clock domains of some 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 support for the following GPUs: * GeForce 830M * GeForce 840M * GeForce 845M * GeForce GTX 850M * Updated the minimum required version of GTK+ from 2.2 to 2.4 for nvidia-settings. * Renamed the RandR output property _GUID to GUID now that it is an official property documented in randrproto.txt: http://cgit.freedesktop.org/xorg/proto/randrproto/commit/?id=19fc4c5a72eb9919d720ad66734029d9f8e313b1 * Reduced CPU utilization and GPU memory utilization of the NVIDIA EGL driver. * Added support for the following EGL extensions: - EGL_EXT_buffer_age; - EGL_EXT_client_extensions; - EGL_EXT_platform_base; - EGL_EXT_platform_x11. * Renamed the "Clone" setting of the "MetaModeOrientation" X configuration option to "SamePositionAs", to make clear that this setting applies to the position only, and not to the resolution of modes in the MetaMode. * Added NV-CONTROL attribute NV_CTRL_VIDEO_ENCODER_UTILIZATION to query utilization percentage of the video encoder engine. * Added support for the GLX_NV_delay_before_swap extension. For more details, see the extension specification: http://www.opengl.org/registry/specs/NV/glx_delay_before_swap.txt * Report correct buffer sizes for RGB GLX visuals, GLXFBConfigs, and EGLConfigs. Previously, RGB10 and RGB8 formats were reported as having 32 bits, and RGB5 formats were reported as having 16 bits. Now they are correctly reported as 30, 24, and 15 bit formats respectively as required by the GLX and EGL specifications. ======== Release 334 Entries ======== * Fixed a regression in the NVIDIA kernel module which caused it to improperly dereference a userspace pointer. This potential security issue was initially reported to the public at: http://forums.grsecurity.net/viewtopic.php?f=3&t=3922 The regression did not affect NVIDIA GPU drivers before release 334. * Fixed a bug that could cause OpenGL programs to hang after calling fork(2). * Fixed a bug that could cause a multi-threaded OpenGL application to crash when one of its threads exits after the application has unloaded libGL. * Added support for the following GPUs: * GeForce GTX 750 Ti * GeForce GTX 750 * GeForce GTX 745 * GeForce GTX TITAN Black * Added support for GPUs with VDPAU Feature Set E. See the README for details. * On GPUs with VDPAU Feature Set E, VDPAU now supports more robust decode error handling at the cost of a minor performance impact. This can be disabled by setting the VDPAU_NVIDIA_DISABLE_ERROR_CONCEALMENT environment variable to 1. * Added support for application profile rule patterns which are logical operations of subpatterns. See the README for details. * Added support for a "findfile" application profile feature which allows the driver to apply profiles based on matching files in the same directory as the process executable. See the README for details. * Fixed a bug that caused nvidia-installer to log the automatically selected answers to some user prompts without logging the prompt text itself, when running in silent mode. * Improved performance of OpenGL applications when used in conjunction with the X driver's composition pipeline. The composition pipeline may be explicitly enabled by using the ForceCompositionPipeline or ForceFullCompositionPipeline MetaMode options, or implicitly enabled when certain features such as some XRandR transformations, rotation, Warp & Blend, PRIME, and NvFBC are used. 2014-02-08 version 334.16 * Fixed a bug that could cause nvidia-settings to compute incorrect gamma ramps when adjusting the color correction sliders. * Updated the nvidia-settings control panel to allow the selection of display devices using RandR and target ID names when making queries targeted towards specific display devices. * Fixed a bug that prevented some dropdown menus in the nvidia-settings control panel from working correctly on older versions of GTK+ (e.g. 2.10.x). * Updated the nvidia-settings control panel to provide help text for application profile keys and suggestions for valid key names when configuring application profiles. * Updated the nvidia-settings control panel to populate the dropdown menu of stereo modes with only those modes which are available. * Fixed a bug that could cause applications using the OpenGL extension ARB_query_buffer_object to crash under Xinerama. * Fixed a bug that caused high pixelclock HDMI modes (e.g. as used with 4K resolutions) to be erroneously reported as dual-link in the nvidia-settings control panel. * Fixed a bug that could cause poor stereo synchronization in large multi-monitor setups using 3D Vision, due to failed hardware handshaking on some of the monitors. * Fixed a bug that prevented some DisplayPort 1.2 displays from being properly restored after a VT switch. * Renamed per GPU proc directories in /proc/driver/nvidia/gpus/ with GPU's bus location represented in "domain:bus:device.function" format. * Added 64-bit EGL and OpenGL ES libraries to 64-bit driver packages. * Changed format of "Bus Location" field reported in the /proc/driver/nvidia/gpus/0..N/information files from "domain:bus.device.function" to "domain:bus:device.function" to match the lspci format. * Fixed a bug in the GLX_EXT_buffer_age extension where incorrect ages would be returned unless triple buffering was enabled. * Updated the NVIDIA X driver to load the NVIDIA kernel module using `nvidia-modprobe`, rather than the XFree86 DDX helper function xf86LoadKernelModule(). * Changed the driver's default behavior to stop deleting RandR 1.2 outputs corresponding to unused DisplayPort 1.2 devices. Deleting these outputs can confuse some applications. Added a new option, DeleteUnusedDP12Displays, which can be used to turn this behavior back on. This option can be enabled by running sudo nvidia-xconfig --delete-unused-dp12-displays * Improved support for the __GL_SYNC_DISPLAY_DEVICE and VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE environment variables in certain configurations. Both environment variables will now recognize all supported display device names. See "Appendix C. Display Device Names" and "Appendix G. VDPAU Support" in the README for more details. * Improved performance of the X driver when handling large numbers of surface allocations. ======== Release 331 Entries ======== 2014-12-05 version 331.113 2014-10-08 version 331.104 * Fixed a bug that could cause the CUDA debugger to fail after exiting X on systems with persistence mode enabled. * Fixed a bug that could cause silent and intermittent failures when a CUDA application writes to a peer device's memory with GPUDirect. * Fixed a bug that could prevent 32-bit GPU-based applications from running correctly on 64-bit systems when using GPUs with very large memory-mapped I/O regions. * Fixed a bug that could cause poor system performance and hangs when running large compute workloads on IOMMU-enabled systems. * Fixed a bug that could cause a system crash when two or more processes try to load the nvidia-uvm driver. * Added support for the following GPU: * GeForce 810M * Fixed a bug that could cause framelock status to be incorrectly reported in the nvidia-settings control panel on some multi-GPU framelock configurations. * Improved the performance of OpenGL applications that request a large number of GPU mappings via the GL_NV_shader_buffer_load extension. * Fixed a bug that could cause a system crash when killing applications that use NVIDIA GPUs on multiple-GPU systems with IOMMU functionality enabled. * Fixed a bug that caused the NVIDIA kernel module to leak memory for DMA mappings on some configurations. 2014-07-04 version 331.89 * Fixed a race condition in the NVIDIA kernel module that caused some GPUs to sporadically become unresponsive. * Updated the error reporting in the NVIDIA kernel module to include the GPU serial number, when available, in error messages written to the system log. * Added support for the following GPU: * GeForce GT 730 * Fixed a bug that caused blank screens when transforming or rotating displays in an SLI Mosaic layout. * Fixed a bug that corrupted certain software rendering on 32-bit systems. 2014-05-20 version 331.79 * Fixed a bug that caused nvidia-installer to crash in environments where /proc is not mounted. * Fixed a bug that prevented module signing from working correctly for the NVIDIA Unified Memory kernel module when using module signing keys generated by nvidia-installer. * Fixed a bug that caused blank screens and flickering when rotating displays in a Base Mosaic layout. * Fixed a bug that caused BadRRCrtc or BadRROutput errors for big-endian X11 clients making certain XRandR requests. * Fixed a bug that corrupted certain software rendering, notably the stippled text used to represent disabled entries in xterm's pop-up menus. 2014-04-09 version 331.67 * Fixed a bug that could lead to crashes when running Left 4 Dead 2 with threaded optimizations enabled. * Added support for the following GPUs: * GeForce GT 705 * GeForce GT 720 * GeForce GTX 860M * GeForce GTX 870M * GeForce GTX 880M * Updated the makefile for the NVIDIA kernel module to work around a bug in older versions of GNU Make that prevented the NVIDIA kernel module from building correctly. This bug was fixed in version 3.81 of GNU Make. * Fixed a bug that causes some X clients to be disconnected from the X server when the screen is resized while RandR 1.4 display offloading is in use. * Fixed a bug that could cause display corruption when resuming from suspend on systems using RandR 1.4 display offloading with recent Linux kernels. * Added support for Tridelity SL stereo mode. * Fixed a bug that could cause nvidia-settings to crash or display incorrect information after switching virtual terminals while a color correction confirmation countdown was active. * Added a missing 32-bit compatibility library for libnvidia-fbc.so to the x86_64 Linux installer package. 2014-02-18 version 331.49 * Added support for the following GPUs: * GeForce GT 710 * GeForce 825M * Fixed a regression that prevented nvidia-installer from cleaning up directories created as part of the driver installation. * Added a new X configuration option "InbandStereoSignaling" to enable/disable DisplayPort in-band stereo signaling. See "Appendix B. X Config Options" in the README for more information. * Fixed a bug that caused PBO downloads of cube map faces to retrieve incorrect data. * Fixed a bug in nvidia-installer that resulted in spurious error messages when opting out of installing the NVIDIA kernel module or source files for the kernel module. * Added experimental support for ARGB GLX visuals when Xinerama and Composite are enabled at the same time on X.Org xserver 1.15. 2014-01-13 version 331.38 * Fixed a bug that caused the X server to crash if video memory is exhausted and the GPU does not support rendering to system memory. * Updated nvidia-installer to make the --multiple-kernel-modules option imply the --no-unified-memory option: Unified memory is incompatible with multiple kernel modules. * Updated the behavior of the nvidia-settings PowerMizer Preferred Mode drop-down menu, to make the setting apply consistently across all GPUs in an SLI group. * Improved the robustness of the NVIDIA X driver in scenarios where GPU-accessible memory for allocating pixmaps was exhausted. * Added NV-CONTROL attributes to control the brightness of the illuminated logos on certain graphics boards. For example, to turn off the illumination of the "GEFORCE GTX" lettering on the GeForce GTX 780, use nvidia-settings --assign GPULogoBrightness=0 * Fixed a bug that prevented screen transformations from being applied properly when starting X. * GLX protocol for the following OpenGL extensions from OpenGL 2.1 and OpenGL 3.0 have been promoted from unofficial to ARB approved official status: GL_ARB_pixel_buffer_object GL_NV_conditional_render GL_ARB_map_buffer_range GL_EXT_texture_integer GL_ARB_vertex_array_object GL_ARB_pixel_buffer_object was the last piece of protocol needed to have official support for indirect rendering with all OpenGL 2.1 commands. * GLX Protocol for the miscellaneous OpenGL 3.0 commands not associated with specific extensions has also been promoted from unofficial to ARB approved status. * Deprecated display mask related configuration of display devices via NV-CONTROL and nvidia-settings. Display target specifications should be used instead - A display target is one of the display's valid names, with an optional GPU or X screen qualifier. * Deprecated the following NV-CONTROL attributes: NV_CTRL_CONNECTED_DISPLAYS NV_CTRL_ENABLED_DISPLAYS NV_CTRL_ASSOCIATED_DISPLAYS NV_CTRL_NOTEBOOK_INTERNAL_LCD NV_CTRL_FRAMELOCK_MASTER NV_CTRL_FRAMELOCK_SLAVES NV_CTRL_FRAMELOCK_MASTERABLE NV_CTRL_FRAMELOCK_SLAVEABLE Also, although NV_CTRL_PROBE_DISPLAYS is still operational, the return value has been deprecated and should not be used. * Added deprecation warning messages in nvidia-settings when deprecated attributes are used. This also includes display mask usage. 2013-11-06 version 331.20 2013-10-22 version 331.17 * Added support for NVIDIA OpenGL-based Framebuffer Capture (NvFBCOpenGL). This library provides a high performance, low latency interface to capture and optionally encode the composited framebuffer of an X screen. NvFBC and NvIFR are private APIs that are only available to approved partners for use in remote graphics scenarios. Please contact NVIDIA at GRIDteam@nvidia.com for more information. * Fixed a bug that prevented configuration files containing application profiles from being loaded when directories were present in the application profile configuration search path. * Deferred initialization of libselinux in the NVIDIA OpenGL driver, in order to avoid a problem where libselinux might not be ready when the NVIDIA libGL shared library is first loaded. * 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. 2013-10-04 version 331.13 * 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" This option is useful in RandR 1.4 display offload configurations where no display devices are connected to the NVIDIA GPU when the X server is started, but might be connected later. * Updated nvidia-installer to provide a scrollable text area for displaying messages from the /usr/lib/nvidia/alternate-install-present and /usr/lib/nvidia/alternate-install-available distro hook files. This allows for longer messages to be provided in these files. * Updated nvidia-installer to avoid recursing into the per-kernel "build" and "source" directories when searching for conflicting kernel modules in /lib/modules. * Added a system memory cache to improve the performance of certain X rendering operations that use software rendering fallbacks. The X configuration option "SoftwareRenderCacheSize" may be used to configure the size of the cache. * Removed the "DynamicTwinView" X configuration option: dynamic reconfiguration of displays is always possible, and can no longer be disabled. * Fixed a bug that caused nvidia-settings to display incorrect information in its display configuration page when all displays on an X screen were turned off. * Updated nvidia-installer to only install the libraries libvdpau and libvdpau_trace if an existing installation of libvdpau is not detected on the system. This behavior can be overridden with the --install-vdpau-wrapper and --no-install-vdpau-wrapper options. Future NVIDIA Linux installer packages will no longer include copies of libvdpau or libvdpau_trace: VDPAU users are recommended to install these libraries via other means, e.g. from packages provided by their distributors, or by building them from the sources available at: http://people.freedesktop.org/~aplattner/vdpau/ ======== Release 325 Entries ======== 2013-08-05 version 325.15 * 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. 2013-07-01 version 325.08 * Fixed a bug that could cause display flickering after setting some scaling configurations. * Fixed a bug that prevented the status bar on the "PowerMizer" and "X Server XVideo Settings" pages in the nvidia-settings control panel from being updated when settings were changed by another NV-CONTROL client. * Fixed a bug that could cause some UI elements to be duplicated in the nvidia-settings control panel following a VT switch on X server configurations with multiple NVIDIA X screens. * Changed the default PCIe interrupt delivery method from virtual-wire to MSI. Note that if the NVIDIA Linux driver fails to initialize with an error indicating that it is not receiving interrupts, MSI can be disabled by setting the module parameter "NVreg_EnableMSI=0" when loading the NVIDIA kernel module. * Removed support for Linux 2.4 kernels. The NVIDIA Linux driver now requires Linux 2.6.9 or later. * Fixed a bug that prevented the creation of a mode via RandR with the same name as a previously created mode, even after the previous mode had been deleted. * Fixed a bug in nvidia-settings that caused GTK+ theme colors to be ignored for some UI elements. * Fixed a bug that caused nvidia-settings to write hostname-based color correction settings to the .nvidia-settings-rc configuration file, even when the "Include X Display Names in the Config File" option was unset. This could lead to a long delay when starting nvidia-settings, if a hostname saved to the configuration file failed to resolve. * Fixed a bug that exposed edge overlap controls on the SLI 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. * Updated nvidia-installer to look for the following files: /usr/lib/nvidia/alternate-install-available /usr/lib/nvidia/alternate-install-present These files may be provided by NVIDIA driver installers other than the official .run package maintained by NVIDIA, to alert nvidia-installer to the presence or availability of an alternative installation method. See the nvidia-installer(1) manual page for more information. * Fixed an X driver bug where the RandR CRTC panning area and tracking area were not getting clamped to the current X screen size when the RandR CRTC transitioned from disabled to enabled. * Fixed an X driver bug where successful RandR X_RRSetScreenConfig requests would update the server's RandR 'lastSetTime' too far, potentially causing subsequent RandR requests to be unnecessarily rejected. * Fixed an X driver bug that caused GPUs to become inaccessible via the NV-CONTROL X extension when no corresponding X screens could be initialized. * Generate a BadMatch error when applications attempt to create GLX pixmaps using glXCreatePixmap() or glXCreateGLXPixmapWithConfigSGIX() and the pixmap's depth doesn't match that of the specified GLXFBConfig. * Updated nvidia-settings to explicitly specify the direction of rotation for configuring per-display rotation configuration. * Honor a GPU UUID as the GPU qualifier for X configuration options that allow GPU qualifiers (e.g. "MetaModes"). * Report GPU UUIDs in the X log when verbose logging is enabled in the X server. * Enabled conformant glBlitFrameBuffer() scissor test behavior by default. A driver-provided application profile enables the previous non-conformant behavior for applications that load libcogl, to work around a bug in older versions of libcogl. Application profiles can be added to enable the non-conformant behavior for other applications that depend upon it. See the "Known Issues" section of the README for more details. ======== Release 319 Entries ======== * Updated nvidia-settings to use libjansson commit 88aa6a9e30e7465196a737bd0f82eb17f393a120 from the repository at: git://github.com/akheron/jansson.git This commit contains the relevant fixes for CVE-2013-6401. 2014-01-13 version 319.82 * Fixed a bug which could sometimes corrupt a newly-created thread's signal mask in multi-threaded applications that load libGL. * Added support for the following GPUs: * GeForce GTX 780 Ti * GeForce GTX 760 (192-bit) * GeForce 820M * Tesla K40m * Tesla K40c * Tesla K40st * Tesla K40s 2013-11-06 version 319.72 * Added support for the following GPUs: * Quadro K510M * Quadro K610M * Quadro K1100M * Quadro K2100M * Quadro K3100M * Quadro K4100M * Quadro K5100M * GeForce 705A * GeForce GT 730A * Fixed a bug that prevented SDI output from working when two or more non-SDI displays were being driven by the same GPU. 2013-10-01 version 319.60 * 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. * Fixed a bug in nvidia-installer that caused the 32-bit libGL.la libtool library file to be installed to the wrong location. * Added support for the following GPU: * GeForce GTX 760 Ti OEM 2013-08-20 version 319.49 * Fixed a bug that caused DisplayPort monitors connected to Quadro FX 3800, 4800, or 5800 to remain off after DPMS. * Added the NVIDIA OpenGL-based Inband Frame Readback (NvIFROpenGL) library to the Linux driver package. This library provides a high performance, low latency interface to capture and optionally encode an individual OpenGL framebuffer. NvIFROpenGL captures pixels rendered by OpenGL only and is ideally suited to application capture and remoting. * Fixed a bug that caused applications using CUDA-GL interop to crash when run on X servers with Xinerama enabled. * Fixed a bug that could prevent some double-bit ECC errors from being properly reported. * Fixed a bug which could cause a blank screen when changing house sync settings on Quadro Kepler GPUs with Quadro Sync boards. * Fixed a bug that prevented nested loops with identical loop conditions in GLSL shaders from terminating correctly. This could cause hangs in applications such as Exa PowerVIZ. * Added support for the following GPUs: * GeForce GT 740A * GeForce GT 745A * GeForce GT 755M * GeForce GT 625 * GeForce GTX 645 * GRID K340 * GRID K350 * NVS 315 * Quadro K500M * Quadro K6000 * 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. 2013-06-25 version 319.32 * Updated the nvidia-settings control panel to report more detailed clocking 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. * Updated the NVIDIA driver to avoid calling fork(2) to execute the nvidia-modprobe utility when not needed. * Improved the error reporting of the nvidia-persistenced utility. * Fixed a bug that could cause Altair HyperView to hang when rendering animations with tensors. * 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 in nvidia-installer that could cause installation problems when the value of the CC environment variable contained spaces, e.g. CC="distcc gcc" * 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. * Added support for the following GPUs: * GeForce 710A * GeForce 720M * 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. 2013-05-23 version 319.23 * 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 support for the following GPUs: * GeForce GTX 760 * GeForce GTX 770 * GeForce GTX 780 * 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. 2013-05-02 version 319.17 * Fixed a regression that caused multiple BUG messages to be printed in the kernel log on SMP systems. * 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". * Added support for the following GPUs: * GeForce GT 720M * GeForce GT 735M * GeForce GT 740M * GeForce GT 745M * GeForce GT 750M * GeForce GTX 760M * GeForce GTX 765M * GeForce GTX 770M * GeForce GTX 775M * GeForce GTX 780M * Added nvidia-persistenced, a daemon utility, to the driver package. nvidia-persistenced can be installed to run on system startup or manually run to allow the NVIDIA kernel module to keep persistent driver state allocated when no other user-space NVIDIA driver components are running. This can improve startup time for other user-space NVIDIA driver components. 2013-04-09 version 319.12 * 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 the following GPU: * GeForce GTX 650 Ti BOOST * Added support for application profiles to the NVIDIA client-side GLX implementation. See the "Application Profiles" chapter of the README for more information. * Added support to nvidia-installer for crytographically signing the NVIDIA kernel module. See the "Installing the NVIDIA Driver" 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. * Added initial support for RandR 1.4 Provider objects with the Source Output capability, which can be used to render the desktop on an NVIDIA GPU and display it on an output connected to a provider with the Sink Output capability, such as an Intel integrated graphics device or a DisplayLink USB-to-VGA adapter. See the README for details. * Added nvidia-modprobe, a setuid root utility, to the driver package. nvidia-modprobe can be used by user-space NVIDIA driver components to make sure the NVIDIA kernel module is loaded and that the NVIDIA character device files are present. When possible, it is recommended to use Linux distribution native mechanisms for managing kernel module loading and device file creation. This utility is provided as a fallback to work out-of-the-box in a distribution-independent way. * 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. * Updated the dkms.conf file and the makefile for the NVIDIA Linux kernel module to allow DKMS installations on systems with separate source and output directories. * 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". * Updated nvidia-installer to attempt unprelinking files whose checksums do not match the checksums recorded at installation time. * Switched .run package compression from gzip to xz. This provides a higher level of compression. ======== Release 313 Entries ======== 2013-03-05 version 313.26 * Added support for the following GPU: * GeForce GTX TITAN 2013-01-15 version 313.18 * Added support in NV-CONTROL and in nvidia-settings for changing the Double Precision performance boost mode on supported GPUs. * Fixed a bug in nvidia-settings that allowed unavailable features to be selected in some drop-down menus. * Fixed several OpenGL driver bugs related to stencil-only framebuffer objects. 2012-12-11 version 313.09 * Updated the NVIDIA X driver to reprobe displays when VT-switching to X, to allow reporting of hotplug events when displays are connected or disconnected while VT-switched away from X. * Added unofficial GLX protocol support (i.e for GLX indirect rendering) for the following extension and core commands. GL_ARB_vertex_array_object OpenGL 3.0 commands ClearBufferfi, ClearBufferfv, ClearBufferiv, ClearBufferuiv and GetStringi. * Fixed a bug that caused the cursor shadow to be clipped to 32x32 pixels, even on Kepler GPUs that support a 256x256 cursor image. * Fixed a bug that prevented some cursor image updates from taking effect on displays with rotation or other transformations applied. * Fixed cursor alpha blending artifacts on displays with rotation or other transformations applied. * Added support for the GLX_EXT_buffer_age extension. * Improved the performance of glDrawPixels() by up to 450% when the pixel data is of type GL_BYTE. ======== Release 310 Entries ======== 2013-05-08 version 310.51 * Fixed a bug where RRGetCrtcInfo could report incorrect size information when an RandR output has a custom ViewPortIn. * Fixed a regression that could cause an X server crash when performing a modeset (e.g. changing resolutions, transformation settings, or display layout) when some connected display devices are disabled. * Augmented the resolution drop-down in the display configuration page of nvidia-settings with "implicit resolutions": for common resolutions, if a mode with that resolution is not available for a display device, that resolution will be simulated through MetaMode ViewPort scaling. 2013-03-08 version 310.40 * Reduced the amount of time needed to establish framelock in some stereo configurations with many monitors. * Added support for the following GPUs: * GeForce G205M * GeForce GT 240M LE * GeForce 405M * GeForce 610 * GeForce 615 * GeForce 620M * GeForce GT 625M * GeForce GT 625 (OEM) * GeForce GT 635 * GeForce 705M * GeForce 710M * GeForce GT 710M * GeForce GT 720A * GeForce GT 730M * Tesla X2070 * Tesla S2050 * Tesla K20s * Fixed a bug where glXSwapIntervalEXT failed to set a swap interval value of zero in certain situations. 2013-01-21 version 310.32 * 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. * Added support for the following GPUs: * Quadro K600 * Quadro K2000 * Quadro K2000D * Quadro K4000 * GeForce GTX 680MX * Tesla K20Xm * 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. 2012-11-13 version 310.19 * 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. 2012-10-15 version 310.14 * 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. ======== Release 304.15.00 Entries ======== 2012-08-06 version 304.15.00.02 * Added support for OpenGL 4.3. ======== Release 304 Entries ======== 2014-12-05 version 304.125 * Added support for X.Org xserver ABI 19 (xorg-server 1.17). * Improved compatibility with recent Linux kernels. * Updated nvidia-installer to avoid writing to non-zero offsets of sysctl files in /proc/sys/kernel. 2014-07-10 version 304.123 * Improved compatibility with recent Linux kernels. * Fixed a bug that could result in system instability while restoring the VGA console. * Fixed an interaction problem with xserver 1.15 that occasionally caused OpenGL applications to continue rendering when they are minimized or unmapped. * Updated nvidia-bug-report.sh to search the systemd journal for X server logs and messages from the NVIDIA kernel module. * Added support for X.org xserver ABI 18 (xorg-server 1.16). * Fixed a bug that caused corruption or blank screens on monitors that use EDID version 1.3 or older when they are connected via DisplayPort on graphics boards that use external DisplayPort encoders, such as the Quadro FX 4800. 2014-03-11 version 304.121 * Improved compatibility with recent Linux kernels. * Fixed a bug that prevented the NVIDIA implementation of the Xinerama extension protocol requests from being used when RandR was enabled. * Updated nvidia-installer to add '/usr/lib/i386-linux/gnu' to the search path for installing 32-bit compatibility libraries on Debian GNU/Linux systems. 2014-01-23 version 304.119 * Fixed a crash when using WebGL in Firefox with a Geforce 6 GPU. 2013-12-11 version 304.117 * Added support for X.org xserver ABI 15 (xorg-server 1.15). 2013-11-06 version 304.116 * Updated nvidia-installer to consider the "libglamoregl.so" X loadable extension module to be in conflict with the NVIDIA OpenGL driver. This module can cause the NVIDIA libGL to be loaded into the same process (the X server) as the NVIDIA libglx.so extension module, which is not a supported use case. * Improved compatibility with recent Linux kernels. * Updated the NVIDIA OpenGL driver to write temporary files to $TMPDIR if it is set, instead of unconditionally writing to /tmp. * Updated a fallback of writing temporary files to $HOME/.nvidia to use $HOME/.nv instead, as the latter path is already used for other NVIDIA driver related files. 2013-08-08 version 304.108 * Added /usr/lib/modprobe.d to the list of directories where nvidia-installer may optionally install a generated modprobe configuration file to attempt to disable Nouveau. 2013-04-02 version 304.88 * 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 2013-03-04 version 304.84 * Improved compatibility with recent Linux kernels. * Fixed a bug that could lead to rendering corruption after an X server generation (i.e., leaving an X server running after all of its clients have exited). * Removed a spurious dependency on libpangox from the nvidia-settings binary shipped as part of the driver package. * Fixed a bug that could cause the X server to crash when performing an RandR 1.0 rotation (e.g., `xrandr --orientation left`) after unplugging the last connected monitor. * Fixed font rendering performance and corruption problems on X servers with backported support for the new glyph cache functionality added to Pixman 0.27. * Fixed a potential X server crash during initialization, when a graphics card with a TV connector has no TV connected. * 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. 2012-11-06 version 304.64 * Added a missing 32-bit compatibility library for libnvidia-opencl.so to the 64-bit Linux installer package. * Fixed a regression in backlight control functionality on some notebook configurations. * Fixed a performance issue with recent Linux kernels when allocating and freeing system memory. * 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. * Added support for the following GPUs: * VGX K1 * VGX K2 * Tesla K20c * Tesla K20m 2012-10-18 version 304.60 * Fixed a bug that caused the EIZO FlexScan SX2762W monitor to remain blank when connected via DisplayPort. * Updated nvidia-settings to save and restore per-monitor color correction settings when RandR 1.2 or later is available. * Fixed a bug that caused too many display devices to appear in the X Screen page of nvidia-settings when SLI is enabled. * Fixed a bug that caused applications to stop rendering or the X server to hang in Xinerama configurations when windows were moved, resized, mapped, or unmapped. * Fixed a bug that caused poor OpenGL performance on GeForce 6 and 7 PCI cards. * Fixed a bug in nvidia-settings that made it report the status of ECC configuration incorrectly. * 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. 2012-09-24 version 304.51 * Added support for the following GPUs: * GeForce GT 645M * GeForce GTX 670MX * GeForce GTX 675MX * GeForce GTX 650 Ti * 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. 2012-09-11 version 304.48 * 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. * Added support for the following GPUs: * GeForce GTX 660 * GeForce GTX 650 * 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. 2012-08-27 version 304.43 * 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 support for the following GPUs: * GeForce GTX 660 Ti * Quadro K5000 * Quadro K5000M * Quadro K4000M * Quadro K3000M * NVS 510 * Added the ability to select and move X screens in the "X Server Display Configuration" page of nvidia-settings via Ctrl-(Left)Click + Drag 2012-08-13 version 304.37 * 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. 2012-08-03 version 304.32 * 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 Nouveau is detected by nvidia-installer. If the "--disable-nouveau" option is set, then the default will be to attempt to disable Nouveau when it is detected; otherwise, no attempt will be made unless requested. 2012-07-30 version 304.30 * 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. * Added support for the following GPU: * Tesla K10 * 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 ModeValidation X 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. 2012-07-13 version 304.22 * Added support for the following GPUs: * GeForce GTX 680M * Quadro K1000M * Quadro K2000M * 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. ======== Release 302 Entries ======== * 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. 2012-06-15 version 302.17 * 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 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. 2012-05-19 version 302.11 * 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. 2012-05-02 version 302.07 * 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. ======== Release 295 Entries ======== * Fixed a bug that caused frequent hangs or crashes on some systems. 2012-08-07 version 295.71 * 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 2012-06-11 version 295.59 * 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. * Added support for the following GPUs: * GeForce GT 620M * GeForce GT 640M * GeForce GT 640M LE * GeForce GT 650M * GeForce GTX 660M * GeForce GTX 670M * GeForce GTX 675M * GeForce GTX 555 * GeForce GTX 560 SE * GeForce GT 415 * GeForce GTX 460 v2 * NVS 5400M * NVS 310 * Quadro 410 * Fixed a behavior issue where redundant DPMS state transitions were leading to unexpected screen blanking on DisplayPort displays. 2012-05-16 version 295.53 * Added support for the following GPUs: * 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. 2012-05-03 version 295.49 * Added support for the following GPU: * GeForce GTX 690 * Fixed a problem where starting, stopping, and moving OpenGL application windows was very slow on Quadro FX 4600, Quadro FX 5600, GeForce 8800 GTX, GeForce 8800 GTS, and GeForce 8800 Ultra. * Fixed an OpenGL performance regression which affected Geforce 6 and Geforce 7 series integrated GPUs. 2012-04-11 version 295.40 * 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. * Added a ModeValidation X configuration option token, "AllowNon3DVisionModes", to allow modes that are not optimized for NVIDIA 3D Vision to be validated on 3D Vision monitors. * Added support for the following GPUs: * GeForce GT 635M * GeForce 610M 2012-03-22 version 295.33 * Added support for the following GPUs: * GeForce GTX 680 * GeForce GT 630M * GeForce GT 620 * 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. * Improved compatibility with recent Linux kernels. * 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. 2012-02-13 version 295.20 * 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. 2012-01-31 version 295.17 * 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. 2011-12-27 version 295.09 * 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. * Added support for the following GPU: * Tesla X2090 * 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. ======== Release 290 Entries ======== 2011-11-21 version 290.10 * Fixed a bug that would cause OpenGL applications to crash when run with recent releases of glibc such as glibc 2.14.90. * 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. 2011-11-04 version 290.06 * Added support for the following GPU: * GeForce GTX 460 SE v2 * 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. 2011-10-21 version 290.03 * 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 ======== Release 285 Entries ======== * Fixed a bug causing a Linux kernel BUG when retrieving CPU information on some systems. * Fixed a bug causing some applications to hang on exit. * Fixed a bug causing flickering in some GPU/display combinations. * Fixed a bug that could result in poor OpenGL performance after hotplugging a monitor. * Added support for the following GPU: * GeForce GT 520MX * Fixed a bug causing possible text corruption when recovering from GPU errors. 2011-08-17 version 285.03 * 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. ======== Release 280 Entries ======== 2011-08-01 version 280.13 * 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. 2011-07-26 version 280.11 * 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. 2011-06-29 version 280.04 * Added support for the following GPUs: * GeForce GTX 570M * GeForce GTX 580M * 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 ======== Release 275 Entries ======== * Added support for the following GPU: * NVS 5200M * Added support for deleting SDI audio ancillary data packets when a video frame is dropped on a Quadro SDI Output device. See the NV_CTRL_GVO_AUDIO_BLANKING attribute in NVCtrl.h for details. This option can be set via the "GvoAudioBlanking" attribute in nvidia-settings. * Added support for xserver 1.11.99.901 (also known as 1.12 RC1). 2011-12-14 version 275.43 * Fixed a bug that would cause Firefox to abort on pages with Flash when layers acceleration was force-enabled on Linux and Solaris. * Fixed a bug that caused a crash when glDrawArrays was used with a non-VBO vertex attribute array to draw on a Xinerama screen other than screen 0 using an indirect GLX context. 2011-11-04 version 275.36 * Added support for the following GPU: * GeForce 510 * Fixed a bug that caused trapezoid and triangle rendering to be very slow on older GPUs with xorg-server 1.11. 2011-09-07 version 275.28 * Added support for xserver ABI 11 (xorg-server 1.11). * Fixed a bug that caused the GLSL built-in uniforms gl_FrontMaterial and gl_BackMaterial to not be updated properly when calling glMaterial from a display list. * Fixed an error handling bug that caused the OpenGL driver to crash while running certain WebGL applications. * Fixed a bug in VDPAU that caused a glibc assertion when a call to VdpDeviceCreateX11 failed in certain ways. 2011-07-15 version 275.21 * 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. * Added X configuration options "3DVisionProHwButtonPairing", "3DVisionProHwSinglePairingTimeout", "3DVisionProHwMultiPairingTimeout", and "3DVisionProHwDoubleClickThreshold" to configure hardware button based pairing in NVIDIA 3D Vision Pro. See "Appendix B. X Config Options" in the README for more information. * Fixed a bug that prevented initialization of the NVIDIA 3D Vision or NVIDIA 3D Vision Pro hub if no EDID was present. 2011-07-15 version 275.19 * Fix 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. * Added support for the following GPUs: * GeForce GT 540M * 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. 2011-06-14 version 275.09.07 * Fixed a bug that caused desktop corruption in GNOME 3 after a VT-switch or suspend/resume cycle. * Added support for the following GPUs: * GeForce GTX 560 * GeForce GT 545 * GeForce GTX 560M * GeForce 410M * GeForce 320M * GeForce 315M * Quadro 5010M * Quadro 3000M * Quadro 4000M 2011-06-05 version 275.09.04 * 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. 2011-05-19 version 275.09 * 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. * Fixed a bug that caused nvidia-settings to crash while saving the X configuration file on some Linux distributions. * 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. ======== Release 270 Entries ======== * Fixed a bug causing incorrect reporting of GPU core and ambient temperatures via NV-CONTROL. 2011-05-19 version 270.41.19 * 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(). * Addressed a Linux kernel interface compatibility problem that could lead to ioremap() errors and, potentially, functional and/or stability problems. * Fixed a bug that caused SLI initialization to fail on some Intel based systems. * Fixed a bug that caused SLI initialization to fail when using recent Linux kernels, such as 2.6.38. 2011-04-20 version 270.41.06 * 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. * Added support for the following GPUs: * Tesla M2090 * Tesla M2075 * Tesla C2075 * Quadro 7000 2011-04-18 version 270.41.03 * Fixed a bug causing the X server to hang every 49.7 days on 32-bit platforms. * Added support for the following GPUs: * GeForce GT 520 * GeForce GT 525M * GeForce GT 520M * GeForce GT 445M * GeForce GT 530 * GeForce 405 * GeForce GTX 590 * GeForce GTX 550 Ti * GeForce GT 420 * GeForce GT 440 * GeForce GTX 470M * GeForce GTX 485M * GeForce GT 550M * GeForce GT 555M * NVS 4200M * Quadro 1000M * Quadro 2000M 2011-03-02 version 270.30 * Added support for xserver ABI 10 (xorg-server 1.10). * Dropped support for xserver ABI 9 (which was only used with xorg-server 1.10 RC2 due to a last-minute xserver change). 2011-02-24 version 270.29 * Added official support for xorg-server 1.10 [RC2 only, see above]. The -ignoreABI option is no longer required with this version of the server. 2011-02-15 version 270.26 * Added NV-CONTROL event notification for NV_CTRL_FRAMELOCK_SYNC_READY status changes. * Added support for the following GPUs: * GeForce GTX 560 Ti * 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. 2011-01-21 version 270.18 * Added preliminary support for xserver 1.10. * Reorganized the NVIDIA driver's /proc file system layout to better reflect current needs: /proc/driver/nvidia/cards/0..N has been moved to /proc/driver/nvidia/gpus/0..N/information * Added new shared library: libnvidia-ml.so. NVML provides programmatic access to static information and monitoring data for NVIDIA GPUs, as well as limited managment capabilities. It is intended for use with Tesla compute products. See web-based documentation and associated nvml.h header for more info. * Added a new X configuration option "3DVisionDisplayType" to specify the display type when NVIDIA 3D Vision is enabled with a non 3D Vision ready display. * 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 ======== Release 265 Entries ======== * 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 ======== Release 260 Entries ======== * 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. * Added support for the following GPUs: * Quadro 2000 D * Quadro 400 2011-01-21 version 260.19.36 * Updated the NVIDIA kernel module to ensure that all system memory allocated by it for use with GPUs or within user-space components of the NVIDIA driver stack is initialized to zero. A new NVIDIA kernel module option, InitializeSystemMemoryAllocations, allows administrators to revert to the previous behavior. * 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. 2010-12-13 version 260.19.29 * Added support for the following GPUs: * GeForce GTX 460 SE * GeForce GTX 570 * 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. * Added support for NVIDIA 3D Vision Pro. See the "Stereo" X configuration documentation in the README for further details. * Added a new X configuration option "3DVisionProConfigFile" to allow user provide a filename which NVIDIA X driver uses to store 3D Vision Pro configuration settings. See "Appendix B. X Config Options" in the README for more information. 2010-11-11 version 260.19.21 * 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. 2010-10-13 version 260.19.12 * Added support for the following GPUs: * GeForce GTS 450 * GeForce GTX 460M * GeForce GT 415M * GeForce GT 425M * GeForce GT 420M * GeForce GT 435M * Quadro 2000 * Quadro 600 * Temporarily added back OpenGL header files to the Linux driver package, though these are not installed by default. To have these OpenGL header files installed, pass "--opengl-headers" to the NVIDIA .run file. These will be removed from future NVIDIA driver packages once http://www.opengl.org/registry/ provides gl.h and glx.h. * Fixed the CustomEDID X configuration option so that it can handle EDID files from Linux procfs; e.g., /proc/acpi/video/IGPU/LCD0/EDID. 2010-09-15 version 260.19.06 * Fixed an interaction problem with a change in X server behavior that caused slow text rendering on X.Org xserver 1.9. * Enhanced VDPAU to support interop with CUDA and OpenGL when Xinerama is active. * Fixed a bug in VDPAU that prevented temporal-spatial de-interlacing from operating when temporal de-interlacing was not also enabled. * Added support for configuring the dithering depth used when driving a flat panel with a GeForce 8 family or Quadro 4600/5600 or newer GPU. See the "Dithering Controls" in the Flat Panel page in nvidia-settings. 2010-09-08 version 260.19.04 * Added support for the nvcuvid API. nvcuvid provides a mechanism for decoding video and exposing the surfaces to CUDA, allowing applications to perform custom processing of the video. nvcuvid is primarily targeted at transcoding and video- processing applications. nvcuvid was already available on other platforms. By default, nvidia-installer places the nvcuvid library in /usr/lib/libnvcuvid.so, or in the appropriate library path for your system. The nvcuvid header files can be retrieved from the CUDA toolkit package. * Stopped packaging and installing OpenGL, VDPAU, CUDA, and OpenCL header files with the driver. Those interested in these files can get them from their Linux distributions' packages, where available, or upstream from: OpenGL header files (gl.h, glext.h glx.h, glxext.h): http://www.opengl.org/registry/ VDPAU header files (vdpau.h and vdpau_x11.h): http://freedesktop.org/wiki/Software/VDPAU CUDA and OpenCL header files (cuda.h, cudaGL.h, cudaVDPAU.h, cl.h, cl_gl.h, cl_platform.h): http://developer.nvidia.com/object/gpucomputing.html Note that while libvdpau.so is still included in 260.xx drivers, it will be removed from a future release series in early 2011. Distributors are encouraged to package libvdpau.so from http://freedesktop.org/wiki/Software/VDPAU * Fixed a bug in VDPAU that could cause a "display preemption" when toggling MPlayer to full-screen the first time. * Added OpenGL 4.1 support for Quadro Fermi, GeForce GTX 4xx, and later GPUs. * Enhanced VDPAU to fully support Xinerama. * Fixed a bug in the X driver that prevented operation of Xinerama when using multiple NVIDIA GPUs from different major hardware generations on X with ABI 4 or greater. * Fixed a bug in the OpenGL driver's Xinerama support. Rendering should have ocurred to all physical X screens driven by an NVIDIA GPU compatible with the NVIDIA GPU driving physical X screen 0. However, if some physical X screen did not satisfy that requirement, then not only would that physical X screen not be rendered to (as expected), but also all physical X screens with a higher number would not be rendered to (which was unexpected). * Added GPU "Processor Clock" reporting to the nvidia-settings PowerMizer page. * Implemented support for SLI Mosaic Mode on Quadro FX 5800 and Quadro Fermi and newer Quadro GPUs. * Enhanced the VDPAU overlay-based presentation queue to allow it to be used when SLI is active, and in some cases when the X composite extension is enabled. See the README for further details. * Added support for configuring the dithering mode used when driving a flat panel with a GeForce 8 family or Quadro 4600/5600 or newer GPU. See the "Dithering Controls" in the Flat Panel page in nvidia-settings. * Added unofficial GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions: GL_EXT_texture_integer GL_ARB_stencil_two_side GL_EXT_transform_feedback2 GL_NV_transform_feedback2 GL_NV_conditional_render * Added GLX protocol support (i.e., for GLX indirect rendering) for the following OpenGL extensions: GL_NV_point_sprite GL_EXT_stencil_two_side GL_EXT_point_parameters GL_ARB_transpose_matrix GL_EXT_framebuffer_blit GL_EXT_framebuffer_multisample * GLX protocol for the following OpenGL extension is promoted from unofficial GLX ptotocol to ARB approved GLX protocol: GL_EXT_geometry_shader4 GL_ARB_shader_objects GL_ARB_vertex_shader GL_ARB_fragment_shader * Added support for configuring individual displays as any eye in passive stereo mode "4" when using TwinView or SLI Mosaic through extensions to the MetaMode syntax. * Added ColorSpace and ColorRange features for HDMI. These give the ability to output YUV over HDMI and select full/reduced color range on RGB over HDMI. ColorSpace and ColorRange are X Configuration options and can be changed dynamically through nvidia-settings. ======== Release 256 Entries ======== * 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 when starting 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. 2010-07-29 version 256.44 * Added Support for Quadro 4000, Quadro 5000, and Quadro 6000. * Updated nvidia-installer to detect the nouveau kernel module and fail with an appropriate error message. * Added information to the NVIDIA driver README on how to disable the nouveau driver. * 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. 2010-06-22 version 256.35 * 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. 2010-05-28 version 256.29 * 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. 2010-05-21 version 256.25 * 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 thermal sensors. * Fixed an interaction problem between Compiz and 'screen-scraping' VNC servers like x11vnc and vino that caused the screen to 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 the README 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. * Changed the SONAME of libnvidia-glcore.so.VERSION, libnvidia-tls.so.VERSION, and libnvidia-compiler.so.VERSION to be ".so.VERSION", rather than ".so.1". These driver files are only used by other NVIDIA driver components, and are only intended to be used by components of the matching NVIDIA driver version. * Removed the "-pkg#" suffix from the NVIDIA Linux .run files. The packages are now simply named "NVIDIA-Linux-ARCH-VERSION.run". On Linux-x86_64, a package which omits the 32-bit compatibility libraries is also available: "NVIDIA-Linux-x86_64-VERSION-no-compat32.run" * Simplified the directory structure of the Linux extracted package; most driver files are now just contained within the top level directory of the package. Pass the '--list' option to the .run file for details. * Removed precompiled kernel interfaces from the NVIDIA Linux-x86 .run file; these were ancient and had not been updated in years. Going forward, NVIDIA does not plan to provide precompiled kernel interfaces with the Linux .run files. However, nvidia-installer and the .run file will retain the ability for users to add their own precompiled kernel interfaces via the '--add-this-kernel' .run file option. * Compressed the nvidia-settings, nvidia-installer, and nvidia-xconfig tarballs with bzip2, rather than gzip. ======== Release 195 Entries ======== * Fixed a problem with SLI SFR, AFR, and SLIAA modes with GeForce GTX 480 and GeForce GTX 470 and high-resolution display modes. 2010-04-28 version 195.36.24 * Added support for the following GPUs: * GeForce GTX 480 * GeForce GTX 470 * Tesla C2050 * Fixed a problem that caused occasional red flashes in XVideo frames. * Added official support for xserver 1.8. The -ignoreABI option is no longer required with this version of the server. * Updated the "Supported NVIDIA GPU Products" list to include various supported GPUs that were missing previously. 2010-03-15 version 195.36.15 * Fixed a regression that caused the driver to fail to properly adjust the GPU fan speed on some GPUs. * Fixed a bug that prevented performance level transitions on recent GPUs with SDDR3 and GDDR5 memory. * Fixed a bug that caused the X server to crash when rendering occurred while the X server was not on the active VT. 2010-03-03 version 195.36.08 * Added support for the following GPUs: * Quadro FX 880M * GeForce GTS 350M * GeForce GTS 360M * 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 brightness control hotkeys on some laptops. * Fixed an nvidia-settings bug that produced many "Bad argument" warning messages when running nvidia-settings --query all. * Fixed an installer bug that produced the following message: WARNING: Unable to perform the runtime configuration check for library 'libGL.so.1' ('/usr/lib/libGL.so.195.36.03'); assuming successful installation. * 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. 2010-02-03 version 195.36.03 * 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. 2009-12-22 version 195.30 * 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. 2009-11-23 version 195.22 * 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 NVIDIA 3D Vision Stereo on Linux with Quadro GPUs. See the "Stereo" X configuration documentation in the README for details. * 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. ======== Older Releases ======== 2009-10-21 version 190.42 * Fixed a bug in the nvidia-settings disclaimer window for the GPU Clock Frequencies Coolbits page, such that the "Accept" button is selectable when the desktop is so tall that the entire disclaimer can be viewed without scrolling. * Fixed a recent regression that caused the Xinerama option to not be set properly in the X configuration file when saving and merging from the nvidia-settings X Server Display Configuration page. * Fixed a resource leak in VDPAU's blit-based presentation queue. This bug limited the number of presentation queue objects that could be created and destroyed in a single application instance, and hence could limit the number of streams that could be displayed and/or the number of iterations of "loop" playback. * Fixed a power management regression that prevented some notebooks and systems with integrated GeForce 8 and 9 series GPUs from suspending. * Fixed a regression that caused TV-OUT controls to be unavailable on some GeForce 6 and 7 series GPUs. 2009-10-16 version 190.40 * Added support for OpenGL 3.2. * Added support for NVIDIA Quadro SDI Capture, part of the Quadro Digital Video Pipeline. * Added support for the following GPUs: GeForce G102M GeForce GT 220 GeForce G210 GeForce G210M GeForce GT 230M GeForce GT 240M GeForce GTS 250M GeForce GTS 260M * 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. * Fixed a randomly occurring X server crash caused by the PixmapCache option. * Increased 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. 2009-09-24 version 190.36 * 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. * Updated nvidia-installer to detect newer Debian distributions that use /usr/lib32 instead of /emul/ia32-linux as the 32-bit library path. * Added GLX support for OpenGL 3.2 context profiles through the extension GLX_ARB_create_context_profile. 2009-09-04 version 190.32 * 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. 2009-08-21 version 190.25 * 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. 2009-07-23 version 190.18 * 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. 2009-08-21 version 185.18.36 * 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. 2009-07-31 version 185.18.31 * Fixed a crash on certain mobile GPUs. 2009-07-28 version 185.18.29 * 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. Linux specific changes: * Added code to forcibly terminate long-running CUDA kernels when Ctrl-C is pressed. * Fixed an interaction problem between PowerMizer and CUDA applications that caused the performance level to be reduced while the CUDA kernel is running. * Made CUDA compute-exclusive mode persistent across GPU resets. FreeBSD specific changes: * Fixed an installer problem that prevented Linux ABI compatibility from working with newer versions of FreeBSD. 2009-05-27 version 185.18.14 * 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. * Add support for the UseEvents X configuration option on GeForce 8 and higher GPUs. * Moved kernel module loading earlier in the X driver's initialization, to facilitate more graceful fallbacks if the kernel module cannot be loaded. Removed the LoadKernelModule X configuration option. * Added support for new horizontal interlaced and checkerboard passive stereo modes. * Fixed an OpenGL driver crash while running Bibble 5. * 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". Linux specific changes: * Improved compatibility with recent Linux kernels. FreeBSD specific changes: * Modified VDPAU to dlopen libpthread.so (on all platforms), to avoid conflicts between the current libc and a compat libpthread. 2009-04-06 version 185.19 * Added support for the following new GPUs: Quadro FX 3800 Quadro FX 1800 Quadro FX 380 Quadro FX 580 GeForce GTS 250 GeForce GT 140 GeForce GT 130 GeForce 9600 GSO 512 * Fixed SDI presentation time queries returning unexpected values. * Removed the 'AllowDFPStereo' X config file option, which is now enabled by default. * Fixed a bug that caused certain programs to hang when multiple threads call functions in libdl at the same time. * Fixed a driver crash when OpenGL applications use an extremely large number of textures. * Fixed GPU errors triggered by text rendering to PseudoColor windows with the glyph cache enabled. * Updated the X driver to allow pixmaps smaller than 32x32 pixels to be placed in video memory. * Fixed a problem that prevented the driver from retraining a DisplayPort link after a device was hotplugged. * Updated nvidia-bug-report.sh to automatically gzip the resulting log file. * Fixed VDPAU to eliminate some cases of GPU hangs when decoding H.264 video on G84, G86, G92, G94, G96, or GT200 GPUs, and supplying a DPB missing some reference frames. * The VDPAU presentation queue now syncs to VBLANK in the blit path. The environment variable VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE selects which display to sync to when TwinView is enabled; see the README for details. * On systems using integrated graphics, VDPAU now uses system RAM instead of video RAM for many purposes. This should prevent "out of resources" problems in most cases, even when the video RAM carve-out is configured as low as 128M. * Added support for Quad-Buffered Stereo in the main plane simultaneously with the Color Index Overlay; i.e., both Stereo GLX FBConfigs and Color Index Overlay FBConfigs can be advertised and used at the same time, though no single GLX FBConfig contains both Stereo and Overlay capabilities. 2009-03-12 version 185.13 * Numerous internal cleanups and improvements to OpenGL. In particular, GLX_EXT_texture_from_pixmap binding performance problems were resolved. 2009-04-21 version 180.51 * Added support for the following GPUs: GeForce 9600 GSO 512 GeForce 9400 GT GeForce GTS 250 GeForce GT 130 GeForce GT 140 * Fixed stability problems with some GeForce 6200/7200/7300 GPUs on multi-core/SMP systems. * 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 an interaction problem that could corrupt the EDID of the Fujitsu Technology Solutions Celsius H270 notebook's internal flatpanel. * Fixed occasional X driver memory management performance problems when a composite manager is running. * 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. Linux specific changes: * Improved compatibility with recent Linux kernels. * Reduced CPU usage of nvidia-smi utility for reporting Quadro Plex information. * Fixed compatibility problem with LandMark GeoProbe. Solaris specific changes: * 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. 2009-03-30 version 180.44 * Added support for the following GPUs: Quadro FX 3800 Quadro FX 3700M Quadro FX 1800 Quadro FX 580 Quadro FX 380 Quadro NVS 295 GeForce GT 120 GeForce G100 * 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. * Improved power management support on some systems, such as Hewlett-Packard xw4600 workstations. * 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. * Fixed a bug that caused Autodesk Maya to freeze when overlays are enabled. * Fixed an interaction problem between OpenGL and memory tracking libraries such as MicroQuill SmartHeap. * 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. * Fixed corruption decoding H.264 clips with pictures where pic_order_cnt_type implies log2_max_pic_order_cnt_lsb_minus4 is not used, on G84, G86, G92, G94, G96, GT200 GPUs. * Update vdpau.h to document exact requirements for VdpDecoderRender bitstream data content. * Fix VDPAU error handling in some unusual low memory situations. * Fix hang in VDPAU in some cases of output mode timing changes. * Fixed a bug where setting SLI to "auto" in the X configuration file would disable SLI. 2009-02-11 version 180.29 * Added support for the following GPUs: GeForce GTX 295 GeForce GTX 285 GeForce 9300 GE Quadro NVS 420 * Added support for OpenGL 3.0 for GeForce 8 series and newer GPUs. * Fixed a bug that caused VDPAU to display a green screen when using the overlay-based presentation queue with interlaced modes. * Fixed a bug that prevented VDPAU from working correctly after X server restarts on some GPUs. * Improved VDPAU's handling of mode switches; eliminated a crash in its mode switch recovery code and a hang in the blit-based presentation queue. * Fixed a bug that caused VDPAU to crash when using DisplayPort devices. * Fixed a potential hang in VDPAU when using the blit-based presentation queue on systems with multiple GPUs not in SLI mode. * Implemented missing error checking of layer data in VDPAU's VdpVideoMixerRender function. * Improved VDPAU's handling of setups with multiple GPUs, if a subset of the GPUs cannot be supported due to resource limitations. * Improved GPU video memory management coordination between the NVIDIA X driver and VDPAU. * Fix potential hang in VDPAU when the overlay is already in use. * Improved workstation OpenGL performance. * Fixed an X driver acceleration bug that resulted in Xid errors on GeForce 6 and 7 series GPUs. * Updated the X driver to consider GPUs it does not recognize supported, allowing it to drive some GPUs it previously ignored. * Added the ability to run distribution provided pre- and post- installation hooks to 'nvidia-installer'; please see the 'nvidia-installer' manual page for details. * Updated the X driver's metamode parser to allow mode names with periods (i.e. '.'s). * Fixed a problem in VDPAU that prevented the overlay-based presentation queue from being used on displays connected by component video. * Fixed various problems in VDPAU that caused visual corruption when decoding certain MPEG-2 video streams. * Fixed a crash in VDPAU caused by certain invalid MPEG-2 streams, in 64-bit drivers for some GPUs. * Fixed an X driver performance problem on integrated GPUs. * Fixed a stability problem with OpenGL applications using FSAA. * Fixed an initialization problem that caused some AGP GPUs to be used in PCI compatibility mode. * Fixed a bug that could result in stability problems after changing clock settings via the Coolbits interface. Linux specific changes: * Fixed a problem with hotkey switching on some recent mobile GPUs. * Worked around a power management regression in and improved compatibility with recent Linux 2.6 kernels. 2009-01-08 version 180.22 * Added support for the following GPUs: Quadro FX 2700M GeForce 9400M G GeForce 9400M GeForce 9800 GT GeForce 9800 GT GeForce 8200M G GeForce Go 7700 GeForce 9800M GTX GeForce 9800M GT GeForce 9800M GS GeForce 9500 GT GeForce 9700M GT GeForce 9650M GT GeForce 9500 GT * Added initial support for PureVideo-like features via the new VDPAU API (see the vdpau.h header file installed with the driver). * Added support for CUDA 2.1. * Added preliminary support for OpenGL 3.0. * Added new OpenGL workstation performance optimizations. * Enabled the glyph cache by default and extended its support to all supported GPUs. * Disabled shared memory X pixmaps by default; see the "AllowSHMPixmaps" option. * Improved X pixmap placement on GeForce 8 series and later GPUs. * Improved stability on some GeForce 8 series and newer GPUs. * Fixed a regression that could result in window decoration corruption when running Compiz using Geforce 6 and 7 series GPUs. * Fixed an nvidia-settings crash when xorg.conf contains Device and Screen sections but no ServerLayout section. * Fixed a problem parsing the monitor sync range X config file options. * Fixed a problem with the SDI sync skew controls in nvidia-settings. * Fixed a problem that caused some SDI applications to hang or crash. * Added support for SDI full-range color. Linux specific changes: * Improved compatibility with recent Linux kernels. FreeBSD specific changes: * Fixed a problem that caused the Linux OpenGL library to crash when used inside FreeBSD's Linux emulation layer. 2008-11-12 version 177.82 * Added support for the following new GPUs: Quadro NVS 450 Quadro FX 370 LP Quadro FX 5800 Quadro FX 4800 Quadro FX 470 Quadro CX * Fixed a problem on recent mobile GPUs that caused a power management resume from S3 to take 30+ seconds. * Fixed an image corruption issue seen in FireFox 3. Linux specific changes: * Fixed a problem with hotkey switching on some recent mobile GPUs. 2008-10-07 version 177.80 * Added support for the following new GPUs: GeForce GTX 260 GeForce GTX 280 GeForce 9800 GTX+ GeForce 9800 GT GeForce 9700M GTS GeForce 9500 GT GeForce 8100P nForce 780a SLI nForce 750a SLI Quadro FX 770M Quadro NVS 160M Quadro NVS 150M * Improved support for RENDER masks, as well as RENDER repeating modes and transformations, for video memory pixmaps. * Added accelerated support for RENDER convolution filters for video memory pixmaps on GeForce 8, 9 and GTX GPUs. * Improved support for RENDER operations with the same source and destination; this should performance in some situations, e.g. when dragging Plasma applets in KDE4. * Improved GPU video memory management coordination between the NVIDIA X driver and OpenGL implementation; this should improve performance with e.g. the KDE4 OpenGL compositing manager. * Added an 'AllowSHMPixmaps' X configuration option, which can be used to prevent applications from using shared memory pixmaps; the latter may cause some optimizations in the NVIDIA X driver to be disabled. * Fixed a text rendering performance regression that affected GeForce 6 and 7 series GPUs. * Fixed a regression that caused the 'Auto' SLI X option setting to not enable SLI. * Fixed a bug that caused system hangs when using the NV-CONTROL interface to change GPU clock frequencies. * Added support for DisplayPort display devices (including 30-bit devices). * Resolved various stability problems on GeForce 8, 9 and GTX GPUs, as well as some GeForce 6 and 7 PCI-E GPUs. * Fixed a bug that resulted in GPU errors when changing the TwinView display configuration while using Compiz. * Further improved the error recovery paths taken in case of GPU command stream corruption. * Updated mode validation, in cases when no EDID is detected, such that 1024x768 @ 60Hz and 800x600 @ 60Hz are allowed, rather than just 640x480 @ 60Hz. * Removed an old workaround that caused incorrect Xinerama information to be reported after enabling a second TwinView display. * Fixed corruption when using SLI in SFR mode with OpenGL-based composite managers. * Fixed the subpicture component order reported by the NVIDIA X driver's XvMC implementation. * Added a workaround for broken EDIDs provided by some Acer AL1512 monitors. * Fixed a bug that caused GLXBadDrawable errors to be generated when running more than one OpenGL application with anti-aliasing enabled on GeForce 6 and 7 GPUs, e.g. wine. Linux specific changes: * Fixed a problem that could result in IRQs being disabled on some multi-GPU SMP configurations. * Worked around cache flushing problems (on some Linux kernels) that caused corruption and stability problems. * Added experimental support for PCI-E MSI. * Updated the X driver to consider /sys/class/power_supply when determining the AC power state. * Fixed a bug that resulted in AGP FW/SBA settings and overrides being applied incorrectly when using the Linux kernel's AGP GART driver. * Improved compatibility with recent Linux 2.6 kernels. Solaris specific changes: * Fixed a bug that caused intermittent kernel panics when stress testing attach/detach paths. FreeBSD specific changes: * Fixed a bug that caused the kernel module to fail building against some FreeBSD kernels. * Fixed a bug that caused the kernel module to fail building with FreeBSD AGPGART support enabled. * Resolved an event-handling bug in the X driver responsible for X server crashes upon starting a windowed OpenGL application while using Compiz. 2008-07-30 version 173.14.12 * Added support for GeForce 8600 GS. * Fixed a problem with missing rendering in OpenGL Workstation Overlays. * Fixed a problem with running some SDL applications and virtual terminal switching. * Fixed a potential crash in nvidia-settings when saving to the X configuration file. * Improved error recovery paths in the case of corruption of the commands sent to the GPU. 2008-06-11 version 173.14.09 * Fixed aliased font rendering corruption on X.Org server 1.5. * Fixed a display corruption problem driving two dual-link DFPs with Quadro FX 1700 GPUs. * Fixed a regression that prevented the X driver from starting on some GeForce FX, 6 and 7 mobile GPUs. * Fixed a locale-interaction issue in the nvidia-settings NV-CONTROL protocol parser. Linux specific changes: * Added preliminary support for Linux 2.6.26. FreeBSD specific changes: * Fixed a problem that caused a memory leak when some OpenGL applications are syncing to vblank. 2008-05-28 version 173.14.05 * Added support for the following new GPUs: Quadro FX 3600M GeForce 9800 GX2 GeForce 9800 GTX GeForce 9600 GT GeForce 9600 GSO GeForce 9600 GS GeForce 9500M GS GeForce 8400 GeForce 8400 GS * Added support for Quadro FX 5600/4600 SDI and Quadro G-Sync II. * Resolved a bug causing left and right eyes to be reversed in stereo mode on some Quadro FX GPUs. * Fixed a problem that caused OpenGL to stop rendering to windows with origins at or beyond 4096 pixels (horizontally) on GeForce 8 and 9 GPUs. * Fixed a bug causing some Quadro FX 4500 SDI configurations to take a long time to achieve synchronization. * Added preliminary support for X.Org server 1.5. * Addressed a problem causing visual corruption when using GeForce 8 GPUs to drive Chi Mei 56" displays. * Addressed visual corruption when driving Cintiq 20WSX wide format tables with some GeForce 6 and 7 GPUs. * Fixed OpenGL rendering corruption with textures compressed using the DXT5 compression algorithm. * Fixed a regression that caused invalid EDIDs to be detected for the internal display device on some notebooks. * Improved hotkey switching and power management support on some GeForce 8 notebooks. * Fixed a regression causing some GeForce 6100/6150 systems to fail to restore the screen after DPMS cycles. * Fixed a bug that prevented the console from being restored correctly in SLI mode on GeForce 6 and 7 GPUs. * Fixed interlaced modes on GeForce 8 GPUs. * Fixed a problem that caused the synchronization signal polarity to always be positive for DVI devices on GeForce 8 and 9 GPUs. * Resolved a problem resulting in X startup to fail on some GeForce 8 and 9 systems without swap space. * Fixed a bug resulting in X crashes when using GeForce 8 and 9 GPUs in SLI to drive X screens at depth 8. * Fixed a problem that caused TV output on secondary TVs to be black and white on some GPUs. Linux specific changes: * Restored compatibility with recent Linux 2.6 kernels. Solaris specific changes: * Fixed a bug that could result in kernel panics on SMP systems. * Fixed a problem causing multi-threaded JOGL applications to hang on exit. FreeBSD specific changes: * Resolved a bug that could cause the X driver to crash in various out-of-IPC-resource scenarios; documented common IPC resource related problems in the README. * Added initial support for FreeBSD 7.0-RELEASE. 2008-02-26 version 169.12 * Improved power management support with GeForce 8 GPUs. * Further improved stability on some GeForce 8 GPUs. * Fixed a bug that broke certain TwinView configurations with TV-OUT on GeForce 8 GPUs. * Fixed a bug that could cause OpenGL to crash in certain cases, e.g. when running Counter-Strike under Wine. * Further improved GLX_EXT_texture_from_pixmap out-of-memory handling. * Fixed a bug that could result in incorrect PowerMizer state being reported. * Improved nvidia-xconfig behavior when updating X configuration files without a "Module" section. * Worked around a problem that caused function key presses on some Toshiba notebooks to result in system crashes. Solaris specific changes: * Fixed a bug that caused intermittent kernel panics when stress testing setup/teardown paths. * Fixed a problem that could result in X driver crashes when trying to change resolutions with XRandR. 2008-01-21 version 169.09 * Fixed a problem causing the fan on some GPUs to always run at full speed. * Fixed a bug that could lead to X crashes using Paraview's "Save Animation" dialog. * Fixed a bug that caused the X driver to crash if the X.Org GLX extension module was loaded instead of NVIDIA's. * Improved the X driver's awareness of the current notebook docking status. * Fixed brightness control on HP Compaq notebooks. * Fixed a bug in the Linux/i2c algorithm driver implementation that prevented core transfer types from succeeding. 2007-12-20 version 169.07 * Added support for GeForce 8800 GTS 512 and GeForce 8800M. * Added CUDA driver to .run file. * Fixed several X rendering issues. * Fixed problems scrolling ARGB X drawables in Qt. * Improved support for interlaced DVI, HDMI, and HDTV modesetting. 2007-11-16 version 169.04 * Improved glXWaitVideoSyncSGI() latency by using a method asynchronous to graphics commands. Applications using glXWaitVideoSyncSGI() to synchronize graphics rendering to monitor frame rate will need to call glFinish() before glXWaitVideoSyncSGI(). 2007-10-18 version 100.14.19 * Added support for the GeForce 8800 GT. * Improved modesetting support on Quadro/GeForce G8x GPUs. * Fixed stability problems with some GeForce 8 GPUs. * Fixed stability problems with some GeForce 6200/7200/7300 GPUs on multi-core/SMP systems. * Improved hotkey switching support for some Lenovo notebooks. * Fixed a problem with Compiz after VT-switching. * Improved RENDER performance. * Improved interaction with Barco and Chi Mei 56" DFPs, as well as with some Gateway 19" DFPs. * Added an interface to monitor PowerMizer state information. * Fixed rendering corruption in Maya's Graph Editor. * Improved interaction between AFR SLI and swap groups on certain Quadro FX GPUs. * Fixed a bug that caused corruption with redirected XV on GPUs without TurboCache support. * Improved display device detection on GeForce 8 GPUs. * Improved nvidia-settings usability at lower resolutions like 1024x768 and 800x600. * Improved GLX visual consolidation when using Xinerama with Quadro/GeForce G8x and older GPUs. * Added experimental support for running the X server at Depth 30 (10 bits per component) on Quadro G8x and later GPUs. Linux specific changes: * Worked around a Linux kernel/toolchain bug that caused soft lockup errors when suspending on some Intel systems. Solaris specific changes: * Fixed a bug that prevented stereo from being enabled properly on some Quadro FX GPUs. FreeBSD specific changes: * Fixed a problem that could cause crashes on SMP systems. 2007-09-18 version 100.14.19 * Added support for new GPUs: Quadro NVS 290 Quadro FX 370 Quadro FX 570 Quadro FX 1700 * Improved GLX_EXT_texture_from_pixmap out-of-memory handling. * Fixed a performance regression on GeForce 8 GPUs. * Added support for a 'NoScanout' mode to the X driver, useful for high performance computing environments and remote graphics; please see the 'UseDisplayDevice' option description for details. * Improved power management support with GeForce 8 and older GPUs. * Improved compatibility with recent X.Org X servers. * Improved G-Sync support with Quadro FX 4600 and Quadro FX 5600. * Added XV brightness and contrast controls to the GeForce 8 video texture adapter implementation. * Further improved interaction with ATi RS480/482 based mainboards. * Fixed stability problems with some GeForce 8 GPUs. * Fixed XvMC support on GeForce 7050 PV / NVIDIA nForce 630a GPUs with PureVideo support. * Added support for bridgeless SLI with GeForce 8 GPUs. * Fixed rotation support on some GeForce 8 GPUs. * Fixed a problem causing X to render incorrectly after VT switches with composited desktops. * Fixed a RENDER acceleration bug that was causing 2D rendering corruption in Eclipse with GeForce 8 GPUs. * Improved VGA console restoration with DFPs and TVs. * Fixed a bug that resulted in the generation of incorrect EDIDs on some notebooks. * Fixed flickering corruption with SLIAA on GeForce 8 GPUs. Linux specific changes: * Improved compatibility with recent Linux 2.6 kernels. * Fixed a compatibility problem with some Linux 2.4 kernels. * Improved hotkey switching support. * Fixed an 'nvidia-installer' bug that was causing the installer to treat some of its temporary files as conflicting. * Fixed several problems causing crashes if /dev is mounted with the 'noexec' option. * Reduced kernel virtual memory usage with some GeForce 8 GPUs. FreeBSD specific changes: * Fixed installation problems on systems with modular X.Org X servers. * Fixed X driver event delivery problems interfering with event driven features like DamageEvents. Solaris specific changes: * Fixed a bug that occasionally caused crashes at kernel module unload time. 2007-06-21 version 100.14.11 * Added support for new GPUs: GeForce 7050 PV / NVIDIA nForce 630a GeForce 7025 / NVIDIA nForce 630a * Fixed console restore problems in several different configurations: Quadro FX 4400 SLI VESA console Notebook LCD displays * Improved interaction with ATi RS480/482 based mainboards. * Improved support for House Sync with G-Sync II. * Improved NVIDIA X driver interaction with ACPI daemon. 2007-06-08 version 100.14.09 * Added support for new GPUs: GeForce 8600 GTS GeForce 8600 GT GeForce 8600M GT GeForce 8600M GS GeForce 8500 GT GeForce 8400 GS GeForce 8400M GT GeForce 8400M GS GeForce 8400M G GeForce 8300 GS Quadro FX 1600M Quadro FX 570M Quadro FX 360M Quadro NVS 320M Quadro NVS 140M Quadro NVS 135M Quadro NVS 130M * Added support for G-Sync with Quadro FX 4600 and Quadro FX 5600. * Improved Notebook support. * Improved RenderAccel support for subpixel antialiased fonts. * Added XV brightness and contrast controls for GeForce 8 GPUs. * Improved interaction with newer Linux kernels. * Fixed a locale-interaction issue in the nvidia-settings configuration file parser. 2007-03-07 version 1.0-9755 * Added support for Quadro FX 4600 and Quadro FX 5600. * Added support for SLI with GeForce 8800, Quadro FX 4600, and Quadro FX 5600. 2006-12-21 version 1.0-9746 * Added support for GeForce 8800 GTX and GeForce 8800 GTS GPUs. 2006-12-04 version 1.0-9631 * Fixed an OpenGL crash on some GeForce 3 and GeForce 4 GPUs. * Fixed an X server crash starting some fullscreen OpenGL games. * Improved interaction with newer Linux kernels. 2006-11-07 version 1.0-9629 * Added initial support for GLX_EXT_texture_from_pixmap. * Added new "Display Configuration" page in nvidia-settings. * Improved workstation OpenGL performance in Xinerama. * Added support for NVIDIA Quadro Plex. * Added support for Quad SLI. * Improved X driver error recovery. * Improved workstation overlay performance. * Added SMBus functionality to the Linux/i2c interface. * Fixed DFP scaling support. * Added support for OpenGL 2.1. * Added new "TwinViewXineramaInfoOrder" X configuration option to control the order of display devices when in TwinView. * Fixed some problems related to TV Out. * Added new NVIDIA logo artwork to nvidia-settings and X driver splashscreen; the X driver splashscreen can now be configured with the new "LogoPath" X configuration option. 2006-10-19 version 1.0-8776 * Fixed Security Advisory R7-0025. 2006-08-24 version 1.0-8774 * Added support for X.Org 7.1. * Added support for XVideo with the Composite X extension when using X.Org 7.1. * Improved interaction with newer Linux kernels. 2006-05-22 version 1.0-8762 * Added support for new GPUs, such as QuadroFX 4500 X2, Quadro FX 5500, Quadro FX 3500, and Quadro FX 1500. * Improved Quadro FX 3450/4000 SDI support. * Fixed video memory reporting with GeForce 6200 Turbo Cache. * Fixed a problem with Overlay support when in TwinView. * Fixed problems starting X with SLI Frame Rendering on nForce 4 SLI Intel Edition. * Fixed multiple issues with combinations of Stereo, SLI, FrameRendering and G-Sync. * Fixed several issues with mode selection for CRTs and DFPs. * Fixed a corruption problem with Rotation and large desktops on older GPUs, including GeForce4 MX. * Fixed a system crash starting X with TwinView on certain GPUs. * Addressed an NV-CONTROL compatibility issue; please see the Known Issues section of the README for details. 2006-04-07 version 1.0-8756 * Added support for GeForce 7300, GeForce 7400, GeForce 7600 and GeForce 7900. * Added support for running OpenGL applications while the Composite X extension is enabled; see "The X Composite Extension" appendix for details. * Enabled hardware acceleration of the Render X extension by default. * Added "AddARGBGLXVisuals" X configuration option, so that OpenGL applications can render to X Windows' alpha channel. * Added Linux/i2c support to the NVIDIA kernel module; see the "i2c Bus Support" appendix for details. * Improved power management support with Linux >= 2.6.14 and added support for suspend-to-disk. * Added new "nvidia-auto-select" mode entry for use in the X configuration file; see description in the "Programming Modes" appendix. * Added support for GLX 1.4. * Added ability for OpenGL applications to span greater than 4096 pixels when in Xinerama. * Improved G-Sync support. * Fixed interlaced modes on CRTs. * Improved compatibility with the latest Linux 2.6 kernels. 2005-12-22 version 1.0-8178 * Fixed a problem where certain precompiled kernel interfaces were not recognized. * Improved stability with the Composite X extension. * Fixed a corruption bug with RenderAccel and the Composite X extension when using wide desktops. * Fixed a problem validating HDTV modes on GeForce 6200. * Fixed detection of certain older TV encoders. * Fixed installation problems with Linux kernel source trees using separate KBUILD output directories. * Fixed installation problems on newer Debian systems. 2005-12-05 version 1.0-8174 * Added support for SLI FrameRendering. Please see the README for details. * Added support for new GPUs such as the GeForce 6100 and GeForce 6150. * Added a new utility 'nvidia-xconfig', which is a commandline tool for updating X configuration files. * Added manpages for 'nvidia-xconfig', 'nvidia-settings', and 'nvidia-installer'. * Improved workstation OpenGL performance on Solaris. * Made UseEdidFreqs "on" by default; the NVIDIA X driver will use the valid HorizSync and VertRefresh frequency ranges from the EDID whenever possible. * Added support for Stereo Digital Flat Panels such as the SeeReal and Sharp3D DFPs. * Added HTML version of the README. * Added support for static Rotation; see the "Rotate" X config option in the README. * Improved stability on 64-bit Linux 2.6 kernels. * Fixed driver installation when SELinux is enabled. 2005-08-02 version 1.0-7676 * Improved GeForce 7800 GTX performance. 2005-06-22 version 1.0-7667 * Added support for GeForce 7800 GTX. * Fixed problem with certain flatpanels running at 1600x1200. * Fixed an unresolved symbol issue in libXvMCNVIDIA.so. * Fixed an unresolved reference to the symbol "gnu_dev_makedev". * Worked around a bug in Java2D that was exposed in 1.0-7664. * Improved support for Quadro FX 4000 SDI. 2005-06-01 version 1.0-7664 * Install NVIDIA OpenGL headers by default. * Fixed performance problem when using AGPGART. * Fixed support for GeForce2 Integrated GPUs. * Fixed a workstation graphics stability problem. * Improved XRandR rotation support. * Fixed installation problems on some Linux 2.6 kernels. 2005-03-11 version 1.0-7167 * Improved OpenGL workstation performance. * Added support for XRandR rotation; see Appendix W in the text README. * Added ExactModeTimingsDVI X config option to give explicit control over the mode timings used on FlatPanels. * Added X.Org dlloader support. * Changed driver behavior such that PAT (Page Attribute Table) is used where possible instead of MTRRs. * Added a workaround for an X server bug with PCI-E GeForce 6800 and GeForce 6600; a fix has been provided to XFree86 and X.Org. * Fixed stability problems on x86_64 PCI-E systems. * Documented change_page_attr problems with x86_64 2.6 kernels; please see the known issue "The X86-64 platform (AMD64/EM64T) and 2.6 kernels" in the text README here: /usr/share/doc/NVIDIA_GLX-1.0/README * Fixed 2D rendering corruption on certain older GPUs. * Improved compatibility with Linux 2.6 kernels. * Fixed compatibility problems with some SWIOTLB em64t systems. * Fixed a bug that triggered error messages of the form: "ioctl32(doom.x86:6747): Unknown cmd fd(16) cmd(c0384642){00} arg(ffffc75c) on /dev/nvidiactl" * Fixed NvAGP incompatibility with recent Linux 2.6 kernels. * Improved interaction with the udev filesystem. * Improved performance of PCI cards on Linux 2.6 systems. * Support for TurboCache GPUs. 2004-11-5 version 1.0-6629 * Added support for GeForce 6600 and GeForce 6600 GT. * Added support for Quadro FX 4000 SDI * Added support for 512 MB framebuffers. * Improved support for GLSL (OpenGL Shading Language). * Improved performance for VBO (OpenGL Vertex Buffer Objects). * Improved support for Linux 2.6 kernels. * Improved support for PCI Express. * Reduced virtual address space consumption in OpenGL applications. * Updated documentation. Please see the file /usr/share/doc/NVIDIA_GLX-1.0/README There are new known issues on EM64T and multithreaded application stability as well as new appendices: (app-s) APPENDIX S: POWER MANAGEMENT SUPPORT (app-t) APPENDIX T: DISPLAY DEVICE NAMES (app-u) APPENDIX U: THE COMPOSITE X EXTENSION * Improved support for EM64T Linux/x86-64 systems * Improved support for RenderAccell * Improved performance for Java2D. 2004-8-5 version 1.0-6111 * Fixed SoftImage certification issues. * Made the "Do you really want to quit?" dialog in nvidia-settings optional (via the nvidia-settings Configuration page). * Fixed problem that prevented multiple simultaneous X servers from running on TNT/TNT2. * Fixed problem that caused TV-Out modes other than 640x480 and 800x600 to be unavailable. * Fixed problem that caused cursor misplacement/corruption in certain TwinView configurations. * Fixed problem that caused some AGP kernel module options to be ignored. * Fixed problem in GLSL with shadow2DProj. * Fixed console restore problems on GeForce4 Ti. 2004-6-30 version 1.0-6106 * Added support for GLSL (OpenGL Shading Language). * Added support for GL_EXT_pixel_buffer_object. * Added support for 4kstack kernels. * Added configuration utility "nvidia-settings"; see the user guide installed here: /usr/share/doc/NVIDIA_GLX-1.0/nvidia-settings-user-guide.txt for details. * Added support for running 32bit OpenGL applications on 64bit AMD64 Linux installations. * Fixed problem that prevented 32bit kernel driver from running on certain AMD64 CPUs. * Added a new Xv adaptor on GeForce4 and GeForceFX which uses the 3D engine to do Xv PutImage requests. This allows XvMC to operate when the video overlay is not available (such as in TwinView). XvMC still uses the overlay by default, when available. A new XF86Config option "XvmcUsesTextures" has been added to force usage of the 3D engine for XvMCPutSurface even when overlays are available. * Added a shell script "nvidia-bug-report.sh" that gathers system configuration information into a log file; the resulting log file (nvidia-bug-report.log) should be included when reporting bugs to NVIDIA. 2004-1-26 version 1.0-5336 * Added support for Linux 2.6 kernels. * Fixed a problem that caused kernels oops, black screens, and agp failures on some VIA motherboards. * Fixed a typo in the NVIDIA-provided libGL.la. * Fixed a problem that prevented X from running on Samsung X10 laptops. * Deprecated the "--kernel-include-path" .run commandline option, in favor of "--kernel-source-path". 2003-12-22 version 1.0-5328 * Added support for UBB and FSAA Stereo. * Improved GLXPixamp support. * Added support for Red Hat Advanced Workstation 3.0. * Added support for GLX_SGI_swap_control. * Added an OS ABI ELF Note to the OpenGL libraries. * Fix a problem where the video overlay would sometimes stop working when displaying HDTV resolutions. * For graphics cards that require a power connector but do not have a connector plugged in, fail X screen initialization, rather than just print a warning message. * Reduced CPU usage when OpenGL applications are syncing to vblank. 2003-7-28 version 1.0-4496 * Improved OpenGL performance when rendering to multiple buffers (such as when using a stereo visual and rendering to GL_LEFT_AND_RIGHT). * Initial support for APM power management. * Fixed some RENDER related corruption reported with GTK+ 2.2.2. * Added support for Active Stereo + TwinView. * Fixed a hang on GeForce2 that occurred when using RENDER extension acceleration on some apps such as OpenOffice. 2003-4-24 version 1.0-4363 * Fixed a problem that prevented running multiple X servers on different virtual terminals. * Improved IDCT level acceleration in XvMC. * Fixed a 2D performance slowdown experienced by many people. 2002-12-11 version 1.0-4191 * Added support for FSAA with UBB. * Support for OpenGL 1.4 * Finished GLX 1.3 support * Support for AGP 3.0 * Improved support for NForce2 * Added support for NV30 and NV30 extensions. * Fixed bug where there was corruption at the borders of a pbuffer * More complete acceleration for the XRENDER extension. Due to the experimental nature, RENDER acceleration is now disabled by default (Option "RenderAccel" enables it). * The driver no longer uses the XFree86 Acceleration Architecture (XAA), but provides its own 2D acceleration architecture to better accomodate the needs of simultaneous 3D and 2D rendering. * Added color index overlay emulation on Quadro4. * Added support for separate X screens on a single GPU (supported by all GPUs that support TwinView). 2002-9-10 version 1.0-3123 * Added support for NV18, NV28 and nForce 2. * Added Quadbuffered workstation stereo visuals for Quadro2, 4 and Quadro DCC. * Improved Viewperf numbers. * Added support for up to 16 monitors. * Added support for T221 panel. * Added support for RGB OpenGL overlays in TwinView on NV25/28. * Added support for hardware clip ids on Quadro4 parts. Option "UseClipIDs" enables them. 2002-5-23 version 1.0-2960 * Fixed problem with loading the GLX extension in multi-head environments with non-NVIDIA video cards. * Significant performance improvements in Viewperf on Quadro parts. * Added option "NoRenderExtension" to disable the RENDER extension. This is useful in 8bpp where the RENDER extension will preallocate a large portion of the default colormap and break many legacy applications. * Fixed a regression where I420 XvImages had the chroma planes swapped. * Fixed some problems with moving overlay windows. * Added a dynamic XvMC library "libXvMCNVIDIA_dynamic.so" so that applications can dynamically load the vendor-specific core XvMC support. * Added XvMC motion-compensation acceleration for NV25 and fixed some bugs in the NV17 XvMC support. * Fixed some problems with FSAA modes failing. 2002-4-3 version 1.0-2880 * Fixed rendering problems which occurred in some cases when GL_SYNC_TO_VBLANK was enabled. * Fixed problem where the maximum pixel clock was set too low. * Fixed a problem with image flicker when running full-screen apps on GeForce4. * Fixed a pixmap cache corruption problem on GeForce3. * Fixed some issues running multiple NVIDIA graphics cards simultaneously. 2002-3-7 version 1.0-2802 * Support for anisotropic filtering. * Provide libXvMCNVIDIA.a which is an implementation of XvMC 1.0. This allows mpeg acceleration on NV17 chips and NV17 chips only. * RGB Workstation overlays for Quadro4. These are double buffered, Z-buffered 16 bit visuals. The transparency key is 0x0000 hex. * NV17 and NV25 support. * Added an 8:8:8:8 XRGB XvImage format to the video blitter. * Config file option for Digital Vibrance Control. * Added new XF86Config option "FlatPanelProperties" to control dithering and scaling when X is started. * Added support for SoftEDID's. When enabled the driver will generate an EDID based on the video bios isntead of doing a table lookup. * Improved Crush support * Fixed problem with using SGIX_fbconfig and SGIX_pbuffer with indirect rendering (protocol was incorrect) * Fixed problem where the driver would fail on systems with >= 1GB of memory and a kernel configured to use all the memory. 2001-11-26 version 1.0-2313 * Got Crush working. * OpenGL 1.3 support. * Added SGIX_pbuffer and SGIX_fbconfig extensions. * Added UBB support, pageflipping and window flipping (described in README). * Improved Viewperf performance, Quake performance and performance of immediate mode applications. * Improved stability on AMD platforms. * Fixed TwinView problem that caused garbage to appear on the screen when starting X with a null option on head 0. * Added workaround for XAA bug that causes system to hang when Lisa Screensaver is run. The problem is worked around by adding the following line in the "Device" section of the XF86Config file: 'Option "XaaNoSolidFillTrap"'. This option prevents XAA from breaking wide lines (and polyggons) into trapezoids and avoids an XAA clipping bug. * Fixed a system hang that occured on some chipsets when taking the X server down (after having run once successfully) and restarting it while using the DVI-I connected toa flat panel. * Fixed problem where the performer application Perfly would hang when run in forked-draw mode. * Fixed problem where the X driver would segfault when given an invalid MetaMode. * Fixed problem where the console was not restored properly after entering X and returning to the console. * Fixed problem where X did not redraw completely after a screen blank on GForce 2 Go and Quadro 2 Go. * Fixed problem with initializing secondary card. In most cases, the secondary card is posted correctly. In the cases where it isn't, there is now a workaround to initialize the card via X. * Added workarounds to enable AGP on ALI chipsets and enable 4X AGP on VIA chipsets (See README and use with caution!). 2001-08-20 version 1.0-1541 * Changed behaviour of the X server so the NVIDIA splash screen will only show up on the first run of X. This can also be disabled by setting an option in XF86Config (see README). * Fixed problem where OpenGL applications would sometimes leave portions of their rendering behind when the window was closed using the kill button on the window banner. * Fixed problem on mobile where X would respond to the wrong hotkey event under some conditions. * Fixed several more problems with indirect rendering. * Fixed problem on SMP machines which occured when VT switching while running gloss and gears indirect. * Fixed problem where /proc/nv/card0 did not report nv20 correctly. * Fixed problem on TNT2, where the driver would only support up to 4 threads per process. * Fixed Xserver crash that occured when running two Xservers with AGPgart. * Fixed some problems in GLX that occured when running multi-threaded applications. 2001-07-05 version 1.0-1420 * Added support for hotkey switching on mobile platforms. * Fixed a hang on mobile that occurred after starting X, killing it and restarting. * Fixed a problem on mobile platforms that prevented DVD's from displaying. * Fixed a problem that caused OpenGL programs to segfault when using a graphical login with xdm/kdm, and doing the following sequence: login, mode switch, logout, log in and run a GL app. * Fixed some indirect rendering problems. * Fixed a problem that caused Xconfigure to fail on NVIDIA drivers. * Fixed a crash that occured when X forwarding over SSH. * Fixed OpenGL front buffer clipping bug. * Added xf86XVOffscreenImage support so the V4L module can use the hardware scaler on YUV surfaces. * Improved X-Render acceleration. * Fixed a bug that prevented X-Render acceleration on GeForce3. 2001-05-14 version 1.0-1251 * Preliminary GeForce2 Go support. * Added support for GeForce3 OpenGL and GLX extensions. * Fixed many SMP bugs. * Added TV-Out support. * Fixed DGA depth change bug. * Rewrote 2D offscreen memory allocation. * Fixed X-Video in TwinView. * Acceleration for X-Render extension. * Fixed up GLXPixmap rendering. * Fixed problem with make current to same drawable but different dpy. * Fixed problem in which OpenGL would segfault when reading X atoms. * X now gets the DPI (dots per inch) from the monitor's EDID (rather than just defaulting to 75 dpi). * All DPMS modes are now supported. There are still issues on flat panels and on the second head of a TwinView system (please see the README). * Fixed support for AGP on systems with 1 GB or more of memory. 2001-02-16 version 0.9-769 * Fixed problem where direct rendering applications were allowed to continue rendering after xkill was called. * Fixed problem where Tribes 2 crashed when compressed textures (s3tc textures) were used. * Some drawable leaks were fixed in X and GLX. * Fixed problem where the application would hang when calling glXMakeCurrent while holding the X server grab. * Bios-posting problems on GeForce2 GTS and GeForce Ultra cards were fixed. This bug resulted in a significant performance loss. * Added support for the X Render extension. * TwinView functionality was enhanced so that each head can pan independently. * Fixed problem on TNT and TNT2 where Xv(Shm)PutImage returned BadAlloc in high resolutions when there was not enough video bandwidth to display the YUV video overlay correctly. This works now but the resulting display has artifacts. * Fixed problem with cursor hanges in X. * Fixed problem with X console not restoring on some monitors. * Fixed problem with fork() and OpenGL rendering. * Fixed problem with X driver module, nvidia_drv.o, being stripped when RPM was rebuilt. * Added missing PCI device ids for some TNT2 variants and GeForce3. * Fixed problem where the kernel would often hang during X and/or OpenGL operation when on an SMP machine and using the 2.4 kernel. * Fixed SYNC_TO_VBLANK hang with 2.4 kernels. * DPMS is partially working again. It is possible to set the "off" option for dpms. DPMS options "suspend" and "standby" are not fully supported -- they simply blank the screen. 2000-12-20 version 0.96 * Fix many SMP problems. * Fix memory management problems that arise with large RAM systems (500M+). * Add multi-mon OpenGL support. * Add TwiNView support. * More modeline handling fixes, added double-scan support. * Fix bios-posting problems with TNT2 M64s and GeForce2 MXs. * Dynamic run-time selection between nvagp and agpgart. * Fix TNT2 OpenGL slowdowns (noticeable in UT). 2000-08-30 version 0.95 * Improve XFree86 4.0.1 support. * Re-fixed console switch lockup. * Fix some AGP regressions. Better detection/support for AGPGART. * Fix color palette problems (xgamma, direct color visuals). * Add bios posting override to help with some card problems (M64). * Update included 2.4 support to newest test kernels. 2000-07-07 version 0.94 * Add support for XFree86 4.0.1 * Fix modesetting problem. * Add AGPGART support (nvagpgart v. 0.5-5). * Add GeForce2 MX support. * Fixed various hangs. * Added FSAA support. * Fixed problem where an opengl app dying during a console switch would kill the X Server. 2000-06-08 version 0.9-3 * Allow Modeline directives in the XF86Config file to override our auto-detection of monitor resolutions and refresh rates. * "Correct" fix for TNT memory-type problems. * Fix for VT switch lockups. * Fix for general ALI chipset lockups. * Addition and documentation of some registry keys. Check os-registry.c in the kernel source directory for more details and options. * Work around Quake3 modeswitch crashing bug. Note: It's really a bug in dlopen(). * Major improvement in multi-threading behavior. * Display list sharing with glXCreateContext works now. * Faster implementation of glTexImage/glTexSubImage and glCopyTexImage/glCopytexSubImage calls. * Fixed kernel memory leak, relating to threaded OpenGL. This problem was most noticeable with xmms. * Fix build problems with older 2.2.x kernels (RedHat 6.0). 2000-05-02 version 0.9-2 * Fixed problem initializing TNT w/ SGRAM. * Removed all GPL'd code from nv.c. * Better logging and messages everywhere for tracking problems. * Dynamic allocation of client data in kernel, rather than static. * Incorporated *unsupported* 2.3 kernel changes for completeness. * Makefile updates - add -D_LOOSE_KERNEL_NAMES, and default to 'make install'. * Improved mode switching in quake3 (still see occasional crashes). * Changed installation name of libraries. We now have a .1.0.1 revision name in the libraries. * Temporarily force disabling of AGP fast writes for all chipsets. * Fixed monitor issues, allow overriding of sync polarities. 2000-04-25 version 0.9-1 * Initial Release.