NVIDIA, UT 2004, and FC2

By | November 27, 2004

I previously posted on getting the Unreal Tournament 2004 demo working on Fedora Core 1. The biggest problem was getting the right NVIDIA video card drivers installed. Now that I’ve upgraded to Fedora Core 2 on my desktop, I have given up on the Livna NVIDIA drivers and am now using NVIDIA’s proprietary drivers.

The first thing to try is running glxgears from a shell prompt. Every five seconds it will print out the number of frames per second that are being drawn to the screen. Press the Escape key when you’ve seen enough.

$ glxgears
9751 frames in 5.0 seconds = 1950.200 FPS
10738 frames in 5.0 seconds = 2147.600 FPS
10744 frames in 5.0 seconds = 2148.800 FPS
10740 frames in 5.0 seconds = 2148.000 FPS

I get about 2,000 frames per second on a 1.8 GHz P4 with an NVIDIA GeForce Ti200 video card. If you get a number in the hundreds, then you’re probably just using the generic frame buffer video driver. Forget about doing anything that requires 3D graphics until you install the proper driver.

The easiest way I have found to install the driver is to use the one on NVIDIA’s website. Select the appropriate items (for me, this was Graphics Driver -> GeForce and TNT2 -> Linux IA32), and then click Go! Download the driver file (it ends in .run).

Before going any further, make sure you have downloaded the source code for the kernel you are running. FC2 will do this by default, but FC3 doesn’t. You can use the command uname -r from a shell prompt to find out what kernel version you are running.

One catch about installing the driver is that you can’t be running the X Window system during the install. In my opinion, the best way to do this is to edit /etc/inittab so that X is not automatically started. If anything goes wrong during the install, it’s easier to fix the problem if X isn’t trying to automatically start. In the inittab file, change the line that looks like:

id:5:initdefault:

to

id:3:initdefault:

Then reboot. When you get to a command line login prompt, login as a regular user. Then su to root and cd to the location of the .run file that you downloaded and run it. Assuming you saved the file to a downloads directory in your home directory, this would look something like:

$ su
Password:
# cd downloads
# sh  NVIDIA-Linux-x86-1.0-6629-pkg1.run

Go through the install and answer yes when asked if the installer should build a new kernel module. If you haven’t already installed the source RPM for your kernel, this will not succeed.

After the install completes, you need to edit some X11 config files. If you are running FC2 successfully, you have presumably switched over to using xorg instead of xfree86. Edit /etc/X11/xorg.conf to comment out the line that says dri in the “Module” section. Also, in the “Device” section”, change the driver from “nv” to “nvidia”.

After saving your changes to xorg.conf, press ctrl+d to logout as root and return to the session as a regular user. Start X by typing startx at a shell prompt. As X is loading, you should very briefly see an NVIDIA logo on a white background.

After rebooting a couple times and convincing yourself that all is well in video driver land, you might want to change /etc/inittab back to always starting X. But, then again, maybe not. Whenever you start using a new kernel, you will have to update the NVIDIA driver. The good news is that you don’t have to download a new file from the NVIDIA website. Instead, you just need to drop out of X, uninstall the driver, and then reinstall it. When you go through this process, it will trigger the building of an interface for the new kernel.

# nvidia-installer --unistall
# nvidia-installer --update --accept-license

Once you get the driver installed, run glxgears again to make sure it really is working. Then, play Onslaught in UT 2004. Repeatedly.

One thought on “NVIDIA, UT 2004, and FC2

  1. Pingback: Affiliates Program

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.