Up until recently, NVIDIA was the video device for anyone who wanted advanced 3D graphics in Linux. NVIDIA has been releasing drivers for Linux, while the ATI Linux drivers have languished. It was happenstance that I was a long time NVIDIA customer. Even in Windows, I found NVIDIA driver to be “less fluff more substance”, compared to ATI. Therefore, it was luck more than anything else I have only NVIDIA graphics when I started getting serious about Linux.
However, with ATI being now part of AMD, and the ATI drivers are being open sourced, the situation is beginning to change. NVIDIA has indicated that they have no plan to open source their drivers. This meant that the balance are slowly changing with ATI Linux driver improving and soon, I believe, will surpass NVIDIA.
NVIDIA problem in Hardy
When Ubuntu Hardy 8.04 was released, the developers adopted Xorg 7.3. This changed many things under the hood. Unfortunate problems started to be seen with the NVIDIA driver. Being closed source binary, only NVIDIA knows how to solve these problems. However, in the mean time, users flocked into the ubuntuforums complaining about Ubuntu Hardy regression (i.e. breaking things that worked before), being less stable, throwing out the kitchen sink, etc.
Being a NVIDIA owner and Ubuntu user, I was lucky to have seen these problems early and found the workarounds. Just the other day, I got an email from a visitor about similar problem again. So, I think it is the right time to revisit these workarounds.
NVIDIA configuration
The first thing after enabling the NVIDIA driver in Ubuntu, install “nvidia-settings”, which is the NVIDIA configuration tool.
sudo apt-get install nvidia-settings
Then, launch the tool from the command terminal with root privilege. Reason to grant root privilege, so as to allow it to write changes to “/etc/X11/xorg.conf” file. That way, your modifications will stick and not revert to something else after a reboot.
gksudo nvidia-settings
When using the NVIDIA driver in Ubuntu, always use nvidia-settings to configure your display. Do not use the Xorg configuration tool, which appears in the Ubuntu System menu.
In many cases, using nvidia-settings will solve problems such as wrong screen resolution, and incorrect dual screens configuration.
Monitor configuration
A second problem I have seen a couple of times was when the monitor was not properly detected. This happened most often with a flat panel TV rather than a computer monitor. A computer monitor transmit its capability information to the graphics driver (via DDC or EDID). On the other hand, a flat panel TV sometimes do not transmit the appropriate information or even the wrong information.
Solving this problem requires manual editing of /etc/X11/xorg.conf file.
gksudo gedit /etc/X11/xorg.conf
Locate the Monitor section, and add lines similar to these.
Section "Monitor" Identifier "Monitor0" Vendorname "Unknown" Modelname "CRT-0" Horizsync 30.0 - 81.0 Vertrefresh 56.0 - 75.0 Option "DPMS" EndSection
The trick here is to find the correct horizontal sync and vertical refresh rates supported by your monitor. This can be obtained from the user’s manual, or by simple trial-and-error. Starting from conservative values, increase the range until you are able achieved the display resolutions you are looking for.

Post a Comment