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

    * 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 ========

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                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              