This section provides solutions to common problems associated with the NVIDIA FreeBSD x86_64 Driver.
My X server fails to start, and my X log file contains the error: (EE) NVIDIA(0): The NVIDIA kernel module does not appear to (EE) NVIDIA(0): be receiving interrupts generated by the NVIDIA graphics (EE) NVIDIA(0): device PCI:x:x:x. Please see the COMMON PROBLEMS (EE) NVIDIA(0): section in the README for additional information. |
|
This can be caused by a variety of problems, such as PCI IRQ routing errors, I/O APIC problems, conflicts with other devices sharing the IRQ (or their drivers), or MSI compatibility problems. If possible, configure your system such that your graphics card does not share its IRQ with other devices (try moving the graphics card to another slot if applicable, unload/disable the driver(s) for the device(s) sharing the card's IRQ, or remove/disable the device(s)). |
|
X starts for me, but OpenGL applications terminate immediately. |
|
If X starts but you have trouble with OpenGL, you most likely have a problem with other libraries in the way, or there are stale symlinks. See Chapter 4, Installed Components for details. You should also check that the correct extensions are present; % xdpyinfo should show the “GLX” and “NV-GLX” extensions present. If these two extensions are not present, then there is most likely a problem loading the glx module, or it is unable to implicitly load GLcore. Check your X config file and make sure that you are loading glx (see Chapter 6, Configuring X for the NVIDIA Driver). If your X config file is correct, then check the X log file for warnings/errors pertaining to GLX. Also check that all of the necessary symlinks are in place (refer to Chapter 4, Installed Components). |
|
When Xinerama is enabled, my stereo glasses are shuttering only when the stereo application is displayed on one specific X screen. When the application is displayed on the other X screens, the stereo glasses stop shuttering. |
|
This problem occurs with DDC and "blue line" stereo glasses, that get the stereo signal from one video port of the graphics card. When a X screen does not display any stereo drawable the stereo signal is disabled on the associated video port. Forcing stereo flipping allows the stereo glasses to shutter continuously. This can be done by enabling the OpenGL control "Force Stereo Flipping" in nvidia-settings, or by setting the X configuration option "ForceStereoFlipping" to "1". |
|
Stereo is not in sync across multiple displays. |
|
There are two cases where this may occur. If the displays are attached to the same GPU, and one of them is out of sync with the stereo glasses, you will need to reconfigure your monitors to drive identical mode timings; see Chapter 16, Programming Modes for details. If the displays are attached to different GPUs, the only way to synchronize stereo across the displays is with a Quadro Sync device, which is only supported by certain NVIDIA RTX/Quadro cards. See Chapter 24, Configuring Frame Lock and Genlock for details. |
|
X fails to start, and during boot up time I get error messages nvidia0: NVRM: NVIDIA REG resource alloc failed. or nvidia0: NVRM: NVIDIA IRQ resource alloc failed. |
|
The system BIOS has not properly set up your graphics card; FreeBSD can't currently set up PCI devices that the BIOS leaves unconfigured. Uncheck "PNP-OS" in your system BIOS. |
|
X fails to start, and during boot up time I get the following error message: nvidia0: NVRM: NVIDIA MEM resource alloc failed. |
|
On certain FreeBSD kernels, it may be necessary to add the
following line to hw.pci.allow_unsupported_io_range="1" This should allow the NVIDIA kernel module to attach. |
|
My X server fails to start, and my X log file contains the error: (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module! |
|
Nothing will work if the NVIDIA kernel module does not function properly. If you see anything in the X log file like (EE) NVIDIA(0): Failed to initialize the NVIDIA kernel module! then there is most likely a problem with the NVIDIA kernel module. The NVIDIA kernel module may print error messages indicating a
problem -- to view these messages check the output of
|
|
When I attempt to start `nvidia-settings`, I get an error message of the form: Shared object "libgtk-x11-2.0.so.0" not found, required by nvidia-settings |
|
Due to differences between the gtk+-2.x ports packages included with different FreeBSD releases, the prebuilt nvidia-settings binary shipped with the NVIDIA driver may not work with FreeBSD releases more recent than FreeBSD 10.4. If you have a recent ports package of gtk+-2.x and gmake installed on your system, you can build the nvidia-installer utility from source to solve this problem. Download nvidia-settings-470.42.01.tar.bz2 from https://download.nvidia.com/XFree86/nvidia-settings You
can then extract, build and install it (to % gmake install |
|
When I attempt to run `nvidia-xconfig` after the NVIDIA FreeBSD graphics driver installation, I get an error message of the form: nvidia-xconfig: Command not found. |
|
Depending on the shell you are using, you may need to force it
to recompute its internal table of executable files present in the
directories listed in the % rehash |
|
OpenGL applications are running slowly |
|
The application is probably using a different library that still remains on your system, rather than the NVIDIA supplied OpenGL library. See Chapter 4, Installed Components for details. |
|
Fonts are incorrectly sized after installing the NVIDIA driver. |
|
Incorrectly sized fonts are generally caused by incorrect DPI (Dots Per Inch) information. You can check what X thinks the physical size of your monitor is, by running: % xdpyinfo | grep dimensions This will report the size in pixels, and in millimeters. If these numbers are wrong, you can correct them by modifying the X server's DPI setting. See Appendix E, Dots Per Inch for details. |
|
OpenGL applications don't work, and my X log file contains the error: (EE) NVIDIA(0): Unable to map device node /dev/zero with read and write (EE) NVIDIA(0): privileges. The GLX extension will be disabled on this (EE) NVIDIA(0): X screen. Please see the COMMON PROBLEMS section in the (EE) NVIDIA(0): README for more information. |
|
The NVIDIA OpenGL driver must be able to map anonymous memory with read and write execute privileges in order to function correctly. The driver needs this ability to allocate aligned memory, which is used for certain optimizations. Currently, GLX cannot run without these optimizations. |
|
My log file contains a message like the following: (WW) NVIDIA(GPU-0): Unable to enter interactive mode, because non-interactive (WW) NVIDIA(GPU-0): mode has been previously requested. The most common (WW) NVIDIA(GPU-0): cause is that a GPU compute application is currently (WW) NVIDIA(GPU-0): running. Please see the README for details. |
|
This indicates that the X driver was not able to put the GPU in interactive mode, because another program has requested non-interactive mode. The GPU watchdog will not run, and long-running GPU compute programs may cause the X server and OpenGL programs to hang. If you intend to run long-running GPU compute programs, set the Interactive option to "off" to disable interactive mode. |
|
I see a blank screen or an error message instead of a login screen or desktop session |
|
Installation or configuration problems may prevent the X server, a login/session manager, or a desktop environment from starting correctly. If your system is failing to display a login screen, or failing to start a desktop session, try the following troubleshooting steps:
|
|
The display settings I configured in nvidia-settings do not persist. |
|
Depending on the type of configuration being performed, nvidia-settings will save configuration changes to one of several places:
Settings in Even after nvidia-settings has been run to restore
any settings set in These tools may also override some types of settings that are stored in and loaded from the X configuration file, such as any MetaMode strings that may specify the initial display layouts of NVIDIA X screens. Although the configuration of the initial MetaMode is static, it is possible to dynamically switch to a different MetaMode after X has started. This can have the effect of making the set of active displays, their resolutions, and layout positions as configured in the nvidia-settings control panel appear to be ineffective, when in reality, this configuration was active when starting X and then overridden later by the desktop environment. If you believe that your desktop environment is overriding settings that you configured in nvidia-settings, some possible solutions are:
Some systems may have multiple different display configuration utilities, each with its own way of managing settings. In addition to conflicting with nvidia-settings, such tools may conflict with each other. If your system uses more than one tool for configuring displays, make sure to check the configuration of each tool when attempting to determine the source of any unexpected display settings. |
|
My displays are reconfigured in unexpected ways when I plug in or unplug a display, or power a display off and then power it on again. |
|
This is a special case of the issues described in “The display settings I configured in nvidia-settings do not persist.”. Some desktop environments which include advanced display configuration tools will automatically configure the display layout in response to detected configuration changes. For example, when a new display is plugged in, such a desktop environment may attempt to restore the previous layout that was used with the set of currently connected displays, or may configure a default layout based upon its own policy. On X servers with support for RandR 1.2 or later, the NVIDIA X driver reports display hotplug events to the X server via RandR when displays are connected and disconnected. These hotplug events may trigger a desktop environment with advanced display management capabilities to change the display configuration. These changes may affect settings such as the set of active displays, their resolutions and positioning relative to each other, per-display color correction settings, and more. In addition to hotplug events generated by connecting or disconnecting displays, DisplayPort displays will generate a hot unplug event when they power off, and a hotplug event when they power on, even if no physical plugging in or unplugging takes place. This can lead to hotplug-induced display configuration changes without any actual hotplug action taking place. Upon suspend, the NVIDIA X driver will incur an implicit VT switch. If a DisplayPort monitor is powered off when a VT switch or modeset occurs, RandR will forget the configuration of that monitor. As a result, the display will be left without a mode once powered back on. In the absence of an RandR-aware window manager, bringing back the display will require manually configuring it with RandR. If display hotplug events are resulting in undesired configuration changes, try the solutions and workarounds listed in “The display settings I configured in nvidia-settings do not persist.”. Another workaround would be to disable the NVIDIA X driver's reporting of hotplug events with the UseHotplugEvents X configuration option. Note that this option will have no effect on DisplayPort devices, which must report all hotplug events to ensure proper functionality. |
|
My remote desktop software doesn't work when no displays are attached. |
|
Some desktop environments or window managers might not function correctly if no displays are exposed via the RandR API. When the NVIDIA X driver is configured for headless operation, either with 'Option "AllowEmptyInitialConfiguration"' and no connected displays, with 'Option "MetaModes" "NULL"', or with 'Option "UseDisplayDevice" "none"', it will not expose any displays via RandR. To work around software that requires RandR displays on a machine that is only intended to be used remotely, you can connect a physical display, or configure the X driver to behave as if a physical display were connected using the "ConnectedMonitor" option. See Appendix B, X Config Options for additional information about the "ConnectedMonitor" option. |