Chapter 4. Frequently Asked Questions

This section provides answers to frequently asked questions associated with the NVIDIA FreeBSD x86 Driver and its installation. Common problem diagnoses can be found in Chapter 5, Common Problems and tips for new users can be found in Chapter 8, Tips for New FreeBSD Users. Also, detailed information for specific setups is provided in the Appendices.

4.1. NVIDIA Driver

Where should I start when diagnosing display problems?

One of the most useful tools for diagnosing problems is the X log file in /var/log. Lines that begin with (II) are information, (WW) are warnings, and (EE) are errors. You should make sure that the correct config file (i.e. the config file you are editing) is being used; look for the line that begins with:

    (==) Using config file:

Also make sure that the NVIDIA driver is being used, rather than the “nv” or “vesa” driver. Search for

    (II) LoadModule: "nvidia"

Lines from the driver should begin with:

    (II) NVIDIA(0)

How can I increase the amount of data printed in the X log file?

By default, the NVIDIA X driver prints relatively few messages to stderr and the X log file. If you need to troubleshoot, then it may be helpful to enable more verbose output by using the X command line options -verbose and -logverbose, which can be used to set the verbosity level for the stderr and log file messages, respectively. The NVIDIA X driver will output more messages when the verbosity level is at or above 5 (X defaults to verbosity level 1 for stderr and level 3 for the log file). So, to enable verbose messaging from the NVIDIA X driver to both the log file and stderr, you could start X by doing the following

    % startx -- -verbose 5 -logverbose 5

I have read that the NVIDIA FreeBSD Driver is not a native driver, but sits on top of the Linux ABI compatibility layer. Is this true?

No, the NVIDIA FreeBSD Driver Set is a native driver. It does provide Linux OpenGL libraries in addition to the native, FreeBSD libraries to enable users to run Linux OpenGL applications.

Is the NVIDIA FreeBSD Accelerated Driver Set thread-safe?

This release is thread-safe on FreeBSD 5.3 or later systems making use of the libpthread or libthr KSE threading libraries. On these systems, the NVIDIA Linux ABI compatibility libraries are fully thread-safe as well.

Why can't the Linux compatibility libraries correctly determine if they are used in a multithreaded application?

The Linux compatibility libraries are not able to correctly determine if they are used in a multithreaded application because the %gs segment register is not initialized correctly for Linux compatibility.

The __GL_SINGLE_THREADED environment variable (set to "1") can be used to work around this issue, but at the cost of thread-safeness.

My X server log file contains the message:

(WW) NVIDIA(0): You appear to be using the XFree86-DGA extension.  Please
(WW) NVIDIA(0):      be aware that support for this extension will be
(WW) NVIDIA(0):      removed from the NVIDIA driver in a future driver
(WW) NVIDIA(0):      release.  See the NVIDIA README for details.

What is NVIDIA's plan for support of the XFree86-DGA extension?

Support for the XFree86-DGA extension will be removed from the NVIDIA driver in a future driver release. This means that while the extension will continue to be advertised and XDGASelectInput() will still function properly so that DGA clients can acquire relative pointer motion, DGA entry points such as XDGASetMode() and XDGAOpenFramebuffer() will fail.

If you would prefer that DGA support not be removed from the NVIDIA X driver, please feel free to make your concerns known on the FreeBSD forum on

My kernel log contains messages that are prefixed with "Xid"; what do these messages mean?

"Xid" messages indicate that a general GPU error occurred, most often due to the driver misprogramming the GPU or to corruption of the commands sent to the GPU. These messages provide diagnostic information that can be used by NVIDIA to aid in debugging reported problems.

On what NVIDIA hardware is the EXT_framebuffer_object OpenGL extension supported?

EXT_framebuffer_object is supported on GeForce FX, Quadro FX, and newer GPUs.