======== Release 555 Entries ========

2024-06-05 version 555.52.04

    * Fixed a segmentation fault when running multi-threaded NvFBC applications.

2024-05-21 version 555.42.02

    * Added support for the linux-drm-syncobj-v1 protocol for Wayland
      explicit sync in EGL.

    * Added an interactive prompt to nvidia-installer to allow selecting
      between the proprietary and open kernel modules, on systems where both
      kernel module types are supported.

    * Fixed a bug that incorrectly allowed `nvidia-smi -r` to reset the
      primary GPU when using the open kernel modules.

    * Fixed a bug that caused vkGetPhysicalDeviceSurfaceSupportKHR to
      incorrectly report support for Wayland surfaces when nvidia-drm is
      not loaded with modeset=1.

    * Fixed a bug that could cause the display to lock up when suspending
      on a kernel with CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER enabled
      with nvidia-drm loaded with modeset=1 and fbdev=1.

    * The GSP firmware is now used by default on all GPUs which support it.
      It can be disabled by setting the kernel module parameter
      `NVreg_EnableGpuFirmware=0`.

    * Added support for using EGL instead of GLX as the OpenGL ICD for NvFBC.

    * Fixed a bug that could lead to a system hang and "Idling display
      engine timed out" messages when VT switching on an HDMI Fixed Rate
      Link (FRL) display.

    * Removed support for Base Mosaic on GeForce, which was previously
      available only on select GPU boards with some motherboards, and limited
      to five display devices.

    * Fixed a bug that caused "Failed to apply atomic modeset" and "Flip event
      timeout" messages to be printed to the system log when a DRM client such
      as ddcutil drops "master" permissions while a framebuffer console is being
      initialized.

    * Fixed a bug, when nvidia-drm is loaded with the fbdev=1 module parameter
      on some kernels, that caused incorrect colors to be displayed.

    * Changed the minimum required Linux kernel version from 3.10 to 4.15.

    * Added immediate presentation mode support to Vulkan Wayland WSI. This
      presentation mode instructs the compositors not to wait for a vertical
      blanking period to update the application's surface content, which may
      result in tearing.

    * Enabled HDMI 10 bits per component support by default; disable by loading
      nvidia-modeset with `hdmi_deepcolor=0`.

======== Release 550 Entries ========

2024-06-04 version 550.90.07

    * Temporarily disabled the GLX_EXT_buffer_age extension on Xwayland to
      work around a bug that could cause corruption.

    * Fixed a bug that could cause corruption when the GLX_EXT_buffer_age
      extension is used on X.org with PRIME render offloading.

2024-04-25 version 550.78

    * Fixed a regression that led to Xid errors when loading the NVIDIA
      driver on some notebook systems with RTX 4xxx series GPUs.

2024-04-16 version 550.76

    * Fixed a bug that could prevent the driver from initializing on some
      systems running RHEL 9.3.

2024-03-19 version 550.67

    * Fixed a bug that could cause the GPU driver to hang when running some
     Vkd3d games, such as F1 2021,  

    * Fixed a bug that caused eglExportDMABUFImageQueryMESA() to return
      invalid DRM formats for the images that use the sRGB color space.

    * Fixed a bug that caused wgpu applications to hang on Wayland.

    * Fixed a bug that caused "Flip event timeout" messages to be printed to the
      system log when the system is suspended without using
      /usr/bin/nvidia-sleep.sh when nvidia-drm is loaded with the `fbdev=1`
      kernel module parameter.

2024-02-23 version 550.54.14

    * Fixed a bug that caused HDMI FRL displays to flicker or blank when
      enabling VRR with 8 bits per color channel.

    * Fixed a regression introduced with the 550.40.07 beta driver which
      caused corrupted window decorations in some applications when running
      on GNOME.

    * Fixed a bug where vkAcquireNextImageKHR() was not returning
      VK_ERROR_OUT_OF_DATE_KHR when it should with WSI X11 swapchains.

    * Fixed a bug where fences passed to VkSwapchainPresentFenceInfoEXT could
      signal earlier than expected when a WSI X11 swapchain becomes out of date.

    * Fixed Xid errors on Hogwarts Legacy and Forza Horizon 4.

2024-01-24 version 550.40.07

    * Fixed an issue that sometimes caused Wayland applications to run at less
      than one frame per second on Maxwell, Volta, and Pascal series GPUs.

    * Added support for the VK_KHR_video_encode_queue,
      VK_KHR_video_encode_h264, VK_KHR_video_encode_h265 and
      VK_KHR_video_maintenance1 extensions.

    * Fixed a bug that caused an intermittent drop in desktop framerate.

    * Fixed a bug that caused "Flip event timeout" messages to be printed to the
      system log when displays are hotplugged when nvidia-drm is loaded with the
      `fbdev=1` kernel module parameter.

    * Fixed intermittent Xid errors on Horizon Zero Dawn, Metro Exodus,
      Forza Horizon 5, and Halo Infinite.

    * Fixed a bug which prevented the "NoMaxPClkCheck" mode validation token
      from working on single-link TMDS (e.g. DVI, HDMI) outputs.

    * Fixed a bug that allowed VRR displays to be driven below their minimum
      refresh rate, resulting in a blank or flickering image.

    * Added an application profile to improve Kwin performance on hybrid GPU
      systems by setting OGL_DEDICATED_HW_STATE_PER_CONTEXT=ENABLE_ROBUST.

    * Updated the build process for NVIDIA kernel modules to honor the
      INSTALL_MOD_DIR Kbuild environment variable.

    * Added support for R8, GR88 and YCbCr GBM formats.

    * Optimized the X driver headless framerate limiter to more closely mimic
      upstream behavior and prevent it from activating in inconvenient
      situations. Added a new X config option "LimitFrameRateWhenHeadless" to
      disable the headless framerate limiter.

    * Fixed a bug that prevented Gamescope from running when using the NVIDIA
      Open GPU Kernel modules.

    * Fixed a bug that prevented the installer package from being unpacked
      on systems where zstd is not installed, when /tmp is mounted noexec.

    * Use transparent huge pages for OpenGL/Vulkan when available for the .text
      section. This is done through madvise() calls, and requires a Linux kernel
      configured with CONFIG_READ_ONLY_THP_FOR_FS.

======== Release 545 Entries ========

    * Fixed a regression that prevented setting backlight brightness levels.

    * Fixed a bug that could lead to UI corruption in nvidia-installer on
      systems with more than one initramfs file per kernel.

    * Fixed a bug that caused games built on the Source 2 engine to hang
      when running under Xwayland.

2023-10-31 version 545.29.02

2023-10-17 version 545.23.06

    * Added experimental HDMI 10 bits per component support; enable by loading
      nvidia-modeset with `hdmi_deepcolor=1`.

    * Added support for HDR signaling via the HDR_OUTPUT_METADATA and
      Colorspace per-connector DRM properties when nvidia-drm is loaded with the
      `modeset=1` parameter.

    * Added support for PRIME render offload to Vulkan Wayland WSI.

    * Added support for the CTM, DEGAMMA_LUT, and GAMMA_LUT DRM-KMS CRTC
      properties. These are used by features such as the "Night Light"
      feature in GNOME and the "Night Color" feature in KDE, when they
      are used as Wayland compositors.

    * Added beta-quality support for GeForce and Workstation GPUs to open kernel modules. 
      Please see the "Open Linux Kernel Modules" chapter in the README for details.

    * Added initial experimental support for runtime D3 (RTD3) power
      management on Desktop GPUs.  Please see the 'PCI-Express Runtime D3 
      (RTD3) Power Management' chapter in the README for more details.

    * Added support for the EGL_ANDROID_native_fence_sync EGL extension and
      the VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT and
      VK_EXTERNAL_FENCE_HANDLE_TYPE_SYNC_FD_BIT Vulkan external handle types
      when the nvidia-drm kernel module is loaded with the modeset=1 parameter.

    * Added experimental support for framebuffer consoles provided by
      nvidia-drm. On kernels that implement drm_fbdev_generic_setup and
      drm_aperture_remove_conflicting_pci_framebuffers, nvidia-drm will install
      a framebuffer console when loaded with both `modeset=1` and `fbdev=1`
      kernel module parameters. This will replace the Linux boot console driven
      by a system framebuffer driver such as efifb or vesafb.

      Note that when an nvidia-drm framebuffer console is enabled, unloading
      nvidia-drm will cause the screen to turn off.

    * Updated nvidia-installer to allow installing the driver while an
      existing NVIDIA driver is already loaded.

    * Added support for virtual reality displays, such as the SteamVR platform,
      on Wayland compositors that support DRM leasing. Support requires
      xwayland version 22.1.0 and wayland-protocols version 1.22, or later.
      Tested on sway, minimum version 1.7 with wlroots version 0.15, and also
      on Kwin, minimum version 5.24.

      Note: Before xwayland 23.2, there is a known issue with HDMI displays
      where the headset will fail to start a second time after closing SteamVR.
      This can be worked around by unplugging and replugging in the headset.

    * Fixed a bug that prevented VRR (Variable Refresh Rate) from working
      with Wayland.

    * Changed the name visible in /proc/devices of NVIDIA devices and the
      NVIDIA control device from "nvidia-frontend" to "nvidia" and "nvidiactl".
      Scripts which parse /proc/devices (such as udev rules) may need to be
      updated. Note that the conventional /dev device paths like /dev/nvidia0
      and /dev/nvidiactl remain unchanged.

    * Added support to the NVIDIA VDPAU driver for running in Xwayland. Please
      refer to the "Xwayland support in VDPAU" section of the README for
      further details.

    * Added libnvidia-gpucomp.so to the driver package.  This is a helper
      library used for GPU shader compilation.

    * Removed libnvidia-vulkan-producer.so from the driver package. This
      helper library is no longer needed by the Wayland WSI.

======== Release 535 Entries ========

2024-06-04 version 535.183.01

    * Fixed a bug that could cause additional X screens to claim displays
      that should have been assigned to a prior X screen based on the given X
      configuration.

2024-03-21 version 535.171.04

    * Updated the nvidia-settings control panel to ensure that the entire
      Display Configuration page can be used when the Layout window is shown.

    * Updated the nvidia-settings control panel to allow the primary display
      to be set on any GPU in a multi-GPU system.

    * Fixed Xid error when playing Alan Wake 2 with ray tracing enabled.

    * Fixed a regression which prevented some Vulkan applications from
      receiving VK_DEVICE_LOST upon a VT switch, which could lead to the
      application hanging or behaving incorrectly.

2024-02-22 version 535.161.07

    * Fixed a bug that prevented nvidia-installer from honoring the
      --gbm-backend-dir command line option.

2024-01-16 version 535.154.05

2023-12-07 version 535.146.02

    * Fixed a bug that could cause some multi-GPU systems to crash on suspend.

    * Fixed a bug that could cause the system to crash when an application
      is run with __NV_PRIME_RENDER_OFFLOAD=1.

    * Fixed a bug which prevented application profiles from getting applied
      to PRIME Render Offloaded applications running via Wine.

    * Disabled PRIME Display Offload Sink support for virtual displays on
      datacenter GPUs. This prevents unusable desktop layouts from getting
      automatically configured on systems with a mix of physical and virtual
      displays.

    * Fixed a bug that caused high CPU usage during system suspend, which could
      lead to the system not entering s2idle in some cases.

    * Fixed a bug that caused the nvidia-settings control panel to crash
      when running on Wayland with newer versions of libwayland-client.

2023-10-31 version 535.129.03

    * Fixed a bug that could cause modes to fail validation when
      Option "ModeValidation" "NoExtendedGpuCapabilitiesCheck" is specified in
      xorg.conf.

2023-09-21 version 535.113.01

    * Fixed a bug that intermittently caused the display to freeze when
      resuming from suspend on some Ada GPUs.

2023-08-22 version 535.104.05

2023-08-08 version 535.98

    * Fixed an issue which caused the following error message to appear
      spuriously when using SLI with the NVIDIA Open GPU Kernel Modules:

      (EE) NVIDIA: Unable to disable FB size compare

2023-07-18 version 535.86.05

    * Fixed a bug that caused excessive memory consumption when OpenGL and
      Vulkan applications were running while VT-switched away from X.

    * Fixed a bug that could cause the kernel to panic when video memory
      is full.

    * Fixed a bug that prevented displays from refreshing when using an
      NVIDIA PRIME Display Offload sink.

    * Fixed a bug that could cause some Variable Refresh Rate (VRR)
      monitors to flicker by allowing the refresh rate to drop below
      the monitor's minimum.

    * Fixed a bug that caused corruption when running Vulkan applications.

    * Fixed a regression that could cause a system hang when running windowed
      Vulkan applications with sync-to-vblank enabled.

    * Fixed a video memory leak observed when turning off a connected
      monitor while using certain Wayland compositors.

2023-06-14 version 535.54.03

    * Fixed a bug that caused modesets to fail in some Wayland configurations.

    * Fixed a bug that caused head-mounted displays (HMDs) to display black
      after a modeset.

    * Fixed a bug that prevented SLI Mosaic controls from being displayed in
      the nvidia-settings control panel when using GSP Firmware.

    * Fixed a bug that could cause image corruption when unbinding Vulkan
      sparse textures.

2023-05-30 version 535.43.02

    * Added support for the VK_EXT_memory_priority, and VK_EXT_pageable_device_memory
      extensions for Turing+ GPUs.

    * Improved the performance of Minecraft Java Edition on RTX 3000
      series GPUs.

    * Fixed a memory leak in the NVIDIA GLX driver, as reported at:
      https://forums.developer.nvidia.com/t/222697

    * Added support for driving very high pixel clock mode timings such as 8K @
      60Hz.  Please see the "MaxOneHardwareHead" X11 ModeValidation token in the
      README for details.

    * Extended Dynamic Boost support on notebooks to include older Renoir
      and Cezanne chipsets, in addition to Rembrandt and newer AMD chipsets.

    * Fixed a bug that caused Vulkan X11 swapchain creation to fail on GPUs
      without a display engine when the VK_KHR_present_id extension is used.

    * Fixed console restore on legacy VGA consoles when using the NVIDIA
      Open GPU Kernel Modules.

    * Added nvoptix.bin to the driver package.  This data file is used by the
      OptiX ray tracing engine library, libnvoptix.so.1.

    * Removed libnvidia-compiler.so.VERSION from the driver package.  This
      functionality is now provided by other driver libraries.

    * Added power usage and power limits information to nvidia-settings
      PowerMizer page.

    * Updated NV_CTRL_GPU_POWER_SOURCE NV-CONTROL API to report undersized
      power source.

    * Add support for version 4 of the linux-dmabuf wayland protocol.

======== Release 530 Entries ========

2023-03-23 version 530.41.03

    * Added NV-CONTROL attributes NV_CTRL_FRAMELOCK_MULTIPLY_DIVIDE_MODE
      and NV_CTRL_FRAMELOCK_MULTIPLY_DIVIDE_VALUE to allow syncing a
      Quadro Sync II card to different House Sync signal rates. This
      feature requires firmware version 2.18 or later; to download the
      latest firmware version, please visit:

      https://www.nvidia.com/en-us/drivers/firmware/quadro-sync-firmware-driver/

2023-02-28 version 530.30.02

    * Added support for the VK_KHR_video_queue, VK_KHR_video_decode_queue,
      VK_KHR_video_decode_h264 and VK_KHR_video_decode_h265 extensions.

    * Added an application profile to avoid performance problems in Xfce 4
      when the OpenGL compositor backend is enabled along with G-SYNC.

    * Added support for suspend and resume when using GSP firmware.

    * Moved the nvidia-settings application icon into the 'hicolor' icon theme,
      which allows it to be customized by other icon themes selected in the
      desktop environment.

    * Fixed a bug that prevented PRIME render offload from working for
      Wayland applications when running on a system with an AMD iGPU.

    * Fixed a bug that prevented nvidia-installer from recording kernel log
      output to the installer log in some module loading failure paths.

    * Changed nvidia-installer to no longer use the $XDG_DATA_DIRS environment
      variable. XDG data files are now installed to a path specified by the
      --xdg-data-dir option, or /usr/share if not specified.

      This fixes a problem when Flatpak is installed that caused the installer
      to place the nvidia-settings.desktop file in
      /root/.local/share/flatpak/exports/share/applications.

    * Changed the behavior of glXGetRefreshRateSGI() for non-integer
      refresh rates to round to the nearest whole number rather than
      truncating.

    * Changed the compression format of the .run installer package from xz
      to zstd. This results in a smaller compressed package, and faster
      decompression performance. A fallback zstd decompressor is embedded
      into the installer package for systems which do not already have a
      zstd decompression program installed.

    * Fixed a bug that caused nvidia-installer to mistakenly unload some
      already loaded non-NVIDIA kernel modules.

======== Release 525 Entries ========

2023-10-31 version 525.147.05

    * Fixed a bug which could cause some DisplayPort monitors to flicker.

    * Fixed a bug which prevented DKMS from registering kernel modules.

    * Fixed a bug that could cause monitors to flicker when the performance
      state changes on Turing GPUs.

2023-06-26 version 525.125.06

    * Updated the bundled copy of the GBM EGL external platform library:

      https://github.com/NVIDIA/egl-gbm

      The updated version includes the fix for a bug which caused the number
      of free GBM surface buffers to be reported incorrectly. 

    * Fixed a bug which prevented running a Wayland compositor in headless
      mode on GPUs without display hardware.

2023-05-09 version 525.116.04

2023-04-25 version 525.116.03

    * Fixed a regression in Luxmark performance between 525.89.02 and
      525.105.17.

    * Fixed a bug that could cause an unexpected
      VK_ERROR_NATIVE_WINDOW_IN_USE_KHR error in certain circumstances when
      recreating Vulkan surfaces.

    * Fixed a regression that caused brightness control to not vary
      smoothly across the range of values.

2023-03-30 version 525.105.17

    * Added compatibility for Linux kernels with Indirect Branch Tracking
      (IBT).

2023-02-08 version 525.89.02

    * Fixed a bug that could cause banding or flickering of color
      gradients on DisplayPort monitors.

2023-01-19 version 525.85.05

    * Improved the reliability of suspend and resume on UEFI systems
      when using certain display panels.

    * Fixed a bug that prevented some controls in the nvidia-settings
      control panel from working when running an X server as an
      unprivileged user.

    * Fixed a bug that could cause VK_ERROR_DEVICE_LOST when using
      VK_MEMORY_ALLOCATE_DEVICE_ADDRESS_CAPTURE_REPLAY_BIT to allocate
      memory.

2023-01-05 version 525.78.01

    * Fixed a bug that could cause the nvidia-settings control panel to
      crash when using a newer control panel with an older driver.

    * Fixed a regression that prevented the G-SYNC/G-SYNC Compatible Visual
      Indicator from being displayed when running Vulkan X11 applications.

    * Fixed a bug where usage of VK_KHR_present_id could cause applications to
      crash with Xid 32 errors.

    * Fixed excess CPU usage in hybrid graphics configurations where an
      external display is connected to an NVIDIA discrete GPU and configured
      as a PRIME Display Offload sink (also known as "Reverse Prime").

2022-11-28 version 525.60.11

    * Improved the performance of PRIME render-offloaded applications.

    * Fixed a bug which caused suspend to fail on systems running GNOME 3
      as a Wayland compositor with NVreg_PreserveVideoMemoryAllocations
      enabled.

2022-11-10 version 525.53

    * Fixed a bug which caused Dynamic Boost to not engage on certain Ampere
      GPU based notebooks.

    * Added support for Dynamic Boost on notebooks with AMD CPUs.

    * Fixed a regression that prevented Warp & Blend from working correctly.

    * Fixed a bug that resulted in stutter when moving windows in GNOME.

    * Added support for the EGL_MESA_platform_surfaceless extension.

    * Updated the nvidia-settings control panel to prevent the creation
      of display layouts that exceed hardware size limitations when using
      the SLI Mosaic configuration page, and to display a warning if such
      a layout is created manually in the Display Configuration page.

    * Removed the hard dependency on GTK 2 when building nvidia-settings
      from source. nvidia-settings may now be built with support for GTK 2
      only, GTK 3 only, or both GTK 2 and GTK 3.

    * Updated the open kernel modules to support Quadro Sync, Stereo,
      rotation in X11, and YUV 4:2:0 on Turing.

    * Updated an error message that nvidia-installer displays when kernel
      header files cannot be found to print full paths for the missing files.

    * Updated nvidia-installer to use "command -v" in place of depending on
      "which" to determine the availability and location of certain tools.

======== Release 520 Entries ========

    * Implemented support for over-the-air updates in the Proton and Wine NVIDIA
      NGX build. This feature is disabled by default and can be enabled by
      setting the "PROTON_ENABLE_NGX_UPDATER" environment variable to a value of
      "1".

    * Updated the Vulkan driver so that the following extensions no longer
      depend on nvidia-uvm.ko being loaded at runtime:
        * VK_KHR_acceleration_structure
        * VK_KHR_deferred_host_operations
        * VK_KHR_ray_query
        * VK_KHR_ray_tracing_pipeline
        * VK_NV_cuda_kernel_launch
        * VK_NV_ray_tracing
        * VK_NV_ray_tracing_motion_blur
        * VK_NVX_binary_import
        * VK_NVX_image_view_handle

    * Updated nvidia-installer to allow use of the "--add-this-kernel"
      feature by non-root users.

    * Updated nvidia-installer to display a more accurate progress bar when
      building the kernel modules.

    * Updated nvidia-installer to display a warning message if a Vulkan
      ICD loader is not detected.

    * Reworked nvidia-installer's support for DKMS: the kernel modules will
      now be optionally registered with DKMS after the installer has already
      built and installed them on its own. nvidia-installer will now register
      the kernel modules with DKMS by default when the dkms(8) utility is
      detected on the system.

    * Fixed a bug in the Vulkan driver which could lead to corruption in
      geometry and tessellation control shaders.

    * Added a new CUDA Debugger implementation for Pascal and newer
      architectures as a part of the driver package: libcudadebugger.so
      (previously released separately as "CUDA GDB Developer Preview").

======== Release 515 Entries ========

2022-11-22 version 515.86.01

    * Fixed a bug that caused nvidia-settings to find incorrect fan speed
      ranges on some GPUs.  Lower-level layers of the driver protected
      the hardware from programming incorrect fan speeds, so the symptom
      was only incorrect reporting.  Now, reporting in nvidia-settings
      matches what actually gets programmed in hardware.

    * Fixed a regression in 515.76 that caused blank screens and hangs when
      starting an X server on RTX 30 series GPUs in some configurations where
      the boot display is connected via HDMI.

    * Fixed a bug where Marvel's Spider-Man Remastered would sometimes crash
      with Xid 13 errors on Turing and later.

2022-09-20 version 515.76

    * Turing and later: fixed possible excessive GPU power draw on an idle
      X11 or Wayland desktop when driving high resolutions or refresh rates.

2022-08-02 version 515.65.01

    * Fixed a bug that caused the X server to hang when VT-switching with
      stereo enabled.

    * Fixed an issue that caused OpenGL applications to be unresponsive in SLI
      Mosaic mode with no monitors enabled on the primary GPU.

2022-06-28 version 515.57

    * Fixed a bug that could cause some graphics applications to crash when
      they are started while nvidia-drm.ko is not loaded.

    * Fixed an issue where NvFBC could return an incorrect frame if a capture
      request timed out.

    * Fixed an issue where NvFBC direct capture would wait for multiple queued
      frames to finish rendering, instead of returning the next rendered frame.

    * Added support for NvFBC direct capture to composite the mouse cursor onto
      frames.

    * Fixed an issue where Vulkan direct to display could not drive more than
      4 displays from a single VkInstance.

2022-05-31 version 515.48.07

    * Improved performance of GLX and Vulkan applications running in gamescope.

    * Added a "kernelopen" feature tag to the supported-gpus.json file,
      to indicate which GPUs are compatible with open-gpu-kernel-modules.

    * Improved Vulkan swapchain creation failure reporting. Applications can use the
      VK_EXT_debug_utils extension to receive additional information when an error was
      encountered in vkCreateSwapchainKHR().

2022-05-11 version 515.43.04

    * Published the source code to a variant of the NVIDIA Linux kernel
      modules dual-licensed as MIT/GPLv2. The source is available here:
          https://github.com/NVIDIA/open-gpu-kernel-modules
      and will be updated each driver release. Please see the "Open
      Linux Kernel Modules" chapter in the README for details.

    * Added support for the VK_EXT_external_memory_dma_buf and
      VK_EXT_image_drm_format_modifier Vulkan extensions. To use this
      functionality, the nvidia-drm kernel module must be loaded with DRM KMS
      mode setting enabled. See the DRM KMS section of the README for guidance
      on enabling mode setting.

    * Changed nvidia-suspend.service, nvidia-resume.service, and
      nvidia-hibernate.service to use WantedBy= rather than RequiredBy=
      dependencies for systemd-suspend.service and systemd-hibernate.service.
      This avoids a problem where suspend or hibernate fails if the NVIDIA
      driver is uninstalled without disabling these services first.

      See https://github.com/systemd/systemd/issues/21991

      If these services were manually enabled, it may be necessary to update
      their dependencies by running

        sudo systemctl reenable nvidia-suspend.service nvidia-resume.service nvidia-hibernate.service

    * Interlaced modes are now disabled when active stereo is enabled.

    * NVIDIA X Server Settings will now display the quit confirmation dialog
      automatically if only there are pending changes that need to be manually
      saved. The corresponding configuration option to control the appearance
      of the quit dialog was thus also removed.

    * Removed the warning message about mismatches between the compiler
      used to build the Linux kernel and the compiler used to build the
      NVIDIA kernel modules from nvidia-installer. Modern compilers are less
      likely to cause problems when this type of mismatch occurs, and it has
      become common in many distributions to build the Linux kernel with a
      different compiler than the default system compiler.

    * Updated nvidia-installer to skip test-loading the kernel modules
      on systems where no supported NVIDIA GPUs are detected.

    * Updated nvidia-installer to avoid a race condition which could cause
      the kernel module test load to fail due to udev automatically loading
      kernel modules left over from an existing NVIDIA driver installation.
      This failure resulted in an installation error message "Kernel module
      load error: File exists".

    * Updated the RTD3 Video Memory Utilization Threshold
      (NVreg_DynamicPowerManagementVideoMemoryThreshold) maximum value from
      200 MB to 1024 MB.

======== Release 510 Entries ========

2022-11-22 version 510.108.03

2022-08-02 version 510.85.02

2022-05-16 version 510.73.05

    * Added a new configuration option for NVIDIA NGX to allow disabling the DSO
      signature check. See the "NGX" chapter of the README for more information.

2022-03-22 version 510.60.02

    * Fixed a bug that could cause displays with HDMI or DisplayPort audio
      to be deselected as the default audio output device after resuming
      from suspend.

    * Fixed a regression that could cause OpenGL applications to hang or
      render incorrectly after suspend/resume cycles or VT-switches

    * Fixed a bug, introduced in 495.29.05, that caused GPU "Model:" in
      /proc/driver/nvidia/gpus/<Bus:Device.Function>/information to be
      "Unknown" for some GPUs.

2022-02-14 version 510.54

    * Fixed a bug that caused the nvidia-settings control panel to print
      spurious error messages.

    * Fixed a bug that could cause GPU exceptions when minimizing a fullscreen
      Vulkan application on certain desktops, such as Plasma.

2022-02-01 version 510.47.03

    * Added support for Vulkan 1.3.

2022-01-11 version 510.39.01

    * Added a new daemon, nvidia-powerd, to provide support for
      the Dynamic Boost feature on supported systems. Dynamic Boost
      balances power between the CPU and the GPU for improved performance.
      For more details, see the "Dynamic Boost on Linux" chapter in the README.

    * Updated nvidia-bug-report.sh to search the systemd journal for
      nvidia-powerd logs.

    * Fixed several issues which caused the supported-gpus.json file to
      contain incorrect product information.

    * Fixed a bug that caused the nvidia-settings control panel to report
      inaccurate ECC error counts, and completely prevented the reporting
      of aggregate ECC error counts. ECC error counts reported by nvidia-smi
      were not affected.

    * Added a new module parameter, "peerdirect_support", to the
      nvidia-peermem.ko kernel module, to correctly support GPUDirect RDMA on
      MOFED 5.0 and older releases.

    * Added a GUI control for setting Image Sharpening values in the app
      profiles page of the nvidia-settings control panel.

    * Fixed a bug which caused Vulkan applications to hang when the
      __GL_THREADED_OPTIMIZATIONS environment variable was set to enable
      threaded optimizations in the NVIDIA driver.

    * Fixed a bug where calls to vkWaitForPresentKHR would fail with
      VK_TIMEOUT on Maxwell and Pascal GPUs.

    * Added support for nvidia-settings to use NVML for NV-CONTROL attributes.

    * Added support for the VK_EXT_depth_clip_control extension.

    * Added support for the VK_EXT_border_color_swizzle extension.

    * Added support for the VK_EXT_image_view_min_lod extension.

    * Fixed a bug in the Vulkan compiler where 64-bit atomics were partially broken.

    * Fixed a bug in the Vulkan driver where VK_NULL_HANDLE was not properly
      handled as input to
      VkRenderingFragmentShadingRateAttachmentInfoKHR.imageView.

    * Added support for the VK_KHR_dynamic_rendering extension.

    * Added support for the bufferDeviceAddressCaptureReplay Vulkan feature.

    * Optimized the Vulkan fullscreen presentation path for X11 and
      direct-to-display swapchains.

    * Added AV1 decode support to the NVIDIA VDPAU driver. See the
      VDPAU Support appendix in the README for supported AV1 decoder
      profiles.

    * Added support for the VK_KHR_format_feature_flags2 extension.

    * Added support for the VK_KHR_maintenance4 extension.

    * Fixed a bug in the Vulkan driver where the SPIR-V Centroid interpolation
      decoration was not ignored when used in conjunction with FragCoord.

    * Fixed a bug in the Vulkan driver where unreferenced descriptor bindings
      were sometimes not ignored properly.

    * Fixed a bug in the Vulkan driver where vkCmdBindDescriptorSets would not
      properly handle pDynamicOffsets for compute pipelines.

    * Added support for the VK_KHR_shader_integer_dot_product extension.

    * Added support for the VK_EXT_primitive_topology_list_restart extension.

    * Added support for the VK_EXT_load_store_op_none extension.

    * Fixed a bug which caused OpenGL and Vulkan applications to generate
      excessive traffic over dbus while attempting to communicate with
      nvidia-powerd, even though nvidia-powerd was not running.

    * Removed the runtime loader (rtld) sanity test from nvidia-installer.
      This test has been made largely obsolete by GLVND.

    * Updated nvidia-xconfig to add a BusID to the "Device" section by
      default on systems with both NVIDIA and non-NVIDIA GPUs. This
      behavior can be suppressed by using the --no-busid option.

    * Enabled GSP Firmware by default on NVIDIA T4, A100, A30, A40, A16, A2,
      and several other Tesla products.  Please see the "GSP Firmware"
      chapter in the README for details.

======== Release 495 Entries ========

    * Fixed a bug in the Vulkan driver where some Ray Tracing shaders would
      timeout, resulting in device loss.

2021-10-26 version 495.44

    * Fixed a bug in the Vulkan driver where unused input attributes to a vertex
      shader would corrupt the interpolation qualifiers for the shader.

    * Fixed a bug in the Vulkan driver where individual components of
      barycentric inputs could not be read.

    * Added support for the VK_KHR_present_id extension.

    * Added support for the VK_KHR_present_wait extension.

    * Added support for the VK_KHR_shader_subgroup_uniform_control_flow
      extension.

    * Fixed a bug where VK_NVX_binary_import was advertised as supported on
      unsupported platforms. This caused calls to vkCreateDevice to fail if
      applications attempted to enable VK_NVX_binary_import on such platforms.

2021-10-14 version 495.29.05

    * Added support for the GBM API. This adds the new symlink
      nvidia-drm_gbm.so pointing to the file libnvidia-allocator.so.VERSION to
      implement a GBM backend driver usable with the GBM loader from the Mesa
      project version 21.2 and above, as well as the files
      libnvidia-egl-gbm.so.1.1.0 and 15_nvidia_gbm.json, which implement EGL
      support for the GBM platform (EGL_KHR_platform_gbm).

    * Add indicator for Resizable BAR support on compatible systems.

    * Fixed a bug that could cause the X server to crash when starting a
      new server generation on PRIME configurations.

    * Removed support for NvIFROpenGL. This functionality was deprecated
      in the 470.xx driver release.

    * Removed libnvidia-cbl.so from the driver package.  This
      functionality is now provided by other driver libraries.

    * Changed the minimum required Linux kernel version from 2.6.32 to 3.10.

    * Updated nvidia.ko to load even if no supported NVIDIA GPUs are present
      when an NVIDIA NVSwitch device is detected in the system. Previously,
      nvidia.ko would fail to load into the kernel if no supported GPUs were
      present.

======== Release 470 Entries ========

2024-06-04 version 470.256.02

    * Fixed a bug that could cause the X server to crash when graphics
      applications requested single-buffered drawables while certain
      features (such as Vulkan sharpening) are enabled.

    * Fixed a bug that caused driver build failure when using separate
      kernel source and output directories on Linux v6.6 and later.

2024-02-22 version 470.239.06

    * Minor bug fixes and improvements

2023-10-31 version 470.223.02

    * Fixed a bug which caused incorrect reporting of presentation
      times when using the VK_NV_present_barrier Vulkan extension.

2023-03-30 version 470.182.03

    * Fixed a bug that could cause fullscreen PRIME Render Offload
      applications and/or X to crash when an NVIDIA GPU is driving
      multiple displays with Reverse PRIME.

    * Added support for console restoration when using simpledrm.

    * Disabled Fixed Rate Link (FRL) when using passive DisplayPort
      to HDMI dongles, which are incompatible with FRL.

2022-11-22 version 470.161.03

    * Fixed a bug that caused the Xorg server to crash if an NvFBC capture
      session is started while video memory is full.

2022-08-02 version 470.141.03

    * Added support for the following GPU:
        * GeForce RTX 3050 OEM

    * Fixed a bug that prevented nvidia-settings from accurately reflecting
      changes to some configuration properties.

    * Fixed an issue where HDMI audio output was not working in some cases,
      especially with high display refresh rates (120Hz, 100Hz, etc.) using
      Fixed Rate Link (FRL) transmission mode.

2022-05-13 version 470.129.06

    * Added support for the following GPUs:
        * GeForce RTX 3050
        * GeForce RTX 3070 Ti Laptop GPU
        * GeForce RTX 3080 Ti Laptop GPU
        * GeForce RTX 3090 Ti
        * RTX A500 Laptop GPU
        * RTX A1000 Embedded GPU
        * RTX A2000 Embedded GPU
        * RTX A1000 Laptop GPU
        * RTX A2000 8GB Laptop GPU
        * RTX A3000 12GB Laptop GPU
        * RTX A4500 Embedded GPU
        * RTX A4500 Laptop GPU
        * RTX A5500 Laptop GPU
        * T550 Laptop GPU

    * Fixed an issue where NvFBC was requesting Vulkan 1.0 while using
      Vulkan 1.1 core features. This caused NvFBC to fail to initialize with
      Vulkan loader versions 1.3.204 or newer.

2022-01-31 version 470.103.01

    * Added an application profile to avoid an image corruption issue in
      Blender, as described at https://developer.blender.org/T76874

    * Added support for the following GPUs:
        * NVIDIA GeForce MX550
        * NVIDIA GeForce MX570
        * NVIDIA GeForce RTX 2050

    * Fixed a bug that could lead to a kernel panic, due to a failure to
      release a spinlock under some conditions.

    * Fixed a race condition which could lead to crashes when Xid errors
      occur concurrently on multiple GPUs.

2021-12-13 version 470.94

    * Added support for the following GPU:
        * NVIDIA PG509-210

    * Worked around an issue that prevented some games from flipping (and
      therefore taking advantage of G-SYNC and G-SYNC Compatible monitors) on
      certain desktops such as GNOME.

2021-11-10 version 470.86

    * Added support for the following GPUs:
        * RTX A2000 12GB
        * RTX A4500
        * T400 4GB
        * T1000 8GB

    * Added a new command line option, "--no-peermem", to nvidia-installer.
      Selecting this option prevents the installation of the nvidia-peermem
      kernel module.

2021-10-26 version 470.82.00

    * Added support for the following GPUs:
        * Matrox D-Series D2450
        * Matrox D-Series D2480
        * NVIDIA A2

    * Fixed a regression which prevented DisplayPort and HDMI 2.1 variable
      refresh rate (VRR) G-SYNC Compatible monitors from functioning correctly
      in variable refresh rate mode, resulting in issues such as flickering.

    * Fixed a bug that can cause a kernel crash in SLI Mosaic configurations.

    * Added support for the EGL_NV_robustness_video_memory_purge extension

2021-09-20 version 470.74

    * Fixed a bug that could cause GPU applications to exit when resuming
      from suspend.

    * Fixed a regression which resulted in very-high system memory usage for
      Direct3D 12 games when run through vkd3d-proton.

2021-08-10 version 470.63.01

    * Added an application profile to disable FXAA for Firefox to prevent
      visual corruption.

    * Added support for the VK_KHR_wayland_surface extension.

    * Fixed a Vulkan performance regression that affected rFactor2.

2021-07-19 version 470.57.02

    * Updated the nvidia-settings command line interface to confirm successful
      assignment of string attributes. This makes the behavior more consistent
      with other types of attribute assignments.

    * Fixed a bug that could cause flickering in Blender and Steam when
      running on Xwayland.

    * Fixed a bug that caused GTK+3 applications using the GtkGLArea class
      to crash when running on Xwayland.

    * Added a workaround for DOOM Eternal, which avoids an application bug where
      Vulkan swapchain recreation events are not properly handled. On desktops
      like GNOME where the window is initially redirected to the compositor,
      this may prevent the game from flipping (and thus enabling G-SYNC).

    * Added a workaround for Far Cry 5 when run through DXVK, which avoids a
      shader race condition bug that was previously exposed by new compiler
      optimizations.

    * Added support for the following GPUs:
        * NVIDIA A100 80GB PCIe
        * NVIDIA A16
        * NVIDIA PG506-243
        * NVIDIA PG506-242
        * NVIDIA CMP 90HX
        * NVIDIA CMP 70HX
        * NVIDIA RTX A2000
        * NVIDIA T4G

2021-06-22 version 470.42.01

    * Added support for the following GPUs:
        * A100-PG506-207
        * A100-PG506-217

    * Increased the maximum limit on concurrent OpenGL contexts. This
      limit was previously constrained by a fixed-size internal driver
      resource, and is now constrained by available system memory.

    * Applications that exceed the maximum limit on concurrent OpenGL
      contexts will now receive a BadAlloc X error rather than crashing.

    * Fixed a bug that could cause the X server to crash upon shutdown
      with some configurations using GPU screens.

    * Fixed a bug that could cause rendering errors when displaying scaled
      MetaModes using the "Nearest" resampling method.

    * Fixed a bug that could cause OpenGL applications run in PID namespaces to
      hang upon exit, generating warnings such as the following in the X log:
      (WW) NVIDIA: Wait for channel idle timed out.

    * Added support for PRIME Display Offload where both the display offload
      source and display offload sink are driven by the NVIDIA X Driver.

    * Added support for PRIME Display Offload where the display offload source
      is AMDGPU.

    * Fixed a bug that could prevent the driver from applying application
      profiles when running applications through Proton or Wine on a PRIME
      Render Offload configuration.

    * Fixed a bug that could cause NvFBC's "direct capture" to crash the X
      server when certain GLX calls are made during a capture.

    * Removed usage of the sysctl(2) system call as a fallback for procfs in
      nvidia-installer. This system call has been deprecated since Linux
      2.6.24, and has been removed completely with recent versions of Linux
      and glibc.

    * Added an NVIDIA NGX build for use with Proton and Wine. A new library,
      nvngx.dll, has been added to enable driver-side support for running
      Windows applications which make use of DLSS. Changes to Proton, Wine, and
      other third-party software are needed for this feature.

    * Added support for VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT from the
      VK_EXT_global_priority extension. This enables support for asynchronous
      reprojection in SteamVR.

      VK_QUEUE_GLOBAL_PRIORITY_REALTIME_EXT is supported on Pascal GPUs and
      newer.

      Global priorities other than VK_QUEUE_GLOBAL_PRIORITY_MEDIUM_EXT require
      root privileges or the CAP_SYS_NICE capability.

    * Added support for the VK_EXT_global_priority_query extension.

    * Added the nvidia-peermem.ko kernel module. This module provides
      Mellanox InfiniBand HCAs (Host Channel Adapters) direct peer-to-peer access
      access to NVIDIA GPU memory without need without needing to copy data to
      to host memory.
      See the chapter "GPUDirect RDMA Peer Memory Client" in the README
      for details.

    * Added support for the VK_EXT_provoking_vertex extension.

    * Initial support for hardware accelerated OpenGL and Vulkan rendering
      on Xwayland. See the chapter "OpenGL and Vulkan on Xwayland" in the
      README for details.

    * Fixed a bug that could cause intermittent corruption in Wolfenstein:
      Youngblood when using NVIDIA Kepler, Maxwell, Pascal, and Volta GPUs.

    * Fixed a bug that could cause games running with DXVK to crash with Xid 31
      (MMU Fault) errors when using NVIDIA Pascal GPUs.

    * Added support for the VK_EXT_extended_dynamic_state2 extension.

    * Added support for the VK_EXT_color_write_enable extension.

    * Added support for the VK_EXT_vertex_input_dynamic_state extension.

    * Added support for the VK_EXT_ycbcr_2plane_444_formats extension.

    * Added support for the VK_NV_inherited_viewport_scissor extension.

    * NvFBC's "direct capture" mode no longer causes flipping to be
      disabled for applications being captured. G-SYNC can now also be
      used simultaneously with NvFBC direct capture.

    * Deprecated NvIFROpenGL support.  Release 470 will be the last to
      support this functionality.  NvIFROpenGL header files, samples
      and documentation were removed from the NVIDIA Capture SDK 7.1.9
      release.  Future drivers will remove libnvidia-ifr.so and any
      other reference to NvIFROpenGL.
      For details please see:
        https://developer.nvidia.com/nvidia-video-codec-sdk

    * Fixed a bug that prevented Vulkan direct-to-display from working when
      DRM KMS is enabled.

    * Enabled the NVIDIA driver, by default, to attempt to initialize SLI when
      using GPUs with different amounts of video memory.  Previously, this was
      only available when bit 1 was set in the "Coolbits" X config option.

    * Updated GPU fan control to be available by default in
      nvidia-settings and NV-CONTROL, for GPU boards that support
      programmable fan control.  Previously, this was only available
      when bit 2 was set in the "Coolbits" X config option.

    * Fixed an issue where vkCreate{Graphics,Compute}Pipeline would sometimes
      crash when the shaders contained resources with no set/binding.

    * Fixed a memory fault in the Vulkan driver when using some smaller
      dimensions of sparse images.

    * Fixed an issue with vkCmdSetViewport when firstViewport is non-zero.

    * Fixed handling of VK_DESCRIPTOR_BINDING_VARIABLE_DESCRIPTOR_COUNT_BIT for
      variable size descriptor bindings.

======== Release 465 Entries ========

2021-05-18 version 465.31

2021-04-29 version 465.27

2021-04-14 version 465.24.02

2021-03-30 version 465.19.01

    * Added gsp.bin firmware file which is used to offload the GPU initialization
      and management tasks on some GPUs. See the "GSP Firmware" chapter in the
      README for more information.

    * Updated the nvidia-settings control panel to be more consistent about
      displaying layout controls which are only applicable for some displays
      or GPUs connected to the system.

    * Improved X11 DrawText() performance when rendering stippled text.

    * Fixed a bug that could prevent some hardware configurations with large
      numbers of displays connected to the same GPU from working correctly.

    * Fixed a bug that could cause multi-threaded GLX applications to hang
      while attempting to handle an XError.

    * Fixed a potential crash in the Vulkan driver when clearing images with
      multiple layers.

    * Fixed a bug with the host-visible device-local memory heap, where if an
      allocation failed due to space constraints, it could cause the application
      to crash on future Vulkan function calls.

    * Fixed corruption in the Vulkan driver that sometimes occurred with shadow
      rendering with image arrays.

    * Added support for the VK_KHR_synchronization2 extension.

    * Added support for the VK_KHR_workgroup_memory_explicit_layout extension.

    * Added support for the VK_KHR_zero_initialize_workgroup_memory extension.

    * Added support for linear images for use with host-visible video memory in
      Vulkan.

    * Fixed an issue with OpenGL where imported Vulkan buffers would fail with
      GL_OUT_OF_MEMORY when marked as resident.

    * Fixed a bug that caused the NVIDIA driver to retain an incorrect
      memory mapping of the UEFI system console when booting with the
      kernel parameter pci=realloc. This could cause the console to corrupt
      memory in use by the NVIDIA driver, and vice versa.

    * Runtime D3 Power Management is now enabled by default on supported
      notebook systems with Ampere or newer GPUs. See the chapter titled
      "PCI-Express Runtime D3 (RTD3) Power Management" in the README for
      further details.

    * Updated the .run package installer to install and enable the
      nvidia-suspend.service, nvidia-hibernate.service, and
      nvidia-resume.service systemd units. These units are used when the
      NVreg_PreserveVideoMemoryAllocations=1 nvidia module parameter is
      specified to provide advanced suspend, hibernate, and resume
      functionality.

      See the chapter titled "Configuring Power Management Support" in the
      README for more information.

      This functionality can be disabled by passing the --no-systemd parameter
      to the installer.

    * Updated the NVIDIA X driver to allow OpenGL applications running on an X
      server that has left the active virtual terminal (VT) to continue running
      on the GPU, but with a limited frame rate.

      This functionality is only enabled when the
      NVreg_PreserveVideoMemoryAllocations=1 nvidia module parameter is enabled.

    * Fix a Vulkan clamping bug where fragment depth values would not be clamped
      to the range [0,1] if VK_EXT_depth_range_unrestricted was not enabled.

    * Fix a bug related to SPIR-V 1.4 non-Input/Output entry point variables.

    * Fixed a bug in compilation of SPIR-V intersection shaders when modules
      with multiple entry points are used.

======== Release 460 Entries ========

2021-07-20 version 460.91.03

    * Added support for the following GPUs:
        * GeForce RTX 3070 Ti
        * CMP 50HX

2021-06-03 version 460.84

    * Added support for the following GPU:
        * GeForce RTX 3080 Ti

2021-05-11 version 460.80

    * Fixed a bug that could cause AddressSanitizer to report a
      heap-buffer-overflow during initialization of the OpenGL and Vulkan
      libraries.

    * Added support for the following GPUs:
        * GeForce RTX 3050 Ti Laptop GPU
        * GeForce RTX 3050 Laptop GPU
        * T600 Laptop GPU
        * T1200 Laptop GPU
        * RTX A5000 Laptop GPU
        * RTX A4000 Laptop GPU
        * RTX A3000 Laptop GPU
        * RTX A2000 Laptop GPU

    * Fixed a bug that could prevent a system from resuming from suspend
      when DisplayPort activity occurred while the system was suspended.

    * Fixed a regression that prevented eglQueryDevicesEXT from correctly
      enumerating GPUs on systems with multiple GPUs where access to the
      GPU device files was restricted for some GPUs.

    * Fixed a regression that could cause system hangs when changing display
      resolution on SLI Mosaic configurations.

2021-04-14 version 460.73.01

    * Added support for the following GPUs:
        * A10
        * A10G
        * A30
        * PG506-232
        * RTX A4000
        * RTX A5000
        * T400
        * T600

2021-03-18 version 460.67

    * Fixed a bug where using ray tracing extensions on multi-GPU setups could
      result in application instability if the GPUs did not match.

    * Fixed an issue that prevented G-SYNC from working properly after a mode
      switch on Kepler-based GPUs.

2021-02-25 version 460.56

    * Added support for the following GPUs:
        * GeForce RTX 3060
        * CMP 40HX
        * CMP 30HX

    * Fixed a bug with indexed ray payloads in Vulkan.

2021-01-26 version 460.39

    * Updated the NVIDIA driver to restore functionality of some features,
      including runtime power management, hotplugging audio-capable display
      devices, and S0ix-based system suspend, with recent kernels such as
      Linux 5.10.

    * Fixed a bug that caused bindless texture samplers to be incorrectly
      counted towards the MAX_COMPUTE_TEXTURE_IMAGE_UNITS limit.

    * Fixed a bug that could cause the GPU to hang when attempting to
      perform link training on an HDMI 2.1 Fixed Rate Link (FRL) display,
      while the display is powered off.

    * Added support for the following GPUs:
        * GeForce RTX 3080 Laptop GPU
        * GeForce RTX 3070 Laptop GPU
        * GeForce RTX 3060 Laptop GPU
        * GeForce GT 1010

2021-01-07 version 460.32.03

    * Added a new "NoInterlacedModes" token to the NVIDIA X driver's
      "ModeValidation" option, to allow preventing interlaced modes from
      being validated. Refer to the "X Config Options" appendix of the
      driver README for further details.

    * Added support for the following GPU:
        * A40

2020-12-15 version 460.27.04

    * Fixed a bug that could cause detailed timing information for displays
      with a large number of detailed timings to be truncated in the X log.

    * Fixed a bug that prevented scaled display resolutions configured via
      the nvidia-settings control panel from being reported by RandR.

    * Added support for the following GPUs:
        * GeForce RTX 3060 Ti
        * RTX A6000

    * Fixed a bug with the SLI Mosaic Mode configuration dialog in
      nvidia-settings that left displays enabled when they were not needed in
      the selected configuration.

    * Added support for RandR rotation and reflection while using an
      NVIDIA-driven display as a PRIME Display Offload sink.

    * Added support for "Reverse PRIME Bypass", an optimization that bypasses
      the bandwidth overhead of PRIME Render Offload and PRIME Display Offload
      in conditions where a render offload application is fullscreen,
      unredirected, and visible only on a given NVIDIA-driven PRIME Display
      Offload output. Use of the optimization is reported in the X log when
      verbose logging is enabled in the X server.

    * Add support for the VK_KHR_acceleration_structure extension.
    * Add support for the VK_KHR_ray_tracing_pipeline extension.
    * Add support for the VK_KHR_ray_query extension.
    * Add support for the VK_KHR_pipeline_library extension.
    * Add support for the VK_KHR_deferred_host_operations extension.

    * Removed the MetaMode string truncation warning for older X Servers when
      saving the X Configuration file from nvidia-settings.

    * Add support for the VK_NV_fragment_shading_rate_enums extension.

    * Fixed a bug where copying from an X11 pixmap to an RGB overlay window
      would exhibit corruption.

    * Fixed an issue with VK_ACCESS_MEMORY_READ_BIT and
      VK_ACCESS_MEMORY_WRITE_BIT when used as part of a render pass.

    * Add support for the VK_KHR_fragment_shading_rate extension.

    * Add support for the VK_KHR_shader_terminate_invocation extension.

    * Reduce host memory consumption for descriptor memory in cases where the
      pNext chain contains a structure of type
      VK_STRUCTURE_TYPE_DESCRIPTOR_SET_VARIABLE_DESCRIPTOR_COUNT_ALLOCATE_INFO.

    * Increased the default size for new OpenGL/Vulkan Shader Disk Cache
      location to 1024MB. Note that caches with paths containing "/.nv/ will
      continue to use the previous default of 128MB unless the size is manually
      overridden. For more information see the "OpenGL Shader Disk Cache"
      section in the "Specifying OpenGL Environment Variable Settings" chapter
      of the README.

    * Changed the default location for new OpenGL/Vulkan Shader Disk Caches.
      If the location is not manually overridden and a cache is detected in the
      previous default location, that location will be used instead of the new
      default location. For more information see the "OpenGL Shader Disk Cache"
      section in the "Specifying OpenGL Environment Variable Settings" chapter
      of the README.

    * Add support for the VK_EXT_shader_image_atomic_int64 extension.

    * Add support for the VK_KHR_copy_commands2 extension.

    * Allow importing cached memory via VK_EXT_external_memory_host.

    * Removed support for the following deprecated frame lock NV-CONTROL
      attributes:

        NV_CTRL_FRAMELOCK_MASTER
        NV_CTRL_FRAMELOCK_SLAVES
        NV_CTRL_FRAMELOCK_MASTERABLE
        NV_CTRL_FRAMELOCK_SLAVEABLE

    * Default AllowEmptyInitialConfiguration to True such that the NVIDIA X
      driver succeeds when launching the X server even if there are no display
      devices connected.

    * RRGetCrtcInfo will now return Rotate_0 instead of 0 as the active
      rotation for disabled CRTCs.

    * Improved the NVIDIA VDPAU implementation of
      VdpVideoSurfaceGetBitsYCbCr and VdpVideoSurfacePutBitsYCbCr when
      using planar or semi-planar formats.  This helps applications that
      transfer data between VDPAU video surfaces and system memory.

    * Added initial experimental support for S0ix-based system suspend
      (suspend-to-idle). This feature is platform and GPU dependent,
      so the feature will be disabled by default. To enable this feature,
      refer to the 'powermanagement' section of the README.

======== Release 455 Entries ========

2020-11-17 version 455.45.01

    * Fixed an issue where Vulkan applications would fail to initialize if the
      connected X11 Server did not expose support for GLX.

    * Fixed a bug in a Vulkan blending optimization that could produce incorrect
      results. Some of the Vulkan titles affected by this bug were:
        * Life is Strange 2
        * Shadow of the Tomb Raider

    * Fixed an issue that caused Vulkan swapchain creation to fail for
      full-screen windows when a G-SYNC monitor is connected.

2020-10-29 version 455.38

    * Added support for the following GPU:
        * GeForce RTX 3070

    * Fixed a bug in nvidia-settings that caused the SLI Mosaic Configuration
      dialog to position available displays incorrectly when enabling SLI
      Mosaic.

    * Added support for using an NVIDIA-driven display as a PRIME Display
      Offload sink with a PRIME Display Offload source driven by the
      xf86-video-intel driver.

    * Fixed a bug in a Vulkan barrier optimization that allowed some
      back-to-back copies to run unordered.

2020-10-07 version 455.28

    * Fixed a bug that caused X to crash when the NVIDIA RandR provider was
      disabled while using an NVIDIA-driven display as a PRIME Display Offload
      sink.

    * Moved layout configuration of SLI Mosaic displays in nvidia-settings from
      its own dedicated page to a dialog available on the X Server Display
      Configuration page.

2020-09-17 version 455.23.04

    * Added support for the following GPUs:
        * GeForce RTX 3080
        * GeForce RTX 3090

    * Fixed a bug that prevented 8K displays from being used in portrait
      orientation on Pascal and earlier GPUs.

    * Fixed a bug which caused excessive CPU usage in Vulkan applications
      which create a large number of VkFence objects. This was particularly
      prevalent in the Steam Play title Red Dead Redemption 2.

    * Added support for a new device-local VkMemoryType which is host-coherent
      and host-visible. This may result in improved performance in some
      applications. Applications which are known to benefit from this new
      VkMemoryType include: DXVK Title DiRT Rally 2.0, Steam Play Title
      DOOM: Eternal, and DXVK title World of Warcraft.

    * Fixed a bug that caused WebKit-based applications to crash when
      running on Wayland.

    * Fixed a bug that led to display corruption at some resolutions when
      using an NVIDIA-driven display as a PRIME Display Offload sink.

    * Fixed a bug in a SPIR-V optimization that may cause conditional blocks to
      not execute.

    * Fixed a bug where calls to vkGetRandROutputDisplayEXT with unexpected
      inputs would generate X11 protocol errors.
      (https://bugs.winehq.org/show_bug.cgi?id=49407)

    * Fixed a small memory leak during exit of the NVIDIA EGL driver.

    * Implemented support for the NVIDIA NGX Updater. See the "NGX" chapter in
      the README for information on how to configure this feature.

    * Removed support for the SLI modes "SFR", "AFR", and "AA".  SLI Mosaic,
      Base Mosaic, GL_NV_gpu_multicast, and GLX_NV_multigpu_context are still
      supported.

    * Updated Base Mosaic support on GeForce to allow a maximum of
      five simultaneous displays, rather than three.

    * Fixed several synchronization bugs that could momentarily lock
      up the X server when moving/resizing/focusing OpenGL and Vulkan
      windows when PRIME Sync was enabled.

    * Added NVIDIA VDPAU driver support for decoding VP9 10- and 12-bit bitstreams.
      Note that VDPAU's presentation pipeline and OpenGL-VDPAU interop
      does not support 10- and 12-bit video surfaces yet. See the "VDPAU Support"
      appendix in the README for supported decoder profiles.

    * Fixed a bug that could cause dual-link DVI to be driven over a
      connector that only supports single-link DVI, when "NoMaxPClkCheck" is
      specified in the "ModeValidation" X configuration option.  Note this fix
      may cause behavioral changes for configurations using this option.

======== Release 450 Entries ========

    * Updated nvidia-modprobe to create symbolic links in /dev/char when
      creating the /dev/nvidia* device nodes. This resolves an issue that
      prevented the device nodes from working with newer versions of runc:

      https://github.com/opencontainers/runc/issues/3708

    * Improved performance on GPUs which are experiencing a high number
      of correctable ECC memory errors.

    * Fixed a bug that caused nvidia-drm.ko to crash when loading with
      DRM-KMS enabled (modeset=1) on Linux v5.14.

    * Fixed a bug that could cause the /proc/driver/nvidia/suspend power
      management interface to fail to preserve and restore video memory
      allocations when the NVreg_TemporaryFilePath module parameter for
      nvidia.ko specified an invalid path.

    * Fixed a bug that could result in blank displays when driving multiple
      displays at the same resolution using active DisplayPort dongles.

2021-04-19 version 450.119.03

    * Fixed a driver installation failure on Linux kernel 5.11 release
      candidates, where the NVIDIA kernel module failed to build with error
      "error: implicit declaration of function 'sys_close'".

    * Fixed a bug where calls to vkCreateDevice could fail on Ampere GPUs when
      ray tracing extensions were enabled and the application was running within
      the Steam Linux Runtime.

    * Fixed a regression that could cause display corruption when using
      a scaled resolution after resuming from power management suspend.

    * Fixed a bug that could intermittently cause NvFBC applications to fail
      with the error message "Unable to send exported fds".

2021-01-07 version 450.102.04

    * Fixed the X driver's composition pipeline (used, e.g., for X desktop
      rotation, "ForceCompositionPipeline", and some OpenGL Swap Group
      configurations) to correctly preserve color precision in depth 30.

    * Fixed a bug that could cause X clients to crash when closing display
      connections to the X server.

    * Fixed a bug that could cause the X server to configure DisplayPort
      Multi-Stream Transport displays in an inconsistent order.

    * Added support for the following GPUs:
        * T500
        * A100-SXM4-80GB

    * Improved the memory allocation strategy in nvidia-modeset.ko to reduce
      the likelihood of out-of-memory errors, which typically manifest as
      "page allocation failure" messages in the kernel log.

    * Fixed a performance regression in the NVIDIA X driver which affected
      some X11 RENDER extension use cases.

    * Added AMD Secure Memory Encryption compatibility.

    * Fixed a bug where glGetGraphicsResetStatusARB would incorrectly
      return GL_PURGED_CONTEXT_RESET_NV immediately after application
      start-up if the system had previously been suspended.

2020-09-30 version 450.80.02

    * Added support for the following GPUs:
        * A100-PCIE-40GB
        * A100 Graphics Device
        * DGX Display
        * GeForce MX450

2020-08-18 version 450.66

    * Added support for the following GPUs:
        * EIZO Quadro MED-XN31LP
        * EIZO Quadro MED-XN50LP
        * EIZO Quadro MED-XN51LP
        * EIZO Quadro MED-XN70
        * EIZO Quadro MED-XN71
        * EIZO Quadro MED-XN72
        * EIZO Quadro MED-XN90
        * EIZO Quadro MED-XN91
        * EIZO Quadro MED-XN92
        * Matrox D-Series D1450
        * Matrox D-Series D1480

    * Fixed triple buffering support of Vulkan X11 swapchains when applications
      are syncing to vblank.

2020-07-09 version 450.57

    * Fixed a bug that caused a brief orange flash on some platforms when a
      display mode is being set.

2020-06-24 version 450.51

    * Added support for Vulkan direct-to-display on DisplayPort displays which
      are connected via DisplayPort Multi-Stream Transport (DP-MST).

    * Added a new documentation file, supported-gpus.json, which exposes a
      machine-readable list of supported GPUs and features.

    * Added an implementation of glNamedBufferPageCommitmentARB, which was
      missing from the NVIDIA driver's support for the GL_ARB_sparse_buffer
      extension.

    * Fixed a bug that could cause a KDE Plasma session to crash when running
      under Wayland.

    * Fixed a bug that could cause some Swap Group configurations to present
      at half of the display refresh rate.

    * Fixed a bug that prevented X11 EGL displays from being reinitialized.

    * The 450 driver series is the last that supports NvFBC's
      NVFBC_CAPTURE_TO_HW_ENCODER capture interface, which has been deprecated
      since NVIDIA Capture SDK 6.0 released in 2017. Future NVIDIA drivers
      after the 450 series will return NVFBC_ERR_UNSUPPORTED if that capture
      interface is requested.
      The recommended way to encode captured frames with NVENC is by using the
      NVIDIA Video Codec SDK.
      See: https://developer.nvidia.com/nvidia-video-codec-sdk

    * Implemented support for NVIDIA NGX. A new library, libnvidia-ngx.so, has
      been added to support the new functionality. This new library is needed by
      applications which link against any of the following SDKs:
        * NVIDIA DLSS SDK
        * NVIDIA NGX SDK

    * Fixed a bug which caused Vulkan applications to leak file descriptors
      when destroying Vulkan instances.

    * Added a fallback presentation path for PRIME Render Offload
      configurations where the DRI3 and/or Present extension are unavailable.

    * Fixed a bug where vkCreateSampler would fail with no borderColor data,
      even though it wasn't needed.

    * Fixed a bug where vkUpdateDescriptorSetWithTemplate would ignore the
      stride parameter for some VkDescriptorType values.

    * Fixed a bug causing the Plasma desktop panel to freeze when
      compositing is disabled (https://bugs.kde.org/show_bug.cgi?id=353983)

    * Added support for the following GPUs:
        * A100-PCIE-40GB
        * A100-PG509-200
        * A100-SXM4-40GB

    * Improved Vulkan device enumeration under an X.Org X server environment.
      See the "Known Issues" in the README for more information.

    * Fixed a visual glitch of Vulkan applications when they stop flipping
      due to a window change, such as when alt-tab is used to change
      window focus.

    * Fixed a bug where XGetImage requests would return stale data for
      flipping Vulkan applications. In particular, this fixes screen-scraping
      tools such as VNC and import.

    * Removed libnvidia-fatbinaryloader.so from the driver package.  This
      functionality is now built into other driver libraries.

    * Extended the dynamic runtime power management support in the NVIDIA
      driver to shut off power to video memory under certain conditions.
      See the chapter titled "PCI-Express Runtime D3 (RTD3) Power Management"
      in the README for more information.

    * Added HEVC 10/12 bit "decode only" support to the NVIDIA VDPAU driver. 
      Note that VDPAU's presentation pipeline and OpenGL-VDPAU interop
      does not support 10- and 12-bit video surfaces yet. See the "VDPAU Support"
      appendix in the README for supported HEVC decoder profiles.

    * Added support for Image Sharpening for OpenGL and Vulkan applications

    * Added new VdpYCbCrFormats VDP_YCBCR_FORMAT_Y_U_V_444_16,
      VDP_YCBCR_FORMAT_P010 and VDP_YCBCR_FORMAT_P016 for accessing 16-bit
      surfaces via VdpVideoSurfaceGetBitsYCbCr() and VdpVideoSurfacePutBitsYCbCr()
      in the NVIDIA VDPAU driver.

    * Added support to create 16-bit video surfaces in the NVIDIA VDPAU driver.

    * Modified nvidia-persistenced and libnvidia-ml (NVML) to use libtirpc for
      communication instead of relying on the deprecated glibc RPC
      implementation.

    * Enabled GPU screens by default on X.Org xserver version 1.20.7 and higher.

    * Fixed a bug where rendering in a separate user namespace (unshare -U)
      would show black window and produce Xid 13 errors.

======== Release 445 Entries ========

    * Removed support for "IgnoreDisplayDevices" X configuration option.

    * Added support for PRIME Synchronization when using displays driven by
      the xf86-video-amdgpu driver as PRIME display offload sinks.

    * Added support for displays connected to NVIDIA GPUs to act as PRIME
      display offload sinks, also known as "Reverse PRIME". See the chapter
      titled "Offloading Graphics Display with RandR 1.4" in the README for
      additional information.

    * Removed 'libGL.la' libtool archive from the install package.

======== Release 440 Entries ========

    * Fixed a bug that could cause the X server to crash when using large
      cursor images with PRIME display offloading.

    * Fixed an interaction problem with 5.4 and newer Linux kernels that caused
      a performance regression when allocating system memory.

    * Fixed a bug where a Vulkan application under PRIME render
      offload would not always be correctly throttled to vsync despite
      the application's request for VK_PRESENT_MODE_FIFO_KHR. This was
      particularly prevalent on DXVK titles.

2020-06-24 version 440.100

    * Added a workaround for some Pascal based notebooks, where the GPU
      could fall off the bus when idle.

    * Added support for the following GPUs:
        * GeForce GTX 1650 Ti
        * GeForce GTX 1650 Ti with Max-Q Design
        * GeForce RTX 2060 with Max-Q Design
        * Quadro T1000 with Max-Q Design

    * Added new "Connector-N" display device aliases to the X driver's
      X configuration option parser.  This is useful in conjunction with
      the "ConnectedMonitor" X configuration option, for emulating the
      presence of connected monitors without knowing what specific
      connectors are available.  See the "Display Device Names" appendix
      in the README for details.

2020-04-07 version 440.82

    * Added a workaround for Steam Play title DOOM Eternal, which overrides
      application requested memory locations, to ensure performance-critical
      resources be placed in video memory.

    * Allow presenting from queue families which only expose
      VK_QUEUE_COMPUTE_BIT when using XCB in addition to Xlib surfaces.

    * Fixed a bug that caused render-offloaded applications to crash on exit.

2020-02-28 version 440.64

    * Added support for the following GPUs:
        * GeForce MX330
        * GeForce MX350

    * Fixed a regression that allowed displays to enter DPMS mode even
      when DPMS is disabled in the X server settings.

2020-02-03 version 440.59

    * Disabled frame rate limiting for configurations without active
      displays when HardDPMS is enabled.

    * Restricted the maximum number of GPU Screens to one GPU Screen per
      GPU device, to prevent X from crashing when more than one GPU Screen
      is configured for a single GPU device.

    * Fixed a bug that could cause the X server to crash while exiting
      DPMS with HardDPMS enabled.

    * Added support for the following GPUs:
        * Tesla PG500-216
        * Tesla PG503-216

    * Added a default filename when saving the Display Configuration file
      in nvidia-settings if an existing configuration file is not detected.

    * Added support for audio over DisplayPort Multi-Stream. This support
      requires Linux kernel version 5.5 or newer.

    * Updated the NVIDIA driver to allow NVIDIA High Definition Audio (HDA)
      controllers to respond to display hotplug events while the HDA is
      runtime-suspended.

    * Fixed a bug that caused DXVK titles to endlessly loop during shader
      compilation if no OpSource instruction was present.

2019-12-11 version 440.44

    * Added support for the following GPU:
        * GeForce GTX 1650 SUPER

    * Added support for the __GL_SYNC_DISPLAY_DEVICE environment variable for Vulkan applications.

    * Fixed a bug that caused applications running directly on a display
      (such as VR HMDs) to tear when a G-SYNC or G-SYNC Compatible monitor
      is plugged in the system.

2019-11-22 version 440.36

    * Fixed graphical corruption that can occur when using
      glslang SPIR-V Generator Version <= 2.

2019-11-04 version 440.31

    * Added support for the following GPUs:
        * Tesla V100S-PCIE-32GB
        * GeForce GTX 1660 SUPER

    * Fixed a regression in the 440.26 driver that could prevent the NVIDIA
      kernel modules from building correctly on systems localized to a
      language other than English.

2019-10-17 version 440.26

    * Updated the confirmation dialog box that is displayed when quitting
      the nvidia-settings control panel to report when there are pending
      configuration changes which will be lost if they are not applied or
      saved before quitting.

    * Enabled parallel GLSL shader linking by default; i.e., allow
      GL_ARB_parallel_shader_compile to work without first calling
      glMaxShaderCompilerThreadsARB().

    * Added support for HDMI 2.1 variable refresh rate (VRR) G-SYNC Compatible
      monitors on supported GPUs.  For more details, see "Configuring Multiple
      Display Devices on One X Screen" in the README.

    * Added support for the GLX_NV_multigpu_context and GL_NV_gpu_multicast
      extensions.  For more details, see the "Configuring SLI and Multi-GPU
      FrameRendering" chapter of the README, and the extension specifications:

        https://www.khronos.org/registry/OpenGL/extensions/NV/GLX_NV_multigpu_context.txt
        https://www.khronos.org/registry/OpenGL/extensions/NV/NV_gpu_multicast.txt

    * Fixed a bug that prevented Vulkan applications running on systems
      configured for SLI. Vulkan applications can now run while SLI is
      enabled; however, they will only be able to use a single GPU.

    * Simplified the nvidia-sleep.sh sample script to no longer depend on
      unreliable detection of the current VT through X server logs.

    * Added EGL support for PRIME render offload. Please see the PRIME Render
      Offload chapter in the README for configuration details.

    * Fixed a regression introduced in 435.19.02 that would cause some
      applications which use the VK_KHR_DISPLAY extension to result in a 
      segmentation fault.

    * Enabled HardDPMS by default. See the README entry on the X configuration
      option "HardDPMS" for more information.

    * Fixed a bug which caused corruption in the following DXVK titles:
        * Saints Row IV
        * Saints Row: The Third

    * Added VP9 decode support to the NVIDIA VDPAU driver. See the
      VDPAU Support appendix in the README for supported VP9 decoder
      profiles.

    * Fixed a bug that could cause heapUsage values reported by
      VK_EXT_memory_budget to not immediately update after vkFreeMemory was
      called.

    * Changed GPU clock management strategy to more quickly ramp down clocks
      after a drop in GPU utilization.

    * Added X configuration option, "SidebandSocketPath", which
      controls the directory in which the X driver will create a
      pathname UNIX domain socket used to communicate with the NVIDIA
      OpenGL, Vulkan and VDPAU driver components.

    * The X driver will now create a fallback pathname UNIX domain
      socket in the directory specified by the "SidebandSocketPath"
      option, or /var/run by default, which will be used by other
      NVIDIA driver components if they are unable to connect to the
      default abstract socket.  This fixes a bug where graphics
      applications run within a network namespace (which prevents the
      use of abstract sockets) were unable to take advantage of some
      driver features, such as G-Sync.

======== Release 435 Entries ========

2019-08-29 version 435.21

    * Fixed a bug that caused the X server to crash when using HardDPMS with
      an NVIDIA-driven GPU Screen.

2019-08-13 version 435.17

    * Fixed a bug which caused the kernel to panic when exiting a single X
      server when multiple X servers were active and in an SLI configuration.

    * Fixed a regression introduced in the 430.* series of releases that
      caused a segmentation fault in libnvcuvid.so while using Video Codec
      SDK APIs on certain graphics boards.

    * Added initial experimental support for runtime D3 (RTD3) power 
      management on Turing notebook GPUs.

    * Improved nvidia-bug-report.sh to collect runtime D3 (RTD3) power
      management information.

    * Improved nvidia-bug-report.sh to collect ACPI tables when the acpidump
      tool is available.

    * Added Vulkan and OpenGL+GLX support for PRIME render offload.
      Please see the PRIME Render Offload chapter in the README for
      system requirements and configuration details.

    * Added support for changing Digital Vibrance in the display controls
      section of nvidia-settings on Turing hardware.

    * Fixed the cuvidParseVideoData API in the NVCUVID driver to
      correctly propagate errors returned by the PFNVIDSEQUENCECALLBACK
      callback function to the application.

    * Fixed a bug that caused the NVIDIA X driver to behave incorrectly or
      crash when a client queried Xinerama information on X servers with a
      non-NVIDIA X screen as screen 0.

    * Fixed the "Image Settings" options in the "OpenGL Settings" page of
      nvidia-settings for Quadro GPUs.  Previously, OpenGL rendering on Quadro
      would behave as if the "High Quality" option were selected regardless of
      the selection.  Now, the setting will default to "High Quality" for
      Quadro but selecting a lower option will affect rendering accordingly.
      (Other GPUs are unchanged: the default remains "Quality", but other
      options can be selected if desired.)

    * Fixed a bug that could cause Vulkan applications to generate spurious
      warning messages about a missing NV-GLX extension.

    * Removed the non-GLVND OpenGL libraries from the NVIDIA Linux driver
      installation package. The GLVND OpenGL libraries were introduced in
      release 361.16, and have been installed by default since release
      364.12, with the non-GLVND versions available as an alternative via
      the "--no-glvnd-glx-client" and "--no-glvnd-egl-client" installer
      options. As the non-GLVND libraries are no longer included in the
      installation package, these options will no longer have any effect.

    * Fixed a bug that prevented nvidia-drm from marking preferred modes
      properly when reporting display information via the DRM-KMS API.

    * Updated nvidia-installer to make compiler mismatches non-fatal
      when adding precompiled kernel interfaces to an installer package
      using the "--add-this-kernel" option, to be more consistent with
      the behavior when installing without precompiled interfaces.

    * Fixed the NvEncodeAPI driver to correctly reject the encoding of
      sequences with resolutions smaller than what the NVENC supports.

======== Release 430 Entries ========

 
    * Fixed a bug in an error handling path that could cause a kernel crash
      while loading nvidia.ko.

2019-11-05 version 430.64

    * Fixed a bug that could cause the X server to crash when running
      applications using GLX indirect rendering.

    * Fall back to system memory when video memory is full for some
      driver-internal allocations. This can help fix Xid 13 and 
      Xid 31 cases in Vulkan applications when video memory is full.

    * Fixed a bug that could cause a blank screen on some DisplayPort
      monitors when logging in to GNOME, if the nvidia-drm kernel module
      parameter modeset=1 is specified.

2019-09-11 version 430.50

2019-07-29 version 430.40

    * Added support for the following GPU:
        * GeForce RTX 2080 SUPER

    * Fixed a driver installation failure in Linux kernel configurations
      with CONFIG_HOTPLUG_CPU.

2019-07-09 version 430.34

    * Added support for the following GPUs:
        * GeForce RTX 2060 SUPER
        * GeForce RTX 2070 SUPER

2019-06-10 version 430.26

2019-05-14 version 430.14

    * Improved performance of the Vulkan title, DiRT4.

    * Added support for presentation from queue families which only expose
      VK_QUEUE_COMPUTE_BIT. This improves performance of Steam Play title,
      Wolfenstein II: The New Colossus.

2019-04-23 version 430.09

    * Fixed a bug that could cause the display to be driven at a low
      resolution when configuring PRIME display offloading with
      `nvidia-xconfig --prime`.

    * Added HEVC YUV 4:4:4 decode support to the NVIDIA VDPAU driver.

    * Added the new per-decoder profile capability bit
      VDP_DECODER_PROFILE_SUPPORTED_CHROMA_TYPES to the NVIDIA VDPAU driver.

    * Added new VdpYCbCrFormats VDP_YCBCR_FORMAT_Y_UV_444 and
      VDP_YCBCR_FORMAT_Y_U_V_444 for accessing YUV 4:4:4 surfaces via 
      VdpVideoSurfaceGetBitsYCbCr() and VdpVideoSurfacePutBitsYCbCr()
      in the NVIDIA VDPAU driver.

    * Added support for creation of YUV 4:4:4 video surfaces in 
      the NVIDIA VDPAU driver.

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

    * Raised the minimum supported X.Org xserver version to 1.7 (video driver
      ABI version 6).

======== Release 418 Entries ========

    * Added support for the following GPU:
        * Quadro T2000 with Max-Q Design

2019-11-05 version 418.113

    * Updated the Module.symvers sanity check, which is part of the NVIDIA
      kernel module build process, to accommodate the recent addition of a
      new field in the Module.symvers file format. This fixes the error
      "The Module.symvers file is missing [...]" seen during driver
      installation or DKMS rebuilds with Linux 5.4 RC kernels.

    * Fixed a bug that prevented NVIDIA GPUs from entering the low-power
      D3 state when entering suspend-to-idle (s2idle). Note that on some
      systems this may expose an existing timing issue in the Linux kernel;
      see the "Known Issues and Workarounds" section of the "Configuring
      Power Management Support" chapter of the README for more details.

2019-07-29 version 418.88

    * Added support for the following GPUs:
        * Quadro P520
        * Quadro RTX 3000
        * Quadro RTX 3000 with Max-Q Design
        * Quadro RTX 4000 with Max-Q Design
        * Quadro RTX 5000 with Max-Q Design
        * Quadro T1000
        * Quadro T2000

    * Fixed a bug, introduced in 415.13, that caused audio over DisplayPort to
      not work in some configurations.

2019-05-07 version 418.74

    * Added support for the following GPUs:
        * Quadro P2200
        * GeForce GTX 1650
        * GeForce GTX 1650 with Max-Q Design
        * GeForce GTX 1660 Ti with Max-Q Design

2019-03-20 version 418.56

    * Updated nvidia-settings to disable line wrapping when outputting to a
      non-terminal in command-line mode. From GitHub pull request:

          https://github.com/NVIDIA/nvidia-settings/pull/37

    * Updated the nvidia-settings control panel to more accurately reflect the
      current availability of G-SYNC or G-SYNC compatible display settings.

    * Added support for the following GPUs:
        * GeForce GTX 1660
        * GeForce MX230
        * GeForce MX250

    * Fixed a bug which could sometimes cause Vulkan applications to lock up the
      GPU when freeing large chunks of memory on systems with PRIME enabled.

    * Added support for the following GPU:
        * GeForce GTX 1660 Ti

    * Updated the driver to restrict use of the GPU performance counters to
      system administrators by default. The previous more permissive behavior
      can be restored by setting NVreg_RestrictProfilingToAdminUsers=0 when
      loading nvidia.ko.

    * Fixed a bug that would occasionally cause visual corruption on some
      Vulkan titles. This bug was particularly prevalent on DXVK titles.

    * Fixed a bug that caused vkCmdPushConstants to generate Xid 13 messages
      when executed with VK_SHADER_STAGE_ALL on a compute queue.

2019-01-30 version 418.30

    * Added initial support for G-SYNC Compatible monitors.  See the README
      for details.

    * Added support for the following GPUs:
        * GeForce RTX 2070 with Max-Q Design
        * GeForce RTX 2080 with Max-Q Design

    * Added support for stereo presentation in Vulkan.

    * Fixed a bug that could cause OpenGL applications to crash after
      repeated VT-switches.

    * Fixed a bug that could sometimes prevent PRIME displays from being
      selected in the display settings page of nvidia-settings.

    * NVIDIA Video Codec SDK 9.0

      A new release of the Video Codec SDK will be available in Q1 2019.
      For more information and early access sign-up, refer to
        https://developer.nvidia.com/nvidia-video-codec-sdk

      The main features available in this release are listed below:
      o Support for Turing NVENC/NVDEC.
      o The NVDECODE API (also known as the NVCUVID API) has been updated to
        support YUV 4:4:4 decoding for HEVC on Turing GPUs.
      o NvEncodeAPI has been updated to support HEVC B-frames on Turing GPUs.
      o NvEncodeAPI adds the capability to output the encoded bitstream, and
        motion vectors from motion estimation-only mode, to video memory.
        This avoids the overhead of copying the output from system to video
        memory for processing pipelines operating directly on video memory.
      o NvEncodeAPI now accepts CUarrays as input buffers. The SDK contains
        a sample application to demonstrate how to feed a Vulkan image to
        NVENC using the Vulkan-CUDA interop.

    * Updated the NVIDIA VDPAU driver to support allocating VDPAU video
      surfaces with explicit field or frame picture structure.

    * Added support for the GL_NV_vdpau_interop2 OpenGL extension,
      which allows VDPAU/OpenGL surface sharing with explicit field or
      frame picture structure. Picture structure selection by applications
      can avoid the need for implicit surface structure conversion by
      the OpenGL implementation.

    * Added NVIDIA optical flow support.

      A new library libnvidia-opticalflow.so is included in the driver package.
      The NVIDIA optical flow library can be used for hardware-accelerated
      computation of optical flow vectors and stereo disparity values.
      The API header files, sample applications and documentation will be
      available in a separate Optical Flow SDK package in Q1 2019.

      For more information and early access sign-up, refer to
        https://developer.nvidia.com/opticalflow-sdk

    * Removed libnvidia-wfb.so from the driver package.  This module was only
      used on X servers that did not provide their own implementation of
      libwfb, and all X.Org xserver versions now supported by the driver do
      so.

    * Updated the VDPAU driver to reject decoding to YUV 4:2:2 video
      surfaces.  The NVIDIA VDPAU driver always produces YUV 4:2:0
      content.  Previously, the VDPAU driver implicitly converted a YUV
      4:2:2 video surface to YUV 4:2:0 during decode.  Now, the VDPAU
      driver will fail the decode request.

    * Optimized nvidia-installer to only run depmod(1) once when installing,
      rather than twice (once during the uninstall phase and again when
      installing new kernel modules).

    * Removed the NVreg_UseThreadedInterrupts kernel module parameter from
      nvidia.ko. This removes the ability to forcibly fall back to an older
      mechanism (tasklets) for running the bottom-half interrupt handler.
      Instead, threaded IRQs (the default since 367.44) are always used.

======== Release 415 Entries ========

2019-01-15 version 415.27

    * Added support for the following GPU:
        * GeForce RTX 2060

2018-12-18 version 415.25

    * Added support for the following GPU:
        * TITAN RTX

2018-12-12 version 415.23

2018-12-07 version 415.22

    * Fixed a regression that prevented applications based on the Unity engine
      from starting.

    * Added support for VK_EXT_transform_feedback.

2018-11-20 version 415.18

    * Fixed a bug that caused corruption on vkCmdCopyImage calls for non-2D
      texture targets.

2018-11-08 version 415.13

    * Improved error reporting in eglSwapBuffers() by generating codes for
      some missing error types, and adding additional detail to the already
      existing ones.

    * Improved the appearance and functionality of the nvidia-settings
      control panel when it is resized to small sizes.

    * Updated the nvidia-settings control panel to prevent some icons from
      being displayed incorrectly while using some GTK+ themes.

    * Fixed a bug that could cause WINE to crash on recent OS releases.

    * Fixed a bug that could cause an X server crash when exiting Vulkan
      applications running on X servers with UBB enabled.

    * Fixed an X driver bug that caused the "NoEdidModes" token of the
      "ModeValidation" X configuration option to reject non-EDID modes
      whose timings matched EDID modes.

    * Changed the NvEncCreateBitstreamBuffer API call in the NvEncodeAPI
      library to return NV_ENC_ERR_UNIMPLEMENTED instead of NV_ENC_SUCCESS when
      the encoder instance is configured to run in motion estimation-only mode.
      As an indirect consequence of this change, users running the AppEncME
      sample application from the Video Codec SDK prior to SDK version 8.2.16
      will observe a segmentation fault due to bugs in the NvEncoder class. It
      is recommended that users download the latest version of the SDK, where
      these bugs have been fixed, from
      https://developer.nvidia.com/nvidia-video-codec-sdk.

    * Fixed an OpenGL driver bug that caused the upper bounds of
      floating-point viewports, specified through the ARB_viewport_array
      extension, to be clipped incorrectly.

    * Added a new X configuration option "HardDPMS" which
      is disabled by default, but can be enabled to put displays to sleep with
      modesets rather than VESA DPMS. This may fix some displays that fail to
      sleep when DPMS becomes active. "HardDPMS" will be enabled by default in a
      future release.

    * Raised the minimum supported X.Org xserver version to 1.5 (video driver
      ABI version 4).

    * Enabled the NVreg_EnableBacklightHandler kernel module option by default.

    * Removed the LinuxThreads version of the /usr/lib/libnvidia-tls.so library
      and replaced it with the NPTL one that was previously installed in
      /usr/lib/tls/. This fixes crashes on Debian systems when the
      /etc/ld.so.nohwcap file is present.

    * Updated nvidia-installer to allow the --no-cc-version-check option to
      disable the compiler version check when installing with DKMS.

    * Changed the minimum required Linux kernel version from 2.6.9 to 2.6.32.

    * Fixed an OpenGL bug where conditional rendering (NV_conditional_render)
      was incorrectly affecting mipmap generation.

======== Release 410 Entries ========

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

    * Added support for the following GPU:
        * Tesla V100-SXM3-32GB-H

    * Fixed a bug where destroying a direct-to-display swapchain could
      crash Vulkan applications.

    * Fixed a bug that prevented Vulkan applications from using the
      VK_EXT_display_control extension on a display that is driven by X.

2019-01-03 version 410.93

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

    * Added support for the following GPU:
        * Quadro RTX 8000

2018-11-15 version 410.78

    * Fixed a bug that could cause the X server to hang on systems booted in
      legacy VGA mode when using a DisplayPort Multi-Stream link.

    * Added support for the following GPUs:
        * Quadro RTX 4000
        * Tesla T4

2018-10-25 version 410.73

2018-10-16 version 410.66

    * Added a USB-C display connector type identifier, such that a display
      connected using Turing's USB-C connector will be named, e.g., "USB-C-0"
      rather than "DP-5". Scripts and configuration files that use the DP
      identifier for this connector will be affected.

    * Added support for the following GPUs:
        * Quadro RTX 5000
        * Quadro RTX 6000
        * GeForce RTX 2070

2018-09-19 version 410.57

    * Added a graphics API visual indicator.  It can be toggled through
      nvidia-settings' "OpenGL Settings" panel, the
      __GL_SHOW_GRAPHICS_OSD environment variable, or the
      GLShowGraphicsOSD application profile.  See the README for more
      information.

    * Added support for X11 RandR transformations on outputs where the NVIDIA X
      driver is used as a synchronized RandR 1.4 output source (i.e., "PRIME
      Sync").

    * Fixed a bug that caused OpenGL corruption on outputs where the NVIDIA X
      driver was used as an RandR 1.4 output source (i.e., "PRIME"), and the
      output sink required a software cursor.

    * Fixed an X driver RandR output source (i.e., "PRIME") bug that could cause
      a duplicate cursor to appear on such outputs.

    * Exposed EGL 1.5 in the EGL version string. This does not add
      any extra functionality to the EGL driver. All EGL 1.5 features
      were already supported through EGL 1.4 plus extensions.

    * Added support for the following GPUs:
        * GeForce RTX 2080 Ti
        * GeForce RTX 2080
        * Tesla V100-SXM2-16GB-LS
        * Tesla V100-PCIE-16GB-LS
        * Tesla V100-SXM2-32GB-LS
        * Tesla V100-SXM3-32GB

    * Added the OptiX ray tracing engine, libnvoptix.so.1, to the driver
      package.

      This library is loaded by the liboptix.so.* library bundled with
      applications that use the OptiX API.

    * Updated nvidia-installer to allow the --no-cc-version-check option to
      disable the compiler version check when installing with DKMS.

    * Added experimental support for VK_EXT_global_priority.

    * Removed support for the VK_NV_glsl_shader Vulkan extension.
      This extension was added before the Vulkan ecosystem had mature
      SPIR-V compilers and tools.  Now that the SPIR-V compilers and
      tools have advanced, Vulkan developers are encouraged to use SPIR-V
      instead of GLSL.

    * Fixed a bug that caused VDPAU-decoded H.265/HEVC content to have
      interlaced artifacts when shared with OpenGL through the
      GL_NV_vdpau_interop extension.

    * Implemented support for Vulkan real-time ray tracing extensions
      (VK_NV_raytracing). Two new libraries, libnvidia-rtcore.so and
      libnvidia-cbl.so, have been added to support the new functionality.
      These new libraries are needed by Vulkan at run-time to expose the
      new extension. If they are not found, Vulkan will continue to work
      without VK_NV_raytracing support.

    * Removed OpenGL header files from the installer package, which were
      deprecated and not installed by default since release 260.19.04, but
      could still be installed with the '--opengl-headers' option.
      If your distribution doesn't provide a package with headers, up-to-date
      headers can be found at these locations:
      https://www.khronos.org/registry/OpenGL/index_gl.php
      https://github.com/NVIDIA/libglvnd/tree/master/include/GL

======== Release 396 Entries ========

    * Added support for the following GPU:
        * Quadro P5200 with Max-Q Design
        * Quadro P4200 with Max-Q Design
        * Quadro P2000 with Max-Q Design

2018-08-21 version 396.54

2018-08-03 version 396.51

    * Added a new command line option, --override-file-type-destination, to
      nvidia-installer. This option can be used to override the destination
      of installed files by file type at installation time.

    * Added support for VK_EXT_vertex_attribute_divisor.

    * Added support for the following GPU:
        * Quadro P3200 with Max-Q Design

2018-07-19 version 396.45

    * Improved recovery of Vulkan direct-to-display applications after an
      application hang or crash.

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

    * Added support for the following GPU:
        * TITAN V JHH Special Edition

2018-05-02 version 396.24

    * Fixed a regression that caused the current MetaMode's ViewPortIn and
      ViewPortOut settings to be preserved across RandR modesets. The driver now
      clears ViewPortIn and ViewPortOut when the mode is set through RandR,
      restoring the behavior that existed prior to the regression.

    * Improved error reporting in the Vulkan driver if
      libnvidia-glvkspirv.so, the new Vulkan SPIR-V compiler added in
      396.18, cannot be found at run time.

    * Fixed performance regressions and corruption issues in the new Vulkan
      SPIR-V compiler.

    * Added support for 32-bit PCI domains throughout the NVIDIA driver stack.
      This support is required for running Linux VMs with recent versions of
      the pci_hyperv driver on top of Hyper-V.

2018-04-10 version 396.18

    * Updated the SLI Mosaic configuration page in nvidia-settings to make
      more layout configurations available, including configurations that
      do not utilize all of the available displays.

    * Added reporting of EGL information to nvidia-settings.

    * Added support for a new Vulkan SPIR-V compiler which reduces shader
      compilation time and shader system memory consumption.

      A new environment variable can be used to enable (1) (default) or
      disable (0) the new compiler if errors in existing applications
      are found:

          __GL_NextGenCompiler=<int>

      The following application profile setting with the same definition
      is also available:

          { "pattern" : [], "profile" : [ "NextGenCompiler", <int> ] }

      The old compiler is deprecated and will be removed in a future
      release.

    * Updated nvidia-installer to recognize partial libglvnd installations
      which are missing only optional libraries. This allows the installer
      to continue installation by default when libglvnd is installed without
      libOpenGL.so, as is frequently the case with distribution-provided
      libglvnd installations.

    * Improved performance of the following Vulkan APIs:
        * vkAllocateMemory()
        * vkBindBufferMemory()
        * vkBindImageMemory()

    * Fixed a bug that caused the NV_CTRL_STEREO_SWAP_MODE setting for
      quad-buffered stereo visuals to not be preserved across modesets
      or VT switches.

    * Added a new global X configuration option "AllowExternalGpus", which
      defaults to disabled, but can be enabled to allow eGPUs and other
      surprise-removable GPUs to be configured with X screens.

======== Release 390 Entries ========

2022-11-22 version 390.157

2022-08-02 version 390.154

2022-05-16 version 390.151

    * Fixed a bug that could prevent nvidia-installer from detecting the
      scripts/sign-file kernel module signing tool when using separate
      kernel source and output directories.

    * Fixed a bug which prevented kernel modules linked from precompiled
      kernel interface object files from being loaded on recent Linux
      kernels. This affected custom packages which were prepared with
      nvidia-installer's --add-this-kernel option, for example.

    * Fixed a driver installation failure on Linux kernel 5.17 release
      candidates, where the NVIDIA kernel module failed to build with error
      "implicit declaration of function 'PDE'".

2021-12-16 version 390.147

    * Worked around a bug in Meson builds of libglvnd 1.3.0 that caused the
      nvidia_icd.json file to be installed in the wrong location.

2021-07-20 version 390.144

2021-04-19 version 390.143

    * Fixed a bug where vkCreateSwapchain could cause the X Server to crash when
      an invalid imageFormat was provided.

2021-01-07 version 390.141

    * Fixed a driver installation failure on Linux kernel 5.11 release
      candidates, where the NVIDIA kernel module failed to build with error
      "fatal error: asm/kmap_types.h: No such file or directory".

    * Fixed a driver installation failure on Linux kernel 5.8 release
      candidates, where the NVIDIA kernel module failed to build with error
      "'struct mm_struct' has no member named 'mmap_sem'". 

    * Fixed a driver installation failure on Linux kernel 5.8 release
      candidates, where the NVIDIA kernel module failed to build with error
      "too many arguments to function '__vmalloc'".

2020-06-24 version 390.138

    * Fixed a driver installation failure on Linux kernel 5.6 release
      candidates, where the NVIDIA kernel module failed to build with error
      "implicit declaration of function 'timespec_to_ns'".

    * Fixed a driver installation failure on Linux kernel 5.6 release
      candidates, where the NVIDIA kernel module failed to build with error
      "implicit declaration of function 'getrawmonotonic'".

    * Fixed a driver installation failure on Linux kernel 5.6 release
      candidates, where the NVIDIA kernel module failed to build with error
      "implicit declaration of function 'getnstimeofday'".

    * Fixed a driver installation failure on Linux kernel 5.6 release
      candidates, where the NVIDIA kernel module failed to build with error
      "dereferencing pointer to incomplete type 'struct timeval'".

    * Fixed a driver installation failure on Linux kernel 5.6 release
      candidates, where the NVIDIA kernel module failed to build with error
      "implicit declaration of function 'jiffies_to_timespec'".

    * Fixed driver installation failure on Linux kernel 5.6 release candidates,
      where the NVIDIA kernel module failed to build with error "passing
      argument 4 of 'proc_create_data' from incompatible pointer type".

    * Fixed driver installation failure on Linux kernel 5.6 release candidates,
      where the NVIDIA kernel module failed to build with error "implicit
      declaration of function 'ioremap_nocache'".

    * Fixed driver installation failure on Oracle Linux 7.7 systems, where the
      NVIDIA kernel module failed to build with error "unknown type name
      'vm_fault_t'".

    * Add PRIME Synchronization support for Linux kernel 5.4 and newer.

2019-11-08 version 390.132

    * Fixed kernel module build problems with Linux kernel 5.4.0 release 
      candidates.

    * Updated nvidia-bug-report.sh to collect information about X server crashes
      from coredumpctl, when available.

2019-07-29 version 390.129

    * Improved nvidia-bug-report.sh to grab the output of the `vulkaninfo`
      command when it is available.

    * Fixed build failures which resulted in errors like "implicit declaration
      of function drm_...", when building the NVIDIA DRM kernel module for Linux
      kernel 5.0 release candidates.

    * Fixed a bug which could cause VK_KHR_external_semaphore_fd operations
      to fail.

    * Fixed a build failure, "implicit declaration of function
      'vm_insert_pfn'", when building the NVIDIA DRM kernel module for Linux
      kernel 4.20 release candidates.

    * Fixed a build failure, "unknown type name 'ipmi_user_t'", when building 
      the NVIDIA kernel module for Linux kernel 4.20 release candidates.

    * Fixed a bug that caused mode switches to fail when an SDI output board was
      connected.

    * Fixed a bug that could cause rendering corruption in Vulkan programs.

    * Added a new hook script, "pre-unload", to the nvidia-installer hook
      script system. This script, if present, will be executed before
      nvidia-installer attempts to unload existing NVIDIA kernel modules.

    * Fixed a bug that caused vkGetPhysicalDeviceDisplayPropertiesKHR() to
      occasionally return incorrect values for physicalResolution.

    * Added the synchronization state for PRIME Displays to nvidia-settings.

2018-08-27 version 390.87

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

2018-07-16 version 390.77

    * Improved compatibility with recent Linux kernels.

    * Fixed an intermittent hang of Vulkan applications running fullscreen
      when flipping is allowed.

    * Removed informational messages that were printed by nvidia-modeset.ko
      whenever a GPU device was allocated or freed.

    * Fixed a bug that caused kwin OpenGL compositing to crash when
      launching certain OpenGL applications.

2018-06-05 version 390.67

    * Fixed a bug that could cause kernel panics when using Quadro SDI
      Capture hardware.

    * Fixed an intermittent crash when launching Vulkan applications.

    * Fixed an intermittent crash when launching applications through Wine.

    * Fixed a bug that caused the driver, in some low bandwidth DisplayPort
      configurations, to not implicitly enable display dithering.  This
      resulted in visible banding.

2018-05-16 version 390.59

    * Fixed intermittent hangs of fullscreen Vulkan applications when focused
      away (e.g., by using the alt-tab key combination) on non-composited
      desktops.

    * Added support for the following GPUs:
        * GeForce GTX 1050 with Max-Q Design
        * Tesla V100-FHHL-16GB
        * Quadro P3200
        * Quadro P4200

2018-03-28 version 390.48

    * Added support for the following GPUs:
        * Quadro GV100
        * Tesla V100-SXM2-32GB
        * Tesla V100-PCIE-32GB
        * Tesla V100-DGXS-32GB

    * Updated the driver to prevent G-SYNC from being enabled when a
      Quadro Sync board is installed. G-SYNC and Quadro Sync were always
      mutually incompatible features, and this change makes it easier to
      use G-SYNC capable monitors on Quadro Sync configurations, as it is
      now no longer necessary to manually disable G-SYNC.

    * Further improved the fix for occasional flicker when using the X
      driver's composition pipeline.  This was mostly fixed in 390.42,
      but now the fix should be more complete.

2018-03-12 version 390.42

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

    * Fixed a regression introduced in 390.12 that prevented displays from
      working normally when running multiple X screens with emulated overlays.

    * Added support for the following GPUs:
        * GeForce GTX 1060 5GB
        * Quadro P620

    * Fixed a regression introduced in 390.12 that caused occasional hangs and
      hard lockup messages in the system log when screen transformations are in
      use.

2018-01-04 version 390.12

    * Added new application profile settings, "EGLVisibleDGPUDevices" and
      "EGLVisibleTegraDevices", to control which discrete and Tegra GPU
      devices, respectively, may be enumerated by EGL. See the "Application
      Profiles" appendix of the driver README for more details.

    * Corrected the SONAME of the copy of the libnvidia-egl-wayland library
      included in the .run installer package to libnvidia-egl-wayland.so.1.
      The SONAME had previously been versioned incorrectly with the full
      version number of the library.

    * Updated nvidia.ko to veto the ACPI_VIDEO_NOTIFY_PROBE event on
      kernels that allow the handler for this event to be overridden,
      to improve interaction between the NVIDIA driver and acpi_video
      on display hotplug events.

    * Updated the SLI Mosaic layout page in the nvidia-settings control
      panel to support topologies with up to 32 displays.

    * Fixed a bug that prevented Xinerama Info from being handled properly
      in SLI or Base Mosaic layouts with more than 24 displays.

    * Updated the X driver's composition pipeline (used for rotation,
      warp and blend, transformation matrices, etc) to also support stereo.

    * Added an OpenGL stereo preview feature to the screen page in
      nvidia-settings.

    * Fixed a bug where GetTexSubImage() would read incorrect data into
      a pixel buffer object when supplied with a target of
      GL_TEXTURE_1D_ARRAY and a non-zero yoffset value.

    * Added support for generic active stereo with in-band DisplayPort
      signaling. The X configuration option "InbandStereoSignaling" is
      deprecated in favor of this stereo mode. See "Appendix B. X Config
      Options" in the README for more information.

    * Modified the driver to avoid restoring framebuffer console modes
      on virtual reality head-mounted displays.

======== Release 387 Entries ========

    * Added support for the following GPUs:
        * TITAN Xp COLLECTORS EDITION
        * GeForce GTX 1070 Ti
        * TITAN V

    * Fixed a bug that could cause a system crash when using the new
      NVreg_EnableBacklightHandler kernel module parameter on GPUs with no
      displays connected.

    * Fixed a bug that caused Vulkan X11 swapchains to fail on GPUs without a
      display engine, such as some Tesla-branded graphics cards and some Optimus
      laptops.

    * Fixed a bug that caused fullscreen Vulkan applications to hang on some
      Kepler GPUs, such as the GeForce GTX 680.

    * Fixed a bug where the G-SYNC indicator was reporting "normal" instead
      of "G-SYNC" on Vulkan applications when G-SYNC was enabled.

2017-10-30 version 387.22

    * Fixed a regression that could cause driver errors when setting modes
      that include DisplayPort Multi-Stream Transport devices.

    * Added an nvidia.ko kernel module parameter, NVreg_EnableBacklightHandler,
      which can be used to enable experimental handling of laptop backlight
      brightness through /sys/class/backlight/. This handler overrides the
      ACPI-based one provided by the video.ko kernel module.

      NVreg_EnableBacklightHandler is disabled by default.

    * Added G-SYNC to all supported Vulkan swapchains for Maxwell and up.
      G-SYNC is enabled by default when using G-SYNC-ready monitors.  For
      direct-to-display swapchains, an application profile with "GLGSYNCAllowed"
      setting set to 'false' can be used to disable this feature:

        {
          "rules" : [
            { "pattern" : [], "profile" : [ "GLGSYNCAllowed", false ] }
          ]
        }

2017-10-03 version 387.12

    * Fixed a regression that caused some display connectors on some GPUs to not
      report a connected HDMI or DisplayPort audio device even if the connected
      monitor supports audio.

    * Fixed a bug that sometimes prevented the "Reset Default Configuration"
      button in the nvidia-settings "ECC Settings" page from being available
      when the ECC configuration is set to a non-default state.

    * Fixed a bug that caused nvidia-settings to enforce overly aggressive
      limits on display positions in the "X Server Display Configuration"
      page under some circumstances.

    * Fixed a bug that could cause the "Enable Base Mosaic (Surround)"
      checkbox in nvidia-settings to disappear when an X screen, rather than
      a display, is selected in the "X Server Display Configuration" page.

    * Fixed a race condition that could lead to crashes when OpenGL programs
      manipulated vertex buffer objects from multiple threads simultaneously.

    * Fixed a bug that caused the nvidia-settings control panel to retain
      some settings that had been applied, but not confirmed. This resulted
      in unwanted settings being applied to subsequent settings changes.

    * Improved performance of fullscreen Vulkan applications using X11
      swapchains.  This optimization will cause more events that trigger
      an out-of-date swapchain, such as when entering or leaving
      fullscreen mode.  (This is commonly encountered when using the
      alt-tab key combination, for example.)   Applications that do not
      properly respond to the VK_ERROR_OUT_OF_DATE_KHR return code may
      not function properly when these events occur.  See section 30.8
      of the Vulkan specification.

    * Added support for YUV 4:2:0 compression for monitors connected via
      DisplayPort in configurations where either the display or GPU is
      incapable of driving the current mode in RGB 4:4:4.  See the
      description in the "Programming Modes" appendix for details.

    * Added framebuffer console hot plug handling to nvidia-modeset.

      Note that hot plugging is only handled when nvidia-modeset is initialized;
      for example, when Xorg or nvidia-persistenced is running or when
      nvidia-drm is loaded with the "modeset=1" parameter.

    * Added an "AllowGSYNC" MetaMode attribute that can be used to disable
      G-SYNC completely. This can be use to allow enabling features that are
      incompatible with G-SYNC, such as Ultra Low Motion Blur or Frame Lock.

    * Fixed several problems that prevented the "cc_version_check" sanity
      test from running correctly when building the NVIDIA kernel modules.
      As these problems would have masked mismatches between the compiler
      versions used to build the kernel and the NVIDIA kernel modules for
      an extended period of time, nvidia-installer has been updated to
      ignore CC version mismatches by default when they are detected.

    * Updated nvidia-installer to use the init_module syscall directly to
      test load kernel modules instead of libkmod/insmod. This removes
      libkmod as a build dependency of nvidia-installer, and insmod as
      a run-time dependency.

    * Tiled monitors formerly resulted in a separate Xinerama screen being
      reported for each tile. They will now, by default, be combined into a
      single large Xinerama screen.

    * The individual panels in a tiled monitor will now be arranged based
      on the layout information provided in the monitor's EDID. This can be
      overridden by either manually specifying offsets or using the
      "MetaModeOrientation" option.

    * Disabled interlaced modes over DisplayPort by default due to incomplete
      support in the GPU. Added "AllowDpInterlaced" mode validation token to
      override this default behavior and allow interlaced modes over
      DisplayPort protocol anyway.

======== Release 384 Entries ========

2018-03-28 version 384.130

    * Improved compatibility with recent Linux kernels.

    * Fixed a string concatenation bug that caused libGL to accidentally try to
      create the directory "$HOME.nv" rather than "$HOME/.nv" in some cases
      where /tmp isn't accessible.

    * Increased the version numbers of the GLVND libGL, libGLESv1_CM,
      libGLESv2, and libEGL libraries, to prevent concurrently installed
      non-GLVND libraries from taking precedence in the dynamic linker
      cache.

2018-01-04 version 384.111

    * Added support for the following GPUs:
        * GeForce MX130
        * GeForce MX110
        * GeForce GTX 1050 Ti with Max-Q Design
        * Quadro P500

    * Fixed a regression that prevented displays connected via some types of
      passive adapters (e.g. DMS-59 to VGA or DVI) from working correctly.
      The regression was introduced with driver version 384.98.

    * Fixed a bug that caused Quadro M2200 GPUs to enter the lowest available
      PowerMizer performance level when under load.

2017-11-02 version 384.98

    * Added support for the following GPUs:
        * P104-101
        * P106-090
        * Tesla V100-SXM2-16GB
        * Tesla V100-PCIE-16GB

    * Fixed a bug that could cause some eDP G-SYNC displays to flicker at low
      refresh rates.

    * Fixed a bug that could cause OpenGL applications to crash after a
      prolonged DPMS sleep state on a monitor driven with PRIME Sync.

    * Fixed a bug that artificially limited the maximum pixel clock to 300 MHz
      when using certain more capable DisplayPort to HDMI adapters.

    * Fixed a bug that prevented the NVIDIA kernel modules from building for
      non-SMP Linux kernels.

    * Updated the output of `nvidia-smi nvlink --status` to include reporting
      NVLink speed.

    * Fixed a bug that caused incorrect PCI topology reporting in nvidia-smi
      on Intel Skylake systems.

2017-09-21 version 384.90

    * Fixed a regression that caused display flickering at lower PowerMizer
      performance levels on some GPUs.

    * Fixed a regression that prevented console restoration after a VT switch
      on some GPUs.

    * Fixed a bug that could cause a system hang when resuming from suspend
      with some GPUs.

    * Fixed a bug that caused slow or stuttering frame rates in applications
      that use GLX_EXT_swap_control_tear while G-SYNC is active.

    * Added support for the following GPU:
        * Quadro P5200

    * Fixed a bug in the NVIDIA VDPAU driver that caused
      VdpVideoSurfaceGetBitsYCbCr() of H.265/HEVC content to have interlaced
      artifacts.

    * Fixed a bug that caused the X driver to not correctly report the
      "BlendOrder" MetaMode token when querying the MetaMode through, e.g.,
      `nvidia-settings --query CurrentMetaMode`.

    * Fixed a bug that prevented nvidia-installer from displaying a
      targeted error message when optional kernel modules fail to load.

2017-08-18 version 384.69

    * Fixed an intermittent hang when using Vulkan to present directly to
      display with the VK_KHR_display extension.  SteamVR was particularly
      affected by that hang.

    * Added support for the following GPU:
        * Quadro P4000 with Max-Q Design

2017-07-24 version 384.59

    * Added support for the following GPUs:
        * GeForce GT 1030
        * GeForce MX150
        * P104-100
        * P106-100

    * Fixed a bug that prevented changes to stereo eye assignment from
      getting applied from the nvidia-settings control panel.

    * Fixed a bug that caused S4 suspend (also known as "hibernate") to hang
      during suspend when SLI was enabled.

    * Fixed a bug where devices would not be properly enumerated by
      the Vulkan driver.  See the "Known Issues" section of the README
      for more details.

2017-06-29 version 384.47

    * Fixed a bug that could cause OpenGL applications to crash after
      calling glDeleteBuffers on VBOs that have been remapped with
      ARB_vertex_attrib_binding.

    * Fixed a bug that could sometimes cause OpenGL applications to
      lock up until the X server receives input.

    * Fixed a bug that caused nvidia-settings to drop device BusID
      values when making changes to an existing X configuration file.

    * Fixed a regression that prevented nvidia-xconfig from querying
      some GPUs, e.g. when running `nvidia-xconfig -a`.

    * Fixed a bug that caused VDPAU playback to be corrupted when
      extended to coordinates beyond 16384 pixels.

    * Updated nvidia-persistenced to initialize nvidia-modeset.ko in
      addition to nvidia.ko when setting persistence mode.

    * Restored several sanity checks that were inadvertently removed from
      the kernel module build process in the 355.06 driver.

    * Added support for a "Nearest" transform filter in the X driver.
      This causes the X driver to use nearest neighbor filtering when
      performing screen transformations.  The filter can be requested
      through the 'filter' argument to RandR's RRSetCrtcTransform,
      or through the 'ResamplingMethod' MetaMode token.

    * Fixed a bug where nvidia-installer would install a wrong version
      of the Vulkan ICD configuration file when GLVND is disabled for
      the GLX client.

======== Release 381 Entries ========

    * Disabled OpenGL threaded optimizations by default, as they were causing
    * regressions in some cases. Refer to the README for information on how to
    * enable these optimizations on a per-application basis.

2017-05-09 version 381.22

    * Fixed a bug that caused the GLX_EXT_buffer_age buffer age extension to
      return incorrect values for stereo drawables when using passive stereo
      modes 5 through 9.

    * Fixed a bug in Vulkan direct to display where DP1.2 monitors were not
      being enumerated.

2017-04-06 version 381.09

    * Improved compatibility with recent kernels.

    * Fixed a bug that caused "nvidia-settings --query all" to print many
      duplicate entries.

    * Fixed a bug that caused applications to crash in some situations when
      calling glXMakeCurrent while OpenGL threaded optimizations were enabled.

      This frequently occurred when Steam was attempting to make a video appear
      full-screen.

    * Fixed a bug that caused VDPAU applications to use the blit presentation
      queue when a previous VDPAU application didn't shut down cleanly.

    * Fixed hangs and crashes that could occur when an OpenGL context is created
      while the system is out of available memory.

    * Fixed a bug that caused corruption when OpenGL windows were moved or
      resized.

    * Fixed a bug that caused X screens that use Option "UseDisplayDevice"
      "none" to be resized to 640x480 when using "xrandr -s" to change the
      screen configuration.

    * Fixed a kernel crash that occurred when attempting to map large user
      memory allocations into CUDA.

    * Disabled OpenGL threaded optimizations by default, initially
      enabled in 378.09, due to various reports of instability.

    * Added support for the following Vulkan extensions:
        * VK_EXT_acquire_xlib_display
        * VK_EXT_display_control
        * VK_EXT_display_surface_counter
        * VK_EXT_direct_mode_display
        * VK_KHX_external_memory
        * VK_KHX_external_memory_fd
        * VK_KHX_external_semaphore
        * VK_KHX_external_semaphore_fd
      These extensions require a Vulkan loader version >= 1.0.42.

    * Removed the X driver's logo splash screen and the corresponding NoLogo
      and LogoPath xorg.conf options.

    * Added the "ResamplingMethod" MetaMode option, adding support for
      bicubic resampling methods when scaling screen transformations
      are in use.  See the README for more details.

======== Release 378 Entries ========

2017-02-14 version 378.13

    * Disabled OpenGL threaded optimizations by default under Xinerama.

2017-01-18 version 378.09

    * Added support for the ARB_parallel_shader_compile extension to allow
      multi-threaded compilation of GLSL shaders.

    * Updated the X driver to ignore any Virtual Reality Head Mounted
      Displays (HMDs).  See the "AllowHMD" X configuration option in the
      README for details.

    * The driver will now advertise GLX FBConfigs with no depth bits on depth 30
      X screens.

    * Added support in nvidia-settings to view configured PRIME displays. To
      enable PRIME displays, see "Offloading Graphics Display with RandR 1.4"
      in the README.

    * Added infrastructure which enables the NVIDIA EGL driver to load EGL external
      platform libraries that add client-side support for new window systems, beyond
      the existing libnvidia-egl-wayland.so.1. For more details, see:
        - https://github.com/NVIDIA/eglexternalplatform
        - https://github.com/NVIDIA/egl-wayland

    * Added support for the following Vulkan extensions:
        * VK_KHR_display
        * VK_KHR_display_swapchain

    * Enabled OpenGL threaded optimizations by default in the driver. Refer to
      the "Threaded Optimizations" section in the "Specifying OpenGL Environment
      Variable Settings" chapter of the README for details.  These optimizations
      will self-disable when they are degrading performance.  As a result,
      performance should be unchanged for many applications, and increased for
      those that benefit from threaded optimizations and were not already
      forcing them enabled.

======== Release 375 Entries ========

    * Disabled G-SYNC in desktop environments, such as Budgie, that use
      libmutter-0.so.

      An existing rule to disable G-SYNC for libmutter.so no longer applied
      after the library was renamed to libmutter-0.so.

2017-07-24 version 375.82

    * Fix a bug with GLX_EXT_buffer_age where incorrect buffer age values
      would be reported for SLI AFR configurations. In such configurations
      buffer age may now be greater than 3, the previous maximum buffer age.

    * Fixed a bug that could cause hanging and Xids when performing RandR
      transforms with Overlay and SLI enabled.

    * Extended the information reported by the NVIDIA Xinerama X extension to
      report PRIME displays in addition to directly-connected displays.

    * Fixed a bug that caused HDMI audio devices to appear or disappear
      inconsistently when HDMI devices were hotplugged or unplugged.

    * Fixed a bug that could cause driver errors when setting modes on X
      screens running at Depth 8 or Depth 15.

    * Added support for the following GPUs:
        * GeForce GTX 1080 with Max-Q Design
        * GeForce GTX 1070 with Max-Q Design
        * GeForce GTX 1060 with Max-Q Design

    * Fixed a bug that could cause intermittent kernel panics when running with
      PRIME Sync.

    * Fixed a bug that caused a kernel panic when hotplugging HDMI displays
      on some Zotac mini PCs.

2017-05-04 version 375.66

    * Fixed a bug that could cause EGL applications to crash when
      calling eglInitialize() multiple times on X11-backed displays.

    * Fixed a regression that could cause rendering corruption on a
      monitor connected via DisplayPort upon a modeset event (for
      example, changing resolutions or power cycling the monitor).

    * Updated the display configuration page in the nvidia-settings
      control panel to accurately reflect HDMI 3D refresh rates.

    * Fixed a bug that could cause OpenGL applications to crash when
      VT switching between multiple X servers.

    * Fixed a bug that caused the system to become unresponsive after
      resuming from power management suspend/hibernate.  Additional
      symptoms of this bug included display flickering and "Xid 56"
      errors in the kernel log.

    * Fixed a bug that caused backlight brightness to not be controllable
      on some notebooks with DisplayPort internal panels.

    * Added support for the following GPUs:
        * GeForce GTX 1080 Ti
        * Quadro M520
        * TITAN Xp

    * Fixed a bug that left HDMI and DisplayPort audio muted after a framebuffer
      console mode was restored. For some displays, this caused the display to
      remain blank.

    * Fixed a bug that caused audio over DisplayPort to stop working when the
      monitor was unplugged and plugged back in or woken from DPMS power-saving
      mode.

    * Restored support for the following GPU:
        * GRID K520

    * Fixed a regression that caused corruption in certain applications, such as
      window border shadows in Unity, after resuming from suspend.

    * Added support for the following GPU:
        * Quadro P3000

    * Installation of the nvidia-drm kernel module is now optional. The new
      '--no-drm' option can be used to prevent nvidia-installer from building
      and installing nvidia-drm, on systems where this kernel module fails to
      build and/or load.

    * Fixed a bug that could cause some applications to crash when
      running with PRIME Sync.

    * Fixed a bug that prevented PRIME Sync from working on notebooks
      with GeForce GTX 4xx and 5xx series GPUs.

    * Fixed a bug that caused OpenGL applications to have excessive CPU usage
      when running with PRIME Sync but without native displays enabled.

    * Fixed a bug that could cause PRIME Sync to deadlock in the kernel,
      particularly common on Linux 4.10.

    * Fixed a bug that caused PRIME Sync to run slowly on systems with Pascal
      GPUs.

2017-02-14 version 375.39

    * Fixed a bug that caused system hangs when resuming from suspend with
      some GPUs.

    * Fixed a regression that could cause corruption when hot-plugging
      displays.

    * Fixed a regression that prevented systems with multiple DisplayPort
      monitors from resuming correctly from suspend.

    * Added support for the following GPU(s):
        * Quadro GP100
        * Quadro P4000
        * Quadro P2000
        * Quadro P1000
        * Quadro P600
        * Quadro P400
        * Quadro M1200
        * Quadro M2200

2016-12-14 version 375.26

    * Fixed a regression that prevented the backlight on some notebook
      computer displays from turning back on after being shut off.

    * Fixed a regression that prevented the console from being restored
      properly when using SLI.

    * Fixed a bug that caused installer manifest entries for some 32-bit
      compatibility libraries to be duplicated in the installer package.
      These entries led nvidia-installer to issue warning messages when
      installing the 32-bit compatibility libraries, for example:
      'Cannot create symlink /usr/lib/libEGL.so (File exists)'.

    * Fixed a regression that could cause the nvidia-settings control panel
      to crash on startup with certain GPU configurations.

    * Fixed a regression that prevented the GLX_NV_swap_group extension from
      working when using SLI or Quadro Sync.

    * Fixed a long-standing bug that caused the NVIDIA X driver to not
      correctly detect AC/battery hotplug events on notebooks.

    * Added support for the following GPU(s):
        * Quadro M3000 SE

    * Fixed an interaction problem between the Linux kernel's
      CONFIG_HARDENED_USERCOPY feature (new in Linux kernel 4.8)
      and nvidia-drm.ko with modeset=1 enabled.  This problem caused
      CONFIG_HARDENED_USERCOPY to erroneously halt the system, issuing
      reports of the form:

        usercopy: kernel memory overwrite attempt detected to ffff8803e8ec7ce0 (<process stack>) (8 bytes)

2016-11-18 version 375.20

    * Fixed a bug that could cause displays in SLI Mosaic to blank when
      applying a transformation matrix.

    * Added EGL support to the GL Vendor Neutral Dispatch Library (libGLVND).
      The installer package now includes both GLVND and non-GLVND versions of
      the EGL libraries: the --glvnd-egl-client and --no-glvnd-egl-client
      options in nvidia-installer can be used to select which to install.

    * Added support for the following GPUs:
        * GeForce GTX 1050
        * GeForce GTX 1050 Ti
        * Quadro M620
        * Quadro M5000 SE
        * Tesla P100-PCIE-12GB
        * Tesla P100-PCIE-16GB
        * Tesla P100-SXM2-16GB
        * Tesla P4

    * Fixed a bug that prevented G-SYNC from working on notebook displays.

    * Fixed a bug that caused DisplayPort multi-stream devices to go blank after
      the console is restored.

    * Fixed a bug that caused a kernel crash when starting X for the second time
      when more than one DisplayPort multi-stream device is connected to a
      single DisplayPort connector via a branch device.

    * Updated nvidia-settings to not have a build-time dependence on
      an external NVML development package (a regression introduced in
      375.10).

    * Fixed a crash in nvidia-settings when adding Application Profile Rule and
      Profile entries.

    * Removed the "Enable Tooltip" option in nvidia-settings for the GTK 2
      interface.

2016-10-20 version 375.10

    * Added new X configuration options:
        ForceCompositionPipeline
        ForceFullCompositionPipeline
      which override the MetaMode tokens with the same names.

    * Fixed a bug that caused issues with panning and cursor constraining when
      mixing PRIME-driven displays with natively driven displays.

    * Fixed a bug that caused long delays when leaving the VT or disabling a
      display device while an OpenGL application is running.

    * Improved console restore behavior on systems that use the UEFI Graphics
      Output Protocol, and most vesafb modes.

    * Added support for the RandR TILE property added in RandR 1.5.

    * Raised the on-disk OpenGL shader cache size from 64MB to 128MB. Refer to
      the "Specifying OpenGL Environment Variable Settings" section of the
      driver README for details on how to select its location or disable it.

======== Release 370 Entries ========

2016-09-08 version 370.28

    * Improved compatibility with recent Linux kernels.

    * Fixed undefined symbol references in libnvidia-glcore.so.

    * Fixed a potential hang in Vulkan applications such as vkQuake and DOTA2
      that use vkFences for present synchronization.

    * Fixed a bug that caused the driver to not set HDMI YUV 420 4K
      modes correctly on some TVs, such as the VIZIO D40u-D1.

    * Updated CurrentMetaMode reporting via the NV-CONTROL API to reflect
      whether ForceCompositionPipeline or ForceFullCompositionPipeline are
      set in the current MetaMode.

2016-08-15 version 370.23

    * Added the ability to over- and under-clock certain GeForce
      GPUs in the GeForce GTX 1000 series and later.  For GPUs that allow it,
      an offset can be applied to clock values in some clock domains of
      all performance levels.  This clock manipulation is done at the
      user's own risk.  See the README documentation of the "CoolBits"
      X configuration option for more details.

    * Implemented initial support for PRIME Synchronization to synchronize
      flipping between an NVIDIA PRIME display source and a separate PRIME
      display sink. This support is experimental and currently requires a
      pre-release X.org X server.

    * Fixed a bug that prevented Vulkan applications from presenting from
      multiple queues to the same X11 swapchain.

    * Added the "PixelShiftMode" MetaMode option, enabling support for 4K and
      8K pixel shift displays.  See the README for details.

======== Release 367 Entries ========

    * Added a new kernel module parameter, NVreg_RestrictProfilingToAdminUsers,
      to allow restricting the use of GPU performance counters to system
      administrators only.

    * Updated the OpenGL driver to allow the use of integer format (SINT/UINT)
      color attachments with depth attachments in Frame Buffer Objects.

    * Fixed a bug in synchronization primitives shared between X and OpenGL.

2016-10-10 version 367.57

    * Fixed a bug that could prevent systems with GPUs configured in SLI from
      resuming correctly from ACPI S3/S4 sleep/hibernate states.

    * Added support for the following GPUs:
        * Quadro P6000
        * Tesla P40
        * Quadro P5000

    * Added support for NVIDIA 3D Vision 2 Stereo on Linux. This IR emitter can
      be used with stereo mode "10" set in the X configuration file.

    * Fixed a bug in nvidia-persistenced that caused it to incorrectly delete
      the PID file if a second instance of the daemon is started.

2016-08-23 version 367.44

    * Fixed a regression that caused applications using indirect GLX
      to crash.

    * Added support for the following GPUs:
        * TITAN X (Pascal)
        * GeForce GTX 1060 6GB
        * GeForce GTX 1060 3GB

    * Fixed a regression introduced in 367.35 that caused the first
      modeset of the X server to display blank if the features requested
      in the X configuration file enabled the X driver's composition
      pipeline.  This would be triggered, e.g., by MetaMode tokens
      such as ForceCompositionPipeline, ForceFullCompositionPipeline,
      Rotation, Reflection, and Transform.

2016-07-15 version 367.35

    * Fixed a regression that could cause console corruption when resuming
      from suspend.

    * Improved buffer write performance of the nvidia-drm DRM KMS driver by
      using write-combined DRM Dumb Buffers where available.

    * Fixed a bug that caused X to crash when applying changes to the RandR
      CscMatrix property while VT-switched away from X.

    * Fixed a bug that caused a crash when exiting nvidia-settings on displays
      with 8 or 15 bit color depths.

2016-06-13 version 367.27

    * Added support for VDPAU Feature Set H to the NVIDIA VDPAU driver.
      GPUs with VDPAU Feature Set H are capable of hardware-accelerated
      decoding of 8192x8192 (8k) H.265/HEVC video streams.

    * Added support for the following GPUs:
        * GeForce GTX 1080
        * GeForce GTX 1070

    * Fixed a bug that caused the X server to sometimes skip displaying Vulkan
      frames when the Composite extension is enabled.

2016-05-19 version 367.18

    * Fixed a bug that would cause OpenGL applications to crash when creating
      a context on one X display connection, then making it current with no
      associated drawable on another X display connection.  This fixes a crash
      when starting some versions of MATLAB.

    * Fixed OpenGL presentation to SDI through the GLX_NV_video_out and
      GLX_NV_present_video extensions, which was broken by the introduction
      of the nvidia-modeset kernel module in 358.09.

    * Fixed a bug that caused an incorrect offset to be applied when using
      the full composition pipeline on a display whose image has both a
      rotation and a ViewportOut offset applied.

    * Fixed a bug that could cause nvidia-settings to crash on some systems
      when responding to events such as hotplugging DisplayPort devices.

    * Fixed a bug that could cause crashes in OpenGL applications which use
      glTextureView() with a non-zero minimum level.

    * Enhanced the Display Device information page in nvidia-settings with
      additional information for DisplayPort devices to reflect attributes
      which are specific to DisplayPort connections.

    * Fixed a bug which could cause deleted application profiles to appear
      when editing rules in the nvidia-settings control panel.

    * Fixed a bug that caused hangs when a G-SYNC monitor is unplugged and a
      non-G-SYNC monitor is connected while G-SYNC is active.

    * Fixed a bug that caused "nvidia-modeset: ERROR: GPU:0: Activating G-SYNC
      failed" to be printed to the system log if a G-SYNC monitor is connected
      and stereo is enabled in xorg.conf on a configuration that doesn't support
      it.

    * Added the NV_robustness_video_memory_purge OpenGL extension, which
      allows applications to know when a mode switching or power event
      purged the contents of FBOs and buffer objects residing in video memory.

    * Fixed a bug that prevented HDMI 2.0 4K monitors from waking up
      from sleep or hot-re-plug.

======== Release 364 Entries ========

2016-04-22 version 364.19

    * Fixed some locking issues in libnvidia-egl-wayland.so.

    * Fixed several libnvidia-egl-wayland.so interaction problems with
      buffer management Wayland protocols.

2016-04-06 version 364.15

    * Fixed several EGL driver interaction problems with resizing windows
      in Wayland.

    * Fixed a bug that caused some DRM PRIME configurations to fail when
      DRM KMS was enabled (i.e., nvidia-drm.ko's modeset kernel module
      parameter was set to "1").

    * Fixed a bug that could cause a kernel crash when VDPAU was used
      while DRM KMS was enabled.

2016-03-21 version 364.12

    * Changed the default OpenGL installation type to use the GLVND GLX
      client libraries rather than the legacy non-GLVND libraries.

    * Added initial support for Direct Rendering Manager Kernel
      Modesetting (DRM KMS).  See the DRM KMS section of the README for
      details.

    * Added a new kernel module, nvidia-drm.ko, which registers as a DRM
      driver with both PRIME and DRM KMS support.

    * Added support for the following EGL extensions:

        EGL_EXT_platform_wayland

      to enable Wayland applications to run on NVIDIA's EGL implementation,

        EGL_WL_bind_wayland_display

      to enable Wayland compositors to run on NVIDIA's EGL implementation, and

        EGL_EXT_device_drm
        EGL_EXT_output_drm
        EGL_EXT_stream_consumer_egloutput

      to enable Mir and Wayland compositors to display their content
      through EGLDevice, EGLOutput, and EGLStreams.

    * Added a Wayland platform library, libnvidia-egl-wayland.so, to allow
      Wayland compositors that support EGLDevice, EGLOutput, and EGLStreams
      to share EGL buffers with Wayland applications.

    * Fixed a bug that could cause incorrect frame rate reporting on Quadro
      Sync configurations with multiple GPUs.

    * Added support for the Vulkan API version 1.0.

    * Improved X colormap precision from 8 significant bits to 11 on GeForce
      GPUs.  Quadro GPUs already used 11 bits of precision.

    * Added a new RandR property, CscMatrix, which specifies a 3x4 color-space
      conversion matrix.  The matrix is applied after the X colormap and before
      the gamma ramp.  This property is available on GF119 and newer GPUs.

    * Improved handling of the X gamma ramp on GF119 and newer GPUs.  On these
      GPUs, the RandR gamma ramp is always 1024 entries and now applies to the
      cursor and VDPAU or workstation overlays in addition to the X root window.

    * Reworked how the NVIDIA driver registers with the Linux
      kernel's DRM subsystem for PRIME support.  As a result, PRIME
      support requires Linux kernel version 3.13 or newer (previously,
      PRIME support required Linux kernel version 3.10 or newer).

    * Improved the interactivity of applications that use a hardware cursor
      while G-SYNC is active.

======== Release 361 Entries ========

    * Fixed a bug that could cause OpenGL applications to leak open file
      descriptors under some circumstances.

    * Fixed a crash in the OpenGL and OpenGL ES drivers in situations where
      some of the NVIDIA device nodes were not accessible.

    * Fixed a crash when querying the CUDA device handle of an EGLDevice in
      a system with multiple GPUs when the NVIDIA UVM device node or kernel
      module was not accessible.

    * Changed the behavior of nvidia-persistenced to enable persistence mode
      by default for all GPUs when the daemon is started.

    * Added support for querying clock values on Pascal GPUs.

    * Removed the Base Mosaic configuration option from nvidia-settings on
      systems where the feature is not actually supported.

    * Fixed a bug that caused nvidia-smi to report an inaccurate version
      number.

    * Fixed a bug that could lead to a system crash if there was a peer-to-peer 
      mapping still active during CUDA context teardown.

2016-05-24 version 361.45.11

    * Fixed a bug that sometimes prevented flipping from being enabled on
      systems with multiple displays.

    * Fixed a bug that could cause applications to crash when using the 
      EGL_EXT_platform_device extension on a system with multiple GPUs.

    * Fixed a bug that could cause nvidia-installer's runtime loader test
      to fail spuriously on some systems.

    * The NVIDIA Unified Virtual Memory kernel module, nvidia-uvm.ko, now
      has a minimum kernel requirement of Linux 2.6.32. On older kernel
      versions, nvidia-uvm.ko will be compiled as a stub kernel module
      which does not provide any functionality.

    * Added support for the following GPUs:
        * Tesla M40 24GB
        * Quadro M5500
        * Quadro M2000

    * Updated the libglvnd snapshot included in the NVIDIA driver
      package to libglvnd commit b7d75429677eecc00c3701aaa4deac1304bc51ff.
      This contains a new revision of the libglvnd ABI. The driver is not
      compatible with a libglvnd older than commit
      c5bcda3b848fe52d6ae6ef25c917431c06d62d27.

2016-03-30 version 361.42

    * Limited the default concurrency level in nvidia-settings to 32, to
      avoid hitting the maximum tasks limit on systems with many CPUs.

    * Added support for the following GPUs:
        * GeForce 920MX
        * GeForce 930MX
        * Quadro M6000 24GB

    * Fixed a regression that caused GPU exceptions and incorrect rendering
      when using pbuffers with EGLDevice.

    * Fixed a bug that caused nvidia-settings to crash when pairing glasses
      with the 3D Vision Pro transmitter on some systems.

    * Fixed a bug that caused installer manifest entries for some 32-bit
      compatibility libraries to be duplicated in the installer package.

    * Fixed a regression that caused the HSync and VSync mode timing polarity
      flags to be inverted.

2016-02-09 version 361.28

    * Added support for the following GPU:
        * GeForce 945A

    * Added a legacy, non-GLVND libGL.so GLX client library to the NVIDIA
      Linux driver installer package, and the ability to select between a
      GLVND or non-GLVND GLX client library at installation time. This
      allows users to install the legacy non-GLVND GLX client library in
      order to work around compatibility issues which may arise due to GLX
      applications which depend upon behaviors of the NVIDIA GLX client
      driver which are not defined by the Linux OpenGL ABI version 1.0.

      By default, nvidia-installer will install the legacy, non-GLVND GLX
      client libraries. The --glvnd-glx-client command line option can be
      used to override the default, and install the GLVND GLX client
      libraries instead. Please contact the vendors of any applications
      that are not compatible with GLVND to ensure that their applications
      be updated for compatibility with GLVND.

      The presence of multiple GLX client libraries in the package has
      implications for repackagers of the NVIDIA driver; see the libGL.so
      entry in the "Installed Components" chapter of the README for details.

2016-01-13 version 361.18

2016-01-05 version 361.16

    * The OpenGL Vendor-Neutral Driver (GLVND) infrastructure is now included
      and supported by the NVIDIA GLX and OpenGL drivers.  This should not
      cause any visible changes in behavior for end users, but some internal
      driver component libraries have been renamed and/or moved as a result.
      These changes may affect scripts that rely on the presence of NVIDIA
      OpenGL driver components other than those specified in the Linux OpenGL
      ABI version 1.0, maintainers of alternative NVIDIA driver installation
      packages, and applications which rely on the presence of any non-
      OpenGL/GLX symbols in the libGL.so.1 library and its dependencies in
      any way.

      Please see:
      
        https://github.com/NVIDIA/libglvnd

      For more information on the GLVND project.

      The Linux OpenGL ABI version 1.0 specification is available at:

        https://www.opengl.org/registry/ABI

    * Updated nvidia-installer to run ldconfig(8) and depmod(8) after
      uninstalling an existing driver, instead of only running these two
      commands when installing a new driver.

    * Removed the VDPAU wrapper and trace libraries libvdpau.so.1 and
      libvdpau_trace.so.1 from the driver package.  These libraries may be
      available via your distribution's package management system, or can be
      compiled from the sources available at:

        http://people.freedesktop.org/~aplattner/vdpau/

      Please see

        http://freedesktop.org/wiki/Software/VDPAU/

      for more information.

======== Release 358 Entries ========

    * Fixed a regression, introduced in 358.09, that caused incorrect
      rendering of OpenGL stereo applications in combination with
      Quadro Sync on certain GPUs.

    * Fixed a regression, introduced in 358.09, that caused OpenGL
      stereo applications to hang when SLI AFR, SFR, or SLIAA modes
      were enabled.

    * Fixed a regression, introduced in 358.09, that caused the
      system to hang while launching OpenGL applications when some SLI
      Mosaic topologies were in use.

    * Fixed a bug that could cause some G-SYNC monitors to flicker on
      Kepler-based GPUs when running at low frame rates.

    * Fixed a regression that could cause OpenGL or VDPAU applications to
      hang in Xinerama layouts which include multiple X screens that are
      driven by the same GPU.

    * Fixed a bug that could cause nvidia-installer to crash when installing
      from a driver package that has had precompiled kernel interfaces added
      to it (e.g., by using the "--add-this-kernel" option).

    * Fixed a regression from 358.09 that caused G-SYNC monitors configured to
      use 3D Vision stereo to go blank and report an unsupported signal.

    * Fixed a regression from 358.09 that caused OpenGL applications that failed
      to negotiate permission to perform glXSwapBuffers via flipping to stop
      updating the screen.  This was triggered on Fedora 22 where the SELinux
      system policy prevents gnome-shell from communicating with the X server.

      Now, OpenGL applications that fail to negotiate flipping will fall back to
      glXSwapBuffers via blitting.

      See https://bugzilla.redhat.com/show_bug.cgi?id=1271401 for more details.

2015-10-12 version 358.09

    * Fixed a regression that reduced OpenGL performance on headless X
      server configurations.

    * Fixed a memory leak that occurred after destroying a GLXWindow which
      still has the current context attached to it.

    * Fixed a bug which caused EGL pbuffers to be created with both a front
      and back buffer, instead of a back buffer only, as is required for EGL.

    * Added a new kernel module, nvidia-modeset.ko.  This new driver
      component works in conjunction with the nvidia.ko kernel module
      to program the display engine of the GPU.
      nvidia-modeset.ko does not provide any new user-visible
      functionality or interfaces to third party applications.  However,
      in a later release, nvidia-modeset.ko will be used as a basis for
      the modesetting interface provided by the kernel's direct rendering
      manager (DRM).

    * Reduced flickering and delays when transitioning into or out of G-SYNC
      mode.  As part of this change, monitors that have G-SYNC indicators in
      their on-screen displays will now always report that they are in G-SYNC
      mode.  The OpenGL G-SYNC visual indicator can be enabled in
      nvidia-settings to determine when G-SYNC is actually being used.

    * GLX protocol for the following OpenGL
      extension from OpenGL 3.0 has been promoted from
      unofficial to ARB approved official status:

      GL_EXT_draw_buffers2

    * GLX protocol for the following OpenGL 3.0 commands:

      BindBufferRangeNV
      BindBufferBaseNV
      BeginTransformFeedbackNV
      EndTransformFeedbackNV
      GetTransformFeedbackVaryingEXT
      TransformFeedbackVaryingsEXT

      which are part of the following extensions:

      GL_NV_transform_feedback
      GL_EXT_transform_feedback

      has been promoted from unofficial to ARB approved
      official status.

      With the above changes, GLX protocol for
      OpenGL 3.0 has been promoted from unofficial 
      to ARB approved official status.

    * Added a new system memory allocation mechanism for large
      allocations in the OpenGL driver.  This mechanism allows unmapping
      the allocation from the process when it is not in use, making more
      virtual address space available to the application.  It is enabled
      by default on 32 bit OpenGL applications with Linux 3.11+ and glibc
      2.19+.  Memory allocated this way will consume space in /dev/shm.
      Setting the environment variable __GL_DevShmPageableAllocations
      to 2 will disable this feature

======== Release 355 Entries ========

2015-08-31 version 355.11

    * Fixed a bug that could cause GPU exceptions when using glReadPixels()
      on the depth or stencil buffers of multisample windows while resizing
      or moving the windows.

2015-08-03 version 355.06

    * Fixed a bug that could cause data from one texture level to overwrite
      data from the next lowest level, when creating a texture view that
      did not include the higher of the two levels.

    * Fixed a bug that could cause the nvidia-settings control panel to
      crash when updating the display layout.

    * Corrected some erroneous reporting of support for GLX extensions:
      several extensions were being reported as supported for indirect
      GLX, which were in fact only supported under direct rendering.

    * Added support for the following EGL extensions:

          EGL_KHR_swap_buffers_with_damage
          EGL_NV_stream_consumer_gltexture_yuv

    * Replaced the build system for the NVIDIA kernel modules and updated
      the installer package and nvidia-installer to use the new build
      system and kernel module source code layout. For more information
      about the new build system and layout, see the README document at:

      ftp://download.nvidia.com/XFree86/packaging/linux/new-kbuild-for-355/

    * Added experimental full OpenGL support to EGL.

    * Marked the DeleteUnusedDP12Displays option as deprecated.

      Version 1.5.0 of the X Resize and Rotate specification added a note that
      dynamically-created outputs will not be destroyed, so this option is
      deprecated and will be removed in a future driver release.

    * Added support for VDPAU profiles added in VDPAU 0.9:
      VDP_DECODER_PROFILE_H264_BASELINE
      VDP_DECODER_PROFILE_H264_CONSTRAINED_BASELINE
      VDP_DECODER_PROFILE_H264_EXTENDED
      VDP_DECODER_PROFILE_H264_PROGRESSIVE_HIGH
      VDP_DECODER_PROFILE_H264_CONSTRAINED_HIGH

    * Fixed a bug that prevented more than one RandR output from sharing
      user-added modes.

    * Fixed a bug that caused application-specified swap intervals to be
      ignored on some screens when using Xinerama.

    * Fixed a bug that caused user-supplied RandR modes with nonsensical
      combinations of the +HSync, -HSync, +VSync, and -VSync flags to corrupt
      the mode list.

    * Added support to make an OpenGL 3.0 and above context current without
      making current to any drawable.

======== Release 352 Entries ========

    * Fixed a bug that prevented nvidia-bug-report.sh from finding
      relevant messages in kernel log files.

2016-01-25 version 352.79

    * Added support for the following GPUs:
        * Quadro M500M
        * Tesla M4

    * Fixed a bug in the EGL driver where a mutex was unlocked more than
      once.  This triggers undefined behavior, and in particular, if
      lock elision is enabled in glibc, may result in a segmentation
      fault.

2015-11-16 version 352.63

    * Added support for the following GPUs:
        * GeForce 940MX
        * GeForce 945M
        * Quadro M5000M
        * Quadro M4000M
        * Quadro M3000M
        * Quadro M2000M
        * Quadro M1000M
        * Quadro M600M
        * NVS 810
        * Tesla M40

    * Fixed a regression that prevented DPMS from working correctly on
      some DisplayPort displays.

    * Fixed a bug that could prevent X from starting when configured with
      multiple X screens, some of which scan out to display devices, and
      some of which do not.

2015-10-14 version 352.55

    * Added support for the following GPUs:
        * GeForce 805A
        * GeForce GTX 960A

    * Fixed a bug that caused applications using OpenCL or CUDA with OpenGL
      interoperability to crash when using GLX indirect rendering.

2015-08-28 version 352.41

    * Added support for the following GPUs:
        * GeForce GTX 950
        * Quadro M4000
        * Quadro M5000

    * Fixed a bug that caused VDPAU to only display the top half of a video
      frame when decoding and displaying H.265/HEVC encoded video streams.

2015-07-28 version 352.30

    * Fixed a bug that caused poor video post-processing performance
      in VDPAU when operating on a large number of video streams
      simultaneously.

2015-06-15 version 352.21

    * Fixed a bug that caused the Display Configuration page of the
      nvidia-settings control panel to automatically generate layouts
      with multiple displays occupying the same position when enabling
      or disabling Base Mosaic.

    * Updated nvidia-settings to allow the use of the standard Display
      Configuration page when SLI Mosaic is enabled.

    * Fixed a bug that caused the kernel to report errors when unmapping
      DMA allocations on kernels with CONFIG_DEBUG_DMA_API enabled.

    * Added GLX Protocol support for the following OpenGL extensions:

      GL_ARB_copy_buffer
      GL_ARB_texture_buffer_object

    * Fixed a bug that caused a kernel crash if SLI Mosaic and G-SYNC were used
      at the same time on a configuration with more display devices connected to
      one GPU than another.

2015-05-18 version 352.09

    * Added the ability to configure the swapping behavior for quad-buffered
      stereo visuals. The driver can be configured to independently swap
      each eye as it becomes ready, to wait for both eyes to complete
      rendering before swapping, or to allow applications to specify which
      of these two behaviors is preferred by setting the swap interval.
      This setting can be adjusted in the nvidia-settings control panel, or
      via the NV-CONTROL API.

    * Fixed a regression which caused the GPU fan status display to disappear
      from the nvidia-settings control panel.

    * Added reporting of ECC error counts to the nvidia-settings control panel.

    * Fixed a bug that sometimes prevented OpenGL sampler objects from
      being properly deallocated when destroying OpenGL contexts.

    * Fixed a bug that caused GLX_EXT_framebuffer_sRGB to incorrectly report
      sRGB support in 30 bit-per-pixel framebuffer configurations.

    * Added support for G-SYNC with sync-to-vblank disabled. This allows
      applications to use G-SYNC to eliminate tearing for frame rates below the
      monitor's maximum refresh rate but allow tearing above the maximum refresh
      rate in order to minimize latency.

      When G-SYNC is active and sync-to-vblank is enabled, the frame rate is
      limited to the monitor's maximum refresh rate.

    * GLSL gl_Fog.scale is now +infinity when gl_Fog.end equals gl_Fog.start.
      Previously, the value 0 was used, but this broke certain
      applications such as the game XIII running on Wine (Wine bug #37068).

    * Enabled G-SYNC by default when Unified Back Buffer (UBB) is disabled.

    * Updated the NVIDIA GPU driver to avoid using video memory already
      in use by vesafb.

======== Release 349 Entries ========

2015-03-25 version 349.12

    * Added support for G-SYNC monitors when used together with non-G-SYNC
      monitors.  When G-SYNC is enabled, non-G-SYNC monitors will display with
      tearing.

    * Fixed a bug that caused nvidia-settings to crash when assigning an
      attribute whose value is a display ID on a system with multiple X screens.

    * Updated the reporting of in-use video memory in the nvidia-settings
      control panel to use the same accounting methods used in other tools
      such as nvidia-smi. nvidia-settings was not taking some allocations
      into account, e.g. framebuffer memory for the efifb console on UEFI
      systems, causing discrepancies in the values reported by different tools.

    * Removed the "EnableACPIHotkeys" X configuration option. This option
      has been deprecated and disabled by default since driver version 346.35.
      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).

    * Added support for lossless H.264/AVC video streams to VDPAU.

    * Added support for VDPAU Feature Set F to the NVIDIA VDPAU driver.
      GPUs with VDPAU Feature Set F are capable of hardware-accelerated
      decoding of H.265/HEVC video streams.

    * Fixed a bug that prevented GPU fan speed changes from getting reflected
      in the text box on Thermal settings page.

    * Added nvidia-settings commandline support to query the current and
      targeted GPU fan speed.

    * Added a checkbox to nvidia-settings to enable a visual indicator that
      shows when G-SYNC is being used.  This is helpful for displays that don't
      indicate themselves whether they are operating in G-SYNC mode or normal
      mode.

      This setting can also be enabled by running the command line

        nvidia-settings -a ShowGSYNCVisualIndicator=1

    * Added support for the X.Org X server's "-background none" option. When
      enabled, the NVIDIA driver will try to copy the framebuffer console's
      contents out of /dev/fb0.  If that cannot be done, then the screen is
      cleared to black.

    * Added support for YUV 4:2:0 compression to enable HDMI 2.0 4K@60Hz modes
      when either the display or GPU is incapable of driving these modes in
      RGB 4:4:4.  See NoEdidHDMI2Check in the README for details.

    * Fixed a bug that could cause multi-threaded applications to crash when
      multiple threads used the EGL driver at the same time.

    * Fixed a bug that caused Sync to VBlank to not work correctly with XVideo
      applications in certain configurations.

    * Fixed a bug that prevented the X driver from correctly interpreting
      some X configuration options when a display device name was given
      with a GPU UUID qualifier.

======== Release 346 Entries ========

2015-09-01 version 346.96

    * Added support for the following GPU:
        * Tesla K80

2015-07-21 version 346.87

    * Added support for the following GPU:
        * GeForce 910M

2015-06-23 version 346.82

    * Added support for the following GPUs:
        * Tesla K40t
        * GeForce 720A
        * GeForce 920A
        * GeForce 930A
        * GeForce 940A
        * GeForce GTX 950A
        * GeForce GTX 980 Ti

    * Fixed a bug in nvidia-settings that caused the application to crash
      when saving the EDID to a file.

    * Fixed a bug that prevented the "mkprecompiled" utility included in
      the driver package from reading files correctly.

2015-05-12 version 346.72

    * 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 quad-buffered stereo applications to
      crash when disabling displays.

    * 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 hard-coded 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.

    * Updated the behavior of the nvidia-settings control panel upon closing
      the control panel window to be consistent with clicking the control
      panel's "Quit" button.

    * 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 ========

2019-12-23 version 340.108

    * Updated the nvidia-drm kernel module for compatibility with the removal
      of the DRIVER_PRIME flag in recent Linux kernel versions.

    * Updated nvidia-bug-report.sh to search the systemd journal for
      gdm-x-session logs.

    * Fixed a bug that could prevent nvidia-xconfig from disabling the X
      Composite extension on version 1.20 of the X.org X server.

    * Added support to nvidia-installer for systems which provide ncurses
      libraries supporting the ncurses widechar ABI only.

    * Updated nvidia-installer to avoid problems with commands whose proper
      functionality may be dependent on system localization (e.g. via the
      LANG environment variable.) For example, some kernel configurations
      may produce unusable kernel modules if LANG is set to a language
      other than English.

    * Updated nvidia-installer for better compatibility with ncurses when
      libncurses.so.6 exposes the ncurses reentrant ABI, such as on openSUSE
      Leap 15 and SUSE Linux Enterprise 15.

    * Fixed a build failure, "too many arguments to function 'get_user_pages'",
      when building the NVIDIA kernel module for Linux kernel v4.4.168.

    * Fixed a build failure, "implicit declaration of function do_gettimeofday",
      when building the NVIDIA kernel module for Linux kernel 5.0 release
      candidates.

2018-06-06 version 340.107

    * Added support for X.Org xserver ABI 24 (xorg-server 1.20).

    * Improved nvidia-bug-report.sh to check for kern.log which is the default
      kernel log-file location for many Debian-based Linux distributions.

    * Fixed a bug which could cause X servers that export a Video Driver
      ABI earlier than 0.8 to crash when running X11 applications which
      call XRenderAddTraps().

2018-01-16 version 340.106

    * Fixed a compatibility problem between the nvidia.ko's Page Attribute
      Table (PAT) support and the kernel Page Table Isolation (PTI) patches.

      To optimize stores to memory, nvidia.ko contains support for
      configuring the CPU's PAT registers, as a fallback for Linux kernels
      that predate kernel native PAT support.  On any recent kernel
      with CONFIG_X86_PAT enabled, the driver will detect that setup has
      already been done and skip its PAT setup.  However, a static inline
      function called by nvidia.ko's PAT fallback support was updated in
      the PTI patches to use the EXPORT_SYMBOL_GPL symbol 'cpu_tlbstate'.
      nvidia.ko was updated to only contain its PAT fallback support,
      at build time, on kernels without CONFIG_X86_PAT.

2017-09-19 version 340.104

2017-02-14 version 340.102

2016-12-14 version 340.101

2016-09-26 version 340.98

    * Added support for the screen_info.ext_lfb_base field, on kernels that have
      it, in order to properly handle UEFI framebuffer consoles with physical
      addresses above 4GB.

2015-11-16 version 340.96

2015-09-02 version 340.93

    * Fixed a bug that caused the X server to crash if an OpenGL application
      tried to allocate a drawable when GPU-accessible memory is exhausted.

    * Fixed a bug that could cause an Xid error when terminating a video
      playback application using the overlay presentation queue in VDPAU.

    * Updated nvidia-installer to avoid recursing too deeply into kernel source
      trees under /usr/lib/modules, mirroring an existing restriction on recursion
      under /lib/modules.

    * Fixed a rare deadlock condition when running applications that use
      OpenGL in multiple threads on a Quadro GPU.

    * Fixed a bug which caused truncation of the EGLAttrib 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 count down 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 re-probing 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 remote access.

    * Fixed a bug that caused applications using CUDA-GL interoperability 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 cryptographically 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 can be shared 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 re-probe 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 mode switches.

    * 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 ========

2017-09-19 version 304.137

    * Updated nvidia-installer to label kernel modules with SELinux
      file type 'modules_object_t'. Some system SELinux policies only
      permit loading of kernel modules with this SELinux file type.

    * Removed support for checking for and downloading updated driver
      packages and precompiled kernel interfaces from nvidia-installer.
      This functionality was limited to unencrypted ftp and http, and
      was implemented using code that is no longer actively maintained.

2017-02-14 version 304.135

2016-12-14 version 304.134

    * Added support for X.Org xserver ABI 23 (xorg-server 1.19)

    * Fixed a bug that allowed nvidia-installer to attempt loading kernel
      modules that were built against non-running kernels.

2016-09-26 version 304.132

    * Added /var/log/dmesg to the list of paths which are searched by
      nvidia-bug-report.sh for kernel messages.

    * Fixed a bug that caused kernel panics when using the NVIDIA driver
      on v4.5 and newer Linux kernels built with CONFIG_DEBUG_VM_PGFLAGS.

    * Updated nvidia-installer to support ncurses version 6.x.

2015-11-16 version 304.131

    * Fixed a bug that could cause texture corruption in some OpenGL
      applications when video memory is exhausted by a combination of
      simultaneously running graphical and compute workloads.

    * Added support for X.Org xserver ABI 20 (xorg-server 1.18).

2015-08-31 version 304.128

    * Removed libvdpau and libvdpau_trace from the NVIDIA driver package.
      VDPAU is not supported on the legacy hardware supported on the
      release 304 legacy driver branch. The libvdpau_nvidia vendor library
      is still included, so users who wish to use VDPAU with newer hardware
      that still works with release 304 drivers may install libvdpau from
      packages provided by the OS vendor where available, or from the source
      code available at:

      http://people.freedesktop.org/~aplattner/vdpau/

    * Updated nvidia-installer to use modprobe(8) when leaving the NVIDIA
      kernel module loaded after installation, instead of insmod(8) or
      libkmod. This allows the kernel module to honor any configuration
      directives that apply to it in /etc/modprobe.d when it is loaded.

    * Fixed a bug that allowed console messages from the Linux kernel to be
      drawn over the user interface of nvidia-installer.

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
      back-ported 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 re-enabled 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
      revealing: 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
      mode switch 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 mode-switches 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 re-enabled 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 Java 2D 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 management 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 interoperability 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 occurred 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 protocol 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 mode timings.

    * 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-anti-aliased 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 behavior 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 segmentation fault 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 synchronizes 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
      flat panel.

    * 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 Java 2D 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 sub-pixel anti-aliased 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
      splash screen; the X driver splash screen 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 man pages 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 flat panels 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 Java 2D 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 flat panels.

    * 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 RenderAccel

    * Improved performance for Java 2D.

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 32-bit OpenGL applications on 64bit AMD64
      Linux installations.

    * Fixed problem that prevented 32-bit 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 applications 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 accommodate
      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 quad-buffered workstation stereo visuals for Quadro2, 4 and
      Quadro DCC.

    * Improved SPECviewperf 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 SPECviewperf 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 applications
      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 instead 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, page flipping and window flipping (described in
      README).

    * Improved SPECviewperf 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 polygons) into trapezoids and avoids an
      XAA clipping bug.
      
    * Fixed a system hang that occurred on some chipsets when taking the
      X server down (after having run once successfully) and restarting
      it while using the DVI-I connected to a flat panel.

    * Fixed problem where the performer application Perfly would hang
      when run in forked-draw mode.

    * Fixed problem where the X driver would encounter a segmentation fault
      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 GeForce 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 behavior 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 occurred 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 occurred when running two Xservers with
      AGPGART.

    * Fixed some problems in GLX that occurred 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 DVDs from
      displaying.

    * Fixed a problem that caused OpenGL programs to encounter a segmentation
      fault 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 occurred 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 cause a segmentation fault 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 hangs 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-monitor 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.

