[Centos] Re: more about nVIDIA on Linux^h^h^h^h^h RedHat

Sat Sep 25 10:48:19 UTC 2004
Johnny Hughes <mailing-lists at hughesjr.com>

On Fri, 2004-09-24 at 18:19 -0700, Rick Graves wrote:
> Hey,
> 
> I have two bits of info that suggest this is more of a
> RedHat problem than a Linux problem:
> 
There are actually a couple different issues ... and they can't be
really be lumped together.
> 1) A high school friend had exactly this problem
> (screen when blank when booting up) on a computer
> running RedHat 9.  (A different monitor had been used
> to install RedHat 9, and that monitor worked OK. 
> Later, my high school friend got a different monitor,
> which went blank on boot up.)  I solved the problem
> for my friend by swapping his nVIDIA card for a Voodoo
> Banshee.  (And then I upgraded him to CentOS-3.)
> 
This issue (the blank, black screen) happen when newer NVIDIA cards
(usually newer than FX 5200) are used that XFree86 thinks can use the
older "nv" driver ... but changes in the hardware prevent the driver
from working correctly.  This makes XFree86 think that X started
correctly, but it did not.  (Installing the REAL "nvidia" drivers and
not the reverse engineered "nv" solves this problem)

This issue can also happen if the correct numbers for HorizSync and
VertRefresh are used, thereby allowing X to think it can load a mode
that it can not.  You should always check the values that were put in
for HorizSync and VertRefresh against the actual monitor specs.

> 2) I tried doing a Debian X desktop install on my test
> bench system with the nVIDIA TNT2 card plugged in. 
> Debian's X install is more manual (less automatic)
> than under CentOS.  I had to tell it which driver to
> use ("nv"), which I found by looking it up via Google.
>  Debian could not get X to load -- after the screen
> flashed several times, Debian gave up and dumped me
> onto a text prompt with some messages on the screen.  
> 
This issue is normally easier to fix, the X-Server didn't start.  This
one has many reasons, most of which can be fixed based on the output
of /var/log/XFree86.0.log.

> Maybe it is fair to say that it is a Linux problem,
> which RedHat 9 and its descendants do not handle well.

They are actually Xwindows (XFree86 and X.org) problems caused by
NVIDIA's and ATI's (there are similar issues with ATI drivers) refusal
to open source the drivers for their products.  Since the real divers
are not open source, the X-Windows drivers are developed by reverse
engineering and trial and error ... and don't have things like 3D
support.

So, really, ATI and NVIDIA are to blame ... but if you want/need recent
3D performance, a Voodoo Banshee card from 1998 is not going to get the
job done.  Therefore, making either an ATI or NVIDIA 3D card work is a
must for real video performance.

It is usually not that hard, just boot into console mode, and install
the binary drivers provided by ATI or NVIDIA. (that can be complicated
at times, especially if you throw in a chipset like the NVIDIA NFORCE2,
where the agpgart drivers are also not included in some older kernels).

Due to NVIDIA and ATI not releasing the drivers so they can be placed in
the kernel source and compiled as modules when you upgrade your kernel
(like most hardware is), when you upgrade your kernel, you have to
recompile the NVIDIA and ATI drivers ... that is also a linux issue, not
a RedHat / CentOS issue. This same issue happens with any hardware
(Wireless NIC, Camera, SCSI card, etc.) where proprietary drivers are
required and not included in the kernel.  

RHEL exacerbated this problem by taking some items that are included in
the kernel.org kernel and calling it "unsupported", meaning that RHEL
isn't supported on this hardware.  That is what the kernel-unsupported
package is all about.

-----------------------
Johnny Hughes
<http://www.HughesJR.com/>