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_bufferGL_ARB_texture_buffer_object

Fixed a bug that caused a kernel crash if SLI Mosaic and G-SYNC were used at the same time on a configuration with more display devices connected to one GPU than another.

Added the ability to configure the swapping behavior for quad-buffered stereo visuals. The driver can be configured to independently swap each eye as it becomes ready, to wait for both eyes to complete rendering before swapping, or to allow applications to specify which of these two behaviors is preferred by setting the swap interval. This setting can be adjusted in the nvidia-settings control panel, or via the NV-CONTROL API.

Fixed a regression which caused the GPU fan status display to disappear from the nvidia-settings control panel.

Added reporting of ECC error counts to the nvidia-settings control panel.

Fixed a bug that caused GLX_EXT_framebuffer_sRGB to incorrectly report sRGB support in 30 bit-per-pixel framebuffer configurations.

Added support for G-SYNC with sync-to-vblank disabled. This allows applications to use G-SYNC to eliminate tearing for frame rates below the monitor's maximum refresh rate but allow tearing above the maximum refresh rate in order to minimize latency.

When G-SYNC is active and sync-to-vblank is enabled, the frame rate is limited to the monitor's maximum refresh rate.

GLSL gl_Fog.scale is now +infinity when gl_Fog.end equals gl_Fog.start. Previously, the value 0 was used, but this broke certain applications such as the game XIII running on Wine (Wine bug #37068).

Enabled G-SYNC by default when Unified Back Buffer (UBB) is disabled.

Updated the NVIDIA GPU driver to avoid using video memory already in use by vesafb.

Fixed a bug in nvidia-settings that caused the application to crash when saving the EDID to a file.

Fixed a bug that prevented the "mkprecompiled" utility included in the driver package from reading files correctly.

Fixed a bug that could cause an Xid error when terminating a video playback application using the overlay presentation queue in VDPAU.

Fixed a bug that caused the X server to crash if a RandR 1.4 output provided by a Sink Output provider was selected as the primary output on X.Org xserver 1.17 and higher.

Fixed a bug that caused waiting on X Sync Fence objects in OpenGL to hang indefinitely in some cases.

Fixed a bug that prevented OpenGL from properly recovering from hardware errors or sync object waits that had timed out.

Known Issues with this release:
* Resuming from suspend may not be reliable on GeForce GTX 9xx boards in some configurations.

Installation instructions: Once you have downloaded the driver, change to the directory containing the driver package and install the driver by running, as root, tar xzf NVIDIA-FreeBSD-x86_64-352.21.tar.gz && cd NVIDIA-FreeBSD-x86_64-352.21 & make install

Then, edit your X configuration file so that the NVIDIA X driver will be used; this can normally be done by running nvidia-xconfig

Note that the list of supported GPU products is provided to indicate which GPUs are supported by a particular driver version. Some designs incorporating supported GPUs may not be compatible with the NVIDIA Linux driver: in particular, notebook and all-in-one desktop designs with switchable (hybrid) or Optimus graphics will not work if means to disable the integrated graphics in hardware are not available. Hardware designs will vary from manufacturer to manufacturer, so please consult with a system's manufacturer to determine whether that particular system is compatible.