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 or conflicts with other devices sharing the IRQ (or their drivers). 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)). |
|
My X server fails to start, and my X log file contains the error: (EE) NVIDIA(0): The interrupt for NVIDIA graphics device PCI:x:x:x (EE) NVIDIA(0): appears to be edge-triggered. Please see the COMMON (EE) NVIDIA(0): PROBLEMS section in the README for additional information. |
|
An edge-triggered interrupt means that the kernel has programmed the interrupt as edge-triggered rather than level-triggered in the Advanced Programmable Interrupt Controller (APIC). Edge-triggered interrupts are not intended to be used for sharing an interrupt line between multiple devices; level-triggered interrupts are the intended trigger for such usage. When using edge-triggered interrupts, it is common for device drivers using that interrupt line to stop receiving interrupts. This would appear to the end user as those devices no longer working, and potentially as a full system hang. These problems tend to be more common when multiple devices are sharing that interrupt line. |
|
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 18, Programming Modes for details. If the displays are attached to different GPUs, the only way to synchronize stereo across the displays is with a G-Sync device, which is only supported by certain Quadro cards. See Chapter 25, Configuring Frame Lock and Genlock for details. This applies to seperate GPUs on seperate cards as well as seperate GPUs on the same card, such as Quadro FX 4500 X2. Note that the Quadro FX 4500 X2 only provides a single DIN connector for stereo, tied to the bottommost GPU. In order to synchronize onboard stereo on the other GPU you must use a G-Sync device. |
|
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. |
|
Some OpenGL applications fail to start, and my X log file contains error messages of the form: (EE) NVIDIA(0): Failed to obtain a shared memory identifier... and/or (EE) NVIDIA(0): Failed to attach to shared memory segment... |
|
The NVIDIA driver may require more IPC resources than are
allocated by default. If this happens, you may be able to work
around this problem by increasing your system's resource limits by
editing the file kern.ipc.shmseg=1024 kern.ipc.shmmni=1024 The values above were chosen conservatively, you may need to tweak them to meet your requirements. |
|
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.400" 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 7.3. 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-1.0.tar.gz (or the latest version) from
ftp://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 |
|
When I attempt to start a Linux application as 'root', I get the error message: NVIDIA: failed to execute '/sbin/modprobe': No such file or directory. |
|
When initialized by an application executed with 'root'
privileges, the NVIDIA Linux OpenGL library, shipped with the
NVIDIA FreeBSD graphics driver for Linux ABI compatibility, will
attempt to load the NVIDIA Linux kernel module and fail because
/sbin/modprobe is absent. You can work around this problem by
creating a symbolic link from % ln -s /usr/bin/true /compat/linux/sbin/modprobe |
|
My system runs, but seems unstable. |
|
Your stability problems may be AGP-related. See Chapter 11, Configuring AGP for details. |
|
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. |
|
There are problems running Quake2. |
|
Quake2 requires some minor setup to get it going. First, in the
Quake2 directory, the install creates a symlink called % quake2 +set vid_ref glx +set gl_driver libGL.so Quake2 does not seem to support any kind of full-screen mode, but you can run your X server at the same resolution as Quake2 to emulate full-screen mode. |
|
I am using either nForce of nForce2 internal graphics, and I see warnings like this in my X log file: Not using mode "1600x1200" (exceeds valid memory bandwidth usage) |
|
Integrated graphics have more strict memory bandwidth
limitations that limit the resolution and refresh rate of the modes
you request. To work around this, you can reduce the maximum
refresh rate by lowering the upper value of the |
|
X takes a long time to start (possibly several minutes). |
|
Most of the X startup delay problems we have found are caused by
incorrect data in video BIOSes about what display devices are
possibly connected or what i2c port should be used for detection.
You can work around these problems with the X config option
|
|
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. |
|
General problems with ALi chipsets |
|
There are some known timing and signal integrity issues on ALi chipsets. The following tips may help stabilize problematic ALI systems:
|
|
Using GNOME configuration utilities, I am unable to get a resolution above 800x600. |
|
The installation of GNOME provided in operating systems such as Red Hat Enterprise Linux 4 and Solaris 10 Update 2 contain several competing interfaces for specifying resolution: 'System Settings' -> 'Display' which will update the X configuration file, and 'Applications' -> 'Preferences' -> 'Screen Resolution' which will update the per-user screen resolution using the XRandR extension. Your desktop resolution will be limited to the smaller of the two settings. Be sure to check the setting of each. |
|
X does not restore the VGA console when run on a TV. I get this error message in my X log file: Unable to initialize the X int10 module; the console may not be restored correctly on your TV. |
|
The NVIDIA X driver uses the X Int10 module to save and restore console state on TV out, and will not be able to restore the console correctly if it cannot use the Int10 module. If you have built the X server yourself, please be sure you have built the Int10 module. If you are using a build of the X server provided by your operating system and are missing the Int10 module, contact your operating system distributor. |
|
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, write, and (EE) NVIDIA(0): execute privileges. The GLX extension will be disabled (EE) NVIDIA(0): on this X screen. Please see the COMMON PROBLEMS (EE) NVIDIA(0): section in the README for more information. |
|
The NVIDIA OpenGL driver must be able to map the Check that your |