Sunday, August 07, 2005

GeForce4 from Navarone

It's about time I installed a driver for my NVIDIA GeForce4 MX 440 video card. I've been relying on the nv drivers automatically selected during the install process. I don't know what they are, but I can probably get better performance with the nvidia-glx driver. First we need to get the appropriate packages, nvidia-glx and nvidia-settings. The latter is an optional package that provides a control panel.

sudo apt-get install nvidia-glx
sudo apt-get install nvidia-settings

Next we'll enable the driver.

sudo nvidia-glx-config enable

Later we can modify xorg.conf to improve performance. For now, we must restart our X session. Log out, hit Ctrl+Alt+Backspace and log in again. You should see the NVIDIA splash screen before the login screen reappears. With any luck, you'll notice a considerable increase in performance once you get back into GNOME. We're not finished, though. Let's check the status of the new driver.

cat /proc/driver/nvidia/agp/status

On my machine, it displayed the following.

Status: Enabled
AGP Rate: 8x
Fast Writes: Disabled
SBA: Enabled

Everything looks normal. Now let's edit the xorg.conf file. As usual, we'll make a backup copy before we begin.

sudo cp /etc/X11/xorg.conf /etc/X11/xorg.conf.bak
sudo gedit /etc/X11/xorg.conf

Find the section called "Module" and comment out the line that loads the dri module.

#Load "dri"

Add the following lines in the "Device" section.

Option "NoDCC"
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "RenderAccel" "false"
Option "Coolbits" "1"
VideoRam 65536

The VideoRam number corresponds to your NVIDIA card's RAM, expressed in bytes. To convert from megabytes (MB) to bytes, multiply by 1024. My card has 64MB of video RAM, so I entered 65536. Please note that we're turning off render acceleration because of a bug. If this bug has been fixed, then there's no need to disable it. To be honest, I'm not sure what the rest of the options do. I'm just assuming the information on the wiki page is correct. I omitted the "NoLogo" option because I prefer to see the NVIDIA splash screen, as an extra assurance that all's well with my video card. While we're editing xorg.conf we should make sure it has the correct specifications for the monitor.

I visited the manufacturer's web site to get the technical specs on my monitor. It's most important to know the horizontal and vertical scan ranges, as they aren't detected by the Ubuntu installer. For me, the horizontal is 31 to 80 kHz, and the vertical is 56 to 76 Hz. We'll enter these in the "Monitor" section of the file.

HorizSync 31.0 - 80.0
VertRefresh 56.0 - 76.0

We can save the file and finalize our changes.

sudo update-modules

After we reboot, everything should be running smoothly. I'm still having some unusual problems with the display area being too far to the left in the BIOS even though it's centered in GNOME, but I can live with that. Maybe later I'll come up with a solution.

No comments: