What's new in Nvidia Linux ARM Display Driver 32-bit 390.129

Jul 29, 2019
  • Improved nvidia-bug-report.sh to grab the output of the `vulkaninfo` command when it is available.
  • Updated nvidia-bug-report.sh to search the systemd journal for gdm-x-session logs.
  • 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.

New in Nvidia Linux ARM Display Driver 32-bit 390.87 (Sep 7, 2018)

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

New in Nvidia Linux ARM Display Driver 32-bit 390.77 (Jul 16, 2018)

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

New in Nvidia Linux ARM Display Driver 32-bit 390.67 (Jun 6, 2018)

  • Fixed a bug that could cause kernel panics when using Quadro SDI Capture hardware.
  • Fixed a bug that caused kwin OpenGL compositing to crash when launching certain OpenGL applications.
  • Fixed an intermittent crash when launching Vulkan applications.
  • Fixed 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.
  • Added support for X.Org xserver ABI 24 (xorg-server 1.20).
  • Improved nvidia-bug-report.sh to check for kern.log which is the default kernel log-file location for many Debian-based Linux distributions.
  • Fixed a bug which could cause X servers that export a Video Driver ABI earlier than 0.8 to crash when running X11 applications which call XRenderAddTraps().

New in Nvidia Linux ARM Display Driver 32-bit 390.59 (May 16, 2018)

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

New in Nvidia Linux ARM Display Driver 32-bit 390.42 (Mar 12, 2018)

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

New in Nvidia Linux ARM Display Driver 32-bit 387.34 (Dec 29, 2017)

  • Added support for the following GPU:
  • TITAN V
  • GTX 1070 Ti
  • 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.

New in Nvidia Linux ARM Display Driver 32-bit 387.22 (Oct 31, 2017)

  • Added support for the following GPU:
  • GTX 1070Ti
  • 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 ] }
  • 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.
  • 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.

New in Nvidia Linux ARM Display Driver 32-bit 381.22 (May 9, 2017)

  • Fixed a bug that caused the GLX_EXT_buffer_age buffer age extension to return incorrect values for stereo drawables when using passive stereo modes 5 through 9.
  • Fixed a bug in Vulkan direct to display where DP1.2 monitors were not being enumerated.
  • 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 NoLogoand LogoPathxorg.conf options.
  • Added the "ResamplingMethod" MetaMode option, adding support for bicubic resampling methods when scaling screen transformations are in use. See the README for more details.

New in Nvidia Linux ARM Display Driver 32-bit 375.66 (May 5, 2017)

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

New in Nvidia Linux ARM Display Driver 32-bit 375.20 (Nov 18, 2016)

  • Added support for the following GPUs:
  • GeForce GTX 1050
  • GeForce GTX 1050 Ti
  • Quadro M620
  • Quadro M5000 SE
  • Quadro M3000 SE
  • Fixed a bug that could cause displays in SLI Mosaic to blank when applying a transformation matrix.
  • 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.
  • Fixed a bug that prevented G-SYNC from working on notebook displays.
  • Fixed a bug that caused DisplayPort multistream devices to go blank after the console is restored.
  • Fixed a bug that caused a kernel crash when starting X for the second time when more than one DisplayPort multistream device is connected to a single DisplayPort connector via a branch device.
  • Updated nvidia-settings to not have a build-time dependence on an external nvml development package (a regression introduced in 375.10).
  • Fixed a crash in nvidia-settings when adding Application Profile Rule and Profile entries.
  • Removed the "Enable Tooltip" option in nvidia-settings for the GTK 2 interface.
  • Added new X configuration options:
  • ForceCompositionPipeline
  • ForceFullCompositionPipeline
  • which override the MetaMode tokens with the same names.
  • Fixed a bug that caused 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.
  • Fixed a bug in synchronization primitives shared between X and OpenGL.
  • Added support for X.Org xserver ABI 23 (xorg-server 1.19)
  • Fixed a bug that allowed nvidia-installer to attempt loading kernel modules that were built against non-running kernels.

New in Nvidia Linux ARM Display Driver 32-bit 370.28 (Sep 8, 2016)

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

New in Nvidia Linux ARM Display Driver 32-bit 346.72 (May 13, 2015)

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

New in Nvidia Linux ARM Display Driver 32-bit 346.59 (Apr 7, 2015)

  • 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 corruption when switching display modes in some applications that use transform feedback.
  • Fixed a bug that caused texture corruption on framebuffer depth attachments cleared using glClearTexImage().
  • Fixed a bug that artificially limited the maximum pixel clock on displays in some SLI Mosaic configurations.
  • Fixed a kernel memory leak that occurred when looping hardware-accelerated video decoding with VDPAU on Maxell-based GPUs.
  • Fixed a bug that could cause nvidia-settings to crash on exit on 32-bit Linux systems.

New in Nvidia Linux ARM Display Driver 32-bit 346.47 (Feb 25, 2015)

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

New in Nvidia Linux ARM Display Driver 32-bit 346.35 (Jan 18, 2015)

  • Added support for the following GPUs:
  • GeForce 800A
  • GeForce 800M
  • GeForce GTX 970M
  • GeForce GTX 980M
  • Added support for X.Org xserver ABI 19 (xorg-server 1.17).
  • Improved compatibility with recent Linux kernels.
  • Fixed a bug that prevented internal 4K panels on some laptops from being driven at a sufficient bandwidth to support their native resolutions.
  • Fixed a regression that prevented the NVIDIA kernel module from loading in some virtualized environments such as Amazon Web Services.
  • Fixed a regression that caused displays to be detected incorrectly on some notebook systems.
  • Fixed a bug that could cause X to freeze when using Base Mosaic.
  • Fixed a regression that prevented the NVIDIA X driver from recognizing Base Mosaic layouts generated by the nvidia-settings control panel.
  • 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.
  • 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 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.
  • Removed the NVIDIA Unified Memory kernel module, nvidia-uvm.ko, from the driver package on 32-bit architectures.
  • Added accelerated support for r8g8b8a8, r8g8b8x8, b8g8r8a8 and b8g8r8x8 RENDER formats.
  • Updated nvidia-settings to take advantage of GTK+ 3, when available. This is implemented by building the nvidia-settings user interface into separate shared libraries (libnvidia-gtk2.so, libnvidia-gtk3.so), and loading the correct one at run-time.
  • Added the nvidia-settings option --gtk-library to allow specifying the path of the directory containing the user interface library or the path and filename of the specific library to use.
  • Added support in nvidia-settings for a GTK+ 3 user interface on x86 and x86_64.
  • Added the nvidia-settings option --use-gtk2 to force the use of the GTK+ 2 UI library.
  • Updated nvidia-installer to install a file in the system's xorg.conf.d directory, when a sufficiently new X server is detected, to cause the X server to load the "nvidia" X driver automatically if it is started after the NVIDIA kernel module is loaded.
  • This feature is supported in X.Org xserver 1.16 and higher when running on Linux 3.9 or higher with CONFIG_DRM enabled.
  • Improved the performance of nvidia-installer by enabling the use of parallel make when building the NVIDIA kernel modules. The concurrency level can be set with the --concurrency-level option, and defaults to the number of detected CPUs.
  • Updated nvidia-installer to determine default installation locations for libraries based on the presence of known paths in the ldconfig(8) cache and the filesystem, rather than hardcoded distro-specific paths.
  • Fixed a GLSL compiler bug that would produce corruption when running games such as Far Cry 3 in Wine.
  • Fixed the EGL_KHR_stream_cross_process_fd extension.
  • Fixed rendering corruption that sometimes happened when calling DrawElementsInstancedBaseVertexBaseInstance(), DrawElementsInstancedBaseInstance(), or DrawArraysInstancedBaseInstance().
  • Dramatically improved OpenGL Framebuffer Object creation performance.
  • Removed the limit on the maximum number of OpenGL Framebuffer Objects.
  • Updated the NVIDIA OpenGL driver to prefer $XDG_CACHE_HOME over $HOME as the default location for storing the GL shader disk cache.

New in Nvidia Linux ARM Display Driver 32-bit 340.65 (Dec 10, 2014)

  • Added support for X.Org xserver ABI 19 (xorg-server 1.17).
  • Improved compatibility with recent Linux kernels.
  • Fixed a bug that prevented internal 4K panels on some laptops from being driven at a sufficient bandwidth to support their native resolutions.
  • Fixed a regression that prevented the NVIDIA kernel module from loading in some virtualized environments such as Amazon Web Services.
  • Fixed a regression that caused displays to be detected incorrectly on some notebook systems.
  • Fixed a bug that could cause X to freeze when using Base Mosaic.
  • Fixed a regression that prevented the NVIDIA X driver from recognizing Base Mosaic layouts generated by the nvidia-settings control panel.

New in Nvidia Linux ARM Display Driver 32-bit 343.36 (Dec 5, 2014)

  • Added support for X.Org xserver ABI 19 (xorg-server 1.17).
  • Improved compatibility with recent Linux kernels.
  • Fixed a bug that rendered very bright garbage data onto some textures in UnrealEngine 4 applications. This issue is known as the "disco bug" by the UnrealEngine 4 Linux community.
  • Added option UseSysmemPixmapAccel to control the use of GPU acceleration for X drawing operations on pixmaps allocated in system memory.
  • Fixed a regression that prevented the NVIDIA X driver from recognizing Base Mosaic layouts generated by the nvidia-settings control panel.
  • Fixed a bug that could cause VT-switching to fail following a suspend, resume, and driver reload sequence.
  • Fixed a bug that caused incorrect colors to be displayed on X screens running at depth 8 on some GPUs.
  • Fixed a bug that prevented GPUs from being correctly recognized in MetaMode strings when identified by UUID.
  • Implemented support for disabling indirect GLX context creation using the -iglx option available on X.Org server release 1.16 and newer. Note that future X.Org server releases may make the -iglx option the default. To re-enable support for indirect GLX on such servers, use the +iglx option.
  • Added the "AllowIndirectGLXProtocol" X config option. This option can be used to disallow use of GLX protocol. See "Appendix B. X Config Options" in the README for more details.
  • Fixed a crash with UnrealEngine 4 when the application was started with the -opengl4 commandline switch.
  • Fixed an OpenGL issue that could cause glReadPixels() operations to be improperly clipped when resizing composited application windows, potentially leading to momentary X freezes.
  • Fixed a bug that could prevent the GLSL compiler from correctly evaluating some expressions when compiling shaders.
  • Fixed a bug that could cause nvidia-installer to crash while attempting to run nvidia-xconfig on systems where that utility is missing.
  • Fixed a bug that could prevent 32-bit GPU-based applications from running correctly on 64-bit systems when using GPUs with very large memory-mapped I/O regions.
  • Fixed a bug that could cause the CUDA debugger to fail after exiting X on systems with persistence mode enabled.
  • Fixed a bug that could cause silent and intermittent failures when a CUDA application writes to a peer device's memory with GPUDirect.
  • Updated nvidia-installer to avoid writing to non-zero offsets of sysctl files in /proc/sys/kernel.

New in Nvidia Linux ARM Display Driver 32-bit 340.46 (Oct 2, 2014)

  • Fixed an OpenGL issue that could cause glReadPixels() operations to be improperly clipped when resizing composited application windows, potentially leading to momentary X freezes.
  • Fixed a bug that could prevent the GLSL compiler from correctly evaluating some expressions when compiling shaders.
  • Fixed a bug that could cause nvidia-installer to crash while attempting to run nvidia-xconfig on systems where that utility is missing.
  • Added option UseSysmemPixmapAccel to control the use of GPU acceleration for X drawing operations on pixmaps allocated in system memory.

New in Nvidia Linux ARM Display Driver 32-bit 343.22 (Sep 19, 2014)

  • Added support for the following GPUs:
  • GeForce GTX 970
  • GeForce GTX 980
  • Fixed a bug that prevented the "sync to vblank" setting from being honored for EGL applications.
  • Fixed a bug that could cause some OpenGL programs to encounter out of memory during a mode switch.
  • Fixed a bug that prevented the NVIDIA OpenGL driver from honoring the __GL_SHADER_DISK_CACHE_PATH environment variable.
  • Fixed a bug that caused disabled displays to be implicitly included in the target selection for some queries and assignments on the nvidia-settings command line interface, in the absence of any explicit target selection.
  • Added a new attribute to the NV-CONTROL API to query the current utilization of the video decode engine.
  • Fixed a bug where the Exchange Stereo Eyes setting in nvidia-settings didn't work in certain stereo configurations.
  • Worked around a Unigine Heaven 3.0 shader bug which could cause corruption when tessellation is enabled by implementing an application profile that uses the "GLIgnoreGLSLExtReqs" setting. See the documentation for the __GL_IGNORE_GLSL_EXT_REQS environment variable for more details.
  • Fixed a memory leak when destroying EGL surfaces.
  • Added support for multiple simultaneous EGL displays.
  • Removed support for G8x, G9x, and GT2xx GPUs, and motherboard chipsets based on them. Ongoing support for new Linux kernels and X servers, as well as fixes for critical bugs, will be included in 340.* legacy releases through the end of 2019.
  • 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.

New in Nvidia Linux ARM Display Driver 32-bit 340.32 (Sep 12, 2014)

  • Added support for the following GPUs:
  • Quadro K420
  • Quadro K620
  • Quadro K2200
  • Quadro K4200
  • Quadro K5200
  • Fixed a regression that prevented the internal stereo infrared emitter built into some 3D Vision monitors from working.
  • Fixed a bug that could cause some Java-based OpenGL applications using JOGL to crash on startup on systems with Xinerama enabled.
  • Fixed a bug that could prevent OpenGL Framebuffer Objects (FBOs) from being properly redrawn after a modeswitch.
  • Fixed a memory leak that occurred when starting OpenGL applications.
  • Fixed a bug that prevented the EDID-Like Data (ELD) of audio-capable displays from being updated when hotplugged/unplugged.
  • Fixed a bug that caused Xid errors when using stereo mode 12 (HDMI 3D) on Quadro boards without an onboard stereo DIN connector.
  • Fixed a video corruption issue for VDPAU decoding of VC-1 and WMV video streams utilizing range remapping on Maxwell GPUs.
  • Fixed a "black window" bug in Ubuntu 14.04 when using the Xinerama and Composite extensions.
  • Fixed a bug that caused the screen's contents to be shifted downward when a G-SYNC monitor is unplugged and replaced by a non-G-SYNC monitor.
  • Fixed a bug that prevented G-SYNC from working when a G-SYNC monitor was unplugged and plugged back in without a modeset.

New in Nvidia Linux ARM Display Driver 32-bit 331.49 (Feb 19, 2014)

  • Added support for the following GPUs:
  • GeForce GT 710
  • GeForce 825M
  • Fixed a regression that prevented nvidia-installer from cleaning up directories created as part of the driver installation.
  • Added a new X configuration option "InbandStereoSignaling" to enable/disable DisplayPort in-band stereo signaling. See "Appendix B. X Config Options" in the README for more information.
  • Fixed a bug that caused PBO downloads of cube map faces to retrieve incorrect data.
  • Fixed a bug in nvidia-installer that resulted in spurious error messages when opting out of installing the NVIDIA kernel module or source files for the kernel module.
  • Added experimental support for ARGB GLX visuals when Xinerama and Composite are enabled at the same time on X.Org xserver 1.15.

New in Nvidia Linux ARM Display Driver 32-bit 325.15 (Nov 15, 2013)

  • Added support for the following GPUs:
  • GRID K340
  • NVS 315
  • Quadro K500M
  • Fixed a bug in the nvidia-settings control panel that could cause spurious messages about layout inconsistencies to be printed when changing the display layout while SLI is enabled.
  • Fixed a bug that could cause display flickering after setting some scaling configurations.
  • Fixed a bug that prevented the status bar on the "PowerMizer" and "X Server XVideo Settings" pages in the nvidia-settings control panel from being updated when settings were changed by another NV-CONTROL client.
  • Fixed a bug that could cause some UI elements to be duplicated in the nvidia-settings control panel following a VT switch on X server configurations with multiple NVIDIA X screens.
  • Changed the default PCIe interrupt delivery method from virtual-wire to MSI. Note that if the NVIDIA Linux driver fails to initialize with an error indicating that it is not receiving interrupts, MSI can be disabled by setting the module parameter "NVreg_EnableMSI=0" when loading the NVIDIA kernel module.
  • Removed support for Linux 2.4 kernels. The NVIDIA Linux driver now requires Linux 2.6.9 or later.
  • Fixed a bug that prevented the creation of a mode via RandR with the same name as a previously created mode, even after the previous mode had been deleted.
  • Fixed a bug in nvidia-settings that caused GTK+ theme colors to be ignored for some UI elements.
  • Fixed a bug that caused nvidia-settings to write hostname-based color correction settings to the .nvidia-settings-rc configuration file, even when the "Include X Display Names in the Config File" option was unset. This could lead to a long delay when starting nvidia-settings, if a hostname saved to the configuration file failed to resolve.
  • Fixed a bug that exposed edge overlap controls on the SLI Mosai page of nvidia-settings on edges where overlap was impossible.
  • Fixed a bug that caused some settings in the nvidia-settings control panel to be reset when reprobing displays.
  • Fixed a bug that could cause OpenGL applications that use Frame Buffer Objects (FBOs) to crash following a mode switch (e.g. changing the resolution of a display or transforming it).
  • Fixed a memory leak that could be triggered by unloading libGL before destroying all GLX contexts.
  • Fixed a bug that could cause color correction settings to be applied to the wrong display when multiple displays are unplugged and then plugged back in again.
  • Fixed a bug that could cause a spurious error message about a missing NV-GLX extension when performing indirect rendering from a GLX client with the NVIDIA client-side OpenGL libraries to a non-NVIDIA GLX server.
  • Fixed an OpenGL bug that prevented conditional rendering from the NV_conditional_render extension from correctly affecting CopyPixels.
  • Improved the rendering performance of complex gradients.
  • Added support for configuring SLI Mosaic and Base Mosaic in the "X Server Display Configuration" page of nvidia-settings.
  • Updated nvidia-installer to look for the following files:
  • /usr/lib/nvidia/alternate-install-available
  • /usr/lib/nvidia/alternate-install-present
  • These files may be provided by NVIDIA driver installers other than the official .run package maintained by NVIDIA, to alert nvidia-installer to the presence or availability of an alternative installation method. See the nvidia-installer(1) manual page for more information.
  • Fixed an X driver bug where the RandR CRTC panning area and tracking area were not getting clamped to the current X screen size when the RandR CRTC transitioned from disabled to enabled.
  • Fixed an X driver bug where successful RandR X_RRSetScreenConfig requests would update the server's RandR 'lastSetTime' too far, potentially causing subsequent RandR requests to be unnecessarily rejected.
  • Fixed an X driver bug that caused GPUs to become inaccessible via the NV-CONTROL X extension when no corresponding X screens could be initialized.
  • Generate a BadMatch error when applications attempt to create GLX pixmaps using glXCreatePixmap() or glXCreateGLXPixmapWithConfigSGIX() and the pixmap's depth doesn't match that of the specified GLXFBConfig.
  • Updated nvidia-settings to explicitly specify the direction of rotation for configuring per-display rotation configuration.
  • Honor a GPU UUID as the GPU qualifier for X configuration options that allow GPU qualifiers (e.g. "MetaModes").
  • Report GPU UUIDs in the X log when verbose logging is enabled in the X server.
  • Enabled conformant glBlitFrameBuffer() scissor test behavior by default. A driver-provided application profile enables the previous non-conformant behavior for applications that load libcogl, to work around a bug in older versions of libcogl.
  • Application profiles can be added to enable the non-conformant behavior for other applications that depend upon it. See the "Known Issues" section of the README for more details.
  • Fixed a bug that caused applications using CUDA-GL interop to crash when run on X servers with Xinerama enabled.
  • Fixed a bug that could prevent some double-bit ECC errors from being properly reported.
  • Fixed a bug which could cause a blank screen when changing house sync settings on Quadro Kepler GPUs with Quadro Sync boards.
  • Fixed a bug that prevented nested loops with identical loop conditions in GLSL shaders from terminating correctly. This could cause hangs in applications such as Exa PowerVIZ.
  • Fixed a bug that resulted in corrupt texels when a previously empty texture image was specified with glXBindTexImageEXT. In GNOME 3, this caused gnome-screenshot to produce garbled window screenshots.
  • Fixed a bug that caused the X server to crash when querying the current mode of disabled displays.

New in Nvidia Linux ARM Display Driver 32-bit 331.20 (Nov 9, 2013)

  • Added support for NVIDIA OpenGL-based Framebuffer Capture (NvFBCOpenGL). This library provides a high performance, low latency interface to capture and optionally encode the composited framebuffer of an X screen. NvFBC and NvIFR are private APIs that are only available to approved partners for use in remote graphics scenarios. Please contact NVIDIA at [email protected] for more information.
  • Fixed a bug that prevented configuration files containing application profiles from being loaded when directories were present in the application profile configuration search path.
  • Deferred initialization of libselinux in the NVIDIA OpenGL driver, in order to avoid a problem where libselinux might not be ready when the NVIDIA libGL shared library is first loaded.
  • Fixed a bug that could lead to memory exhaustion in OpenGL applications running on 32-bit systems.
  • Added nvidia-uvm.ko, the NVIDIA Unified Memory kernel module, to the NVIDIA Linux driver package. This kernel module provides support for the new Unified Memory feature in an upcoming CUDA release.
  • Fixed a bug that caused the X server to fail to initialize when DisplayPort 1.2 monitors were assigned to separate X screens on the same GPU.
  • Fixed a bug that could cause a deadlock when forking from OpenGL programs which use some malloc implementations, such as TCMalloc.
  • Fixed a bug that prevented Warp & Blend settings from being retained across display configuration changes.
  • Fixed a bug that prevented some settings changes made via the nvidia-settings command line interface from being reflected in the nvidia-settings graphical user interface.
  • Changed the clipping behavior of the NVIDIA X driver on Trapezoids and Triangles for some RENDER operations to match the behavior in newer versions of Pixman:
  • http://lists.freedesktop.org/archives/pixman/2013-April/002755.html
  • Fixed a bug in MetaMode tracking that could cause spurious error messages to be printed when attempting to add or delete Metamodes via NV-CONTROL.
  • Fixed a bug that caused the NVIDIA X driver to attempt to load the X11 "shadow" module unconditionally, even in situations where the driver had no need to use the module. This could result in the printing of spurious error messages, on X servers where the module was not present.
  • Fixed a bug that prevented display configuration changes made with xvidtune(1) from working correctly.
  • Fixed a bug that occasionally caused display corruption in GLX applications while changing the display configuration.
  • Fixed a bug that prevented glReadPixels from working correctly when reading from Pixel Buffer Objects over indirect rendering, when the image width is not a multiple of 4.
  • Added a new NV-CONTROL attribute, NV_CTRL_BACKLIGHT_BRIGHTNESS, for controlling backlight brightness.
  • Fixed a bug that prevented nvidia-settings from creating display device configuration pages for newly connected DisplayPort 1.2 Multi Stream Transport downstream devices.
  • Added GPU utilization reporting to the nvidia-settings control panel.
  • Fixed a bug in the nvidia-settings control panel that prevented users from configuring stereo, when stereo was not already configured.
  • Added support for reporting the tachometer-measured fan speed on capable graphics boards via nvidia-settings and the NV-CONTROL API. The preexisting mechanism for reporting fan speed reports the speed of the fan as programmed by the driver.
  • For example, `nvidia-settings --query=[fan:0]/GPUCurrentFanSpeedRPM`.
  • Fixed a regression that caused GPUs that do not support graphics to not appear in nvidia-settings.
  • Fixed a bug that caused DisplayPort 1.2 multi-stream devices to stop working if they were unplugged and plugged back in while they were active in the current MetaMode.
  • Added support for multiple NVIDIA kernel modules. This feature allows users to assign different GPUs in the system to different NVIDIA kernel modules, potentially reducing the software overhead of coordinating access to multiple GPUs.
  • Added support for the EGL API on 32-bit platforms. Currently, the supported client APIs are OpenGL ES 1.1, 2.0 and 3.0, and the only supported window system backend is X11.
  • Add a new option, AllowEmptyInitialConfiguration, which allows the X server to start even if no connected display devices are detected at startup. This option can be enabled by running "sudo nvidia-xconfig --allow-empty-initial-configuration"
  • This option is useful in RandR 1.4 display offload configurations where no display devices are connected to the NVIDIA GPU when the X server is started, but might be connected later.
  • Updated nvidia-installer to provide a scrollable text area for displaying messages from the /usr/lib/nvidia/alternate-install-present and /usr/lib/nvidia/alternate-install-available distro hook files. This allows for longer messages to be provided in these files.
  • Updated nvidia-installer to avoid recursing into the per-kernel "build" and "source" directories when searching for conflicting kernel modules in /lib/modules.
  • Added a system memory cache to improve the performance of certain X rendering operations that use software rendering fallbacks. The X configuration option "SoftwareRenderCacheSize" may be used to configure the size of the cache.
  • Removed the "DynamicTwinView" X configuration option: dynamic reconfiguration of displays is always possible, and can no longer be disabled.
  • Fixed a bug that caused nvidia-settings to display incorrect information in its display configuration page when all displays on an X screen were turned off.
  • Updated nvidia-installer to only install the libraries libvdpau and libvdpau_trace if an existing installation of libvdpau is not detected on the system. This behavior can be overridden with the --install-vdpau-wrapper and --no-install-vdpau-wrapper options.
  • Future NVIDIA Linux installer packages will no longer include copies of libvdpau or libvdpau_trace: VDPAU users are recommended to install these libraries via other means, e.g. from packages provided by their distributors, or by building them from the sources available at: http://people.freedesktop.org/~aplattner/vdpau/

New in Nvidia Linux ARM Display Driver 32-bit 319.60 (Oct 2, 2013)

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

New in Nvidia Linux ARM Display Driver 32-bit 319.49 (Aug 21, 2013)

  • Added support for the following GPUs:
  • GeForce GT 740A
  • GeForce GT 745A
  • GeForce GT 755M
  • GeForce GT 625
  • GeForce GTX 645
  • GRID K340
  • GRID K350
  • NVS 315
  • Quadro K500M
  • Fixed a bug that caused DisplayPort monitors connected to Quadro FX 3800, 4800, or 5800 to remain off after DPMS.
  • Added missing VDPAU libraries to the Linux ARM driver package.
  • Added the NVIDIA OpenGL-based Inband Frame Readback (NvIFROpenGL) library to the Linux driver package. This library provides a high performance, low latency interface to capture and optionally encode an individual OpenGL framebuffer. NvIFROpenGL captures pixels rendered by OpenGL only and is ideally suited to application capture and remoting.
  • Fixed a bug that caused applications using CUDA-GL interop to crash when run on X servers with Xinerama enabled.
  • Fixed a bug that could prevent some double-bit ECC errors from being properly reported.
  • Fixed a bug which could cause a blank screen when changing house sync settings on Quadro Kepler GPUs with Quadro Sync boards.
  • Fixed a bug that prevented nested loops with identical loop conditions in GLSL shaders from terminating correctly. This could cause hangs in applications such as Exa PowerVIZ.
  • Fixed a bug that resulted in corrupt texels when a previously empty texture image was specified with glXBindTexImageEXT. In GNOME 3, this caused gnome-screenshot to produce garbled window screenshots.
  • Fixed a bug that caused the X server to crash when querying the current mode of disabled displays.

New in Nvidia Linux ARM Display Driver 32-bit 319.32 (Jun 27, 2013)

  • Added support for the following GPU:
  • GeForce GTX 760
  • GeForce 720M
  • Updated the nvidia-settings control panel to report more detailed locking information.
  • Fixed a bug that could cause the X server to crash after power-cycling displays connected behind a DisplayPort 1.2 Multi-Stream Transport hub.
  • Fixed a bug that could cause nvidia-settings to crash when switching VTs after changing some settings.
  • Updated the application profile syntax to allow for multiple patterns within a single rule. See the README for details.
  • Fixed a bug that caused OpenGL programs to crash when the __GL_DOOM3 environment variable was set.
  • Updated the NVIDIA driver to avoid calling fork(2) to execute the nvidia-modprobe utility when not needed.
  • Improved the error reporting of the nvidia-persistenced utility.
  • Fixed a bug that could cause Altair HyperView to hang when rendering animations with tensors.
  • Fixed a performance regression in MEDINA 8.2.
  • Fixed a bug that caused the OpenGL driver to hang sometimes when running the SpeedTree Modeler application.
  • Fixed a bug that could cause an OpenGL application to crash if it creates and destroys multiple threads.
  • Fixed a bug in nvidia-installer that could cause installation problems when the value of the CC environment variable contained spaces, e.g. CC="distcc gcc"
  • Fixed a bug that caused corrupted window content in some cases when moving GLX windows with antialiasing enabled.
  • Fixed a bug that caused DisplayPort devices that failed link training to be reported as connected rather than disconnected.
  • Fixed a regression that could cause a DisplayPort device that was connected to one connector to turn off when a DisplayPort device on a different connector was connected or disconnected.
  • On Kepler-based GPUs, improved the appearance of the tearing that occurs when using RandR 1.4's Source Output capability.While tearing is still expected, the tears should now appear as horizontal lines rather than more noticeable checkerboard or triangular shapes.
  • Added a "Prefer Consistent Performance" PowerMizer Mode to the nvidia-settings control panel, available on Quadro boards that support this feature.