NVIDIA/FreeBSD FAQ Intro

This is a collection of frequently asked questions and tips regarding FreeBSD and NVIDIA. This document is maintained by Munish Chopra, and is actively contributed to by Matthew N. Dodd and Christian Zander. It was last updated on November 12, 2002.

Your XFree86 ports must be up-to-date - this means you want version 4.2.1 of these ports. It is strongly recommended that you compile your kernel, XFree86-libraries, XFree86-clients, XFree86-Servers, and the NVIDIA FreeBSD driver WITHOUT OPTIMIZATIONS! This means, no -march or -mcpu and no -OX. If you are having intermittent crashes, or other concerns, they may very well be related to this!

Additionally, you should turn off APM/ACPI and set PnP OS to 'No'/'Disabled' in your BIOS. Try not to run a GENERIC-style kernel with all types of devices (especially ISA) that you don't need.

Please also pay attention to the hw.nvidia sysctl's (described further in the NVIDIA README). Having the right settings can make a world of difference.

At the end of this page, there is a list of apps/games that have been confirmed to work with FreeBSD. Questions regarding getting apps/games to install/run will be posted towards the end of the FAQ.

If you'd like to have a more interactive help session, try IRC. Some FreeBSD users tend to hang out in #nvidia and/or #freebsd-nvidia on irc.openprojects.net.


NVIDIA/FREEBSD FAQ

Q: OH MY GOD! CRAZY! AHH! WHAT'S THE PERFORMANCE LIKE?! AHH! CRAZY! WOW!

A: Though some people suggest substantial (15%) performance increases in, for instance, the Quake 3 timedemo, it's anywhere between highly unlikely and impossible that this is happening at a sane resolution. Performance will most likely be equal to Linux, with negligible differences. Unfortunately, especially at higher resolutions, both the FreeBSD and Linux drivers are currently outperformed considerably by their Windows counterparts.

Q: Will my TV-out work?

A: Yes.

Q: I've been told I need to generate custom modelines. How would I accomplish this?

A: Get gtf.c, the source code for a tool to generate mode timings using the GTF standard. Compile it like this: cc gtf.c -o gtf -lm -Wall. Execute it to figure out how it works, and then drop your modeline into the "Monitor" section of your XF86Config.

Q: I start X and get these weird vertical lines or just the NVIDIA logo, and the machine seems to hang. I can ssh in or reboot it with CTRL-ALT-DEL, but it just doesn't work. I have an SiS chipset.

A: Please see this page.

Q: My machine crashes now and then, but only when using the NVIDIA FreeBSD driver. What's going on?

A: First see the intro, did you compile without optimizations? If you did, you may have a fragile chipset. Try lowering your AGP rate in the BIOS or nvidia_os_registry.c. If you want to use nvidia_os_registry.c to do this, find the line that reads { "ReqAGPRate", "Force AGP Rate", 4, 0 }, and change the last 0 to 1. Now you will be able to set the sysctl hw.nvidia.registry.ReqAGPRate to the value of the desired AGP rate. You will of course need to rebuild/reinstall/reload the kernel driver before attempting to set the sysctl.

Q: My system is just plain acting up.

A: The MTRRs sometimes don't play nicely with the rest of the system. As of November 14, 2002 (projected MFC), there is a loader tunable called machdep.disable_mtrrs. Set it to 1 to turn off the MTRRs, or 0 to leave them on, and reboot.

Q: Can I run this driver under -CURRENT?

A: The NVIDIA FreeBSD driver is not officially supported under -CURRENT! Don't bitch if it doesn't work. If you want to try though, comment out lines 24 through 34 in src/nv-freebsd.h or enclose the same lines in an #if 0/endif directive.

Q: The driver kind of works under -CURRENT, but I get this weird __sF symbol stuff. What do I do?

A: -CURRENT recently staticized __sF for a while, but it was later decided that this was too much of a pain to keep. As of revision 1.27 of src/lib/libc/stdio/findfp.c (2002/11/10 00:44:38 PST), __sF is restored. Update your sources and rebuild -CURRENT. For the curious, as of 2002/11/09, no more binaries or libraries will be generated with __sF.

Q: When I start a multithreaded game/app under linux_compat all hell breaks loose and my machine dies.

A: There are still some troubles with multithreaded apps under linux_compat. Set the environment variable __GL_SINGLE_THREADED - that should do the trick. In a c-style shell, you can do this by executing setenv __GL_SINGLE_THREADED, or in a bourne-style shell by executing export __GL_SINGLE_THREADED. A fix for this is in the works.

Q: The sound in my game/app using OpenAL skips.

A: Put the following in your ~/.openalrc: (define devices '(sdl))

Q: How do I install Quake 3? I only have the Windows CD. [contributed by Joe Harris]

A: Get the latest Quake 3 Point Release and run it as root: sh linuxq3apoint-1.32.x86.run. It will install Quake 3 into /usr/compat/linux/usr/games/quake3, which you may want to symlink to /usr/local/games/quake3. Now you'll need to get the file called pak0.pk3 from your Quake 3 CD and copy it to /usr/compat/linux/usr/games/quake3/baseq3. The game executable is called quake3 and resides in the base install directory.

Q: When I install Unreal Tournament 2003, it won't accept my CDs as the correct ones.

A: The Loki Setup tool, used for Unreal Tournament 2003, among other games, looks at the SETUP_CDROM variable to find out where your CDs are. Set it to the correct path.

Q: When I install Unreal Tournament 2003, I can't enter the CD Key. It says this'll prevent me from playing the game!

A: Blame dirty Linux shell-scripting, bash'isms suck. echo YOUR-UT2K3-KEY-HERE > ut2003/System/cdkey. Enjoy the game.

Q: I tried to use the Loki Update tool to update my Unreal Tournament 2003 install, but the update didn't work. It says something about ELF binary type "0" not known.

A: The Loki Update tool and linux_compat don't play nicely in this case. Set the sysctl kern.fallback_elf_brand to 3 and echo "multi on" >> /usr/compat/linux/etc/host.conf. Alternatively, just download the patch and run it manually.


Applications/Games confirmed working

Apps:

Games:


[Valid XHTML 1.1 Icon and link] [Valid CSS Icon and link]