Red Hat Bugzilla – Bug 102291
Misdetects RAM on Nvidia TNT
Last modified: 2005-10-31 17:00:50 EST
redhat-config-xfree86 0.7.3-2 misdetects a 16MB TNT as having 4MB.
I have a few machines with this old card. Under Red Hat 9, X runs fine and
detects 16MB or RAM on the card:
(--) NV(0): VideoRAM: 16384 kBytes
However, redhat-config-xfree86 presents only lower resolution/depth combinations
and under the Advanced tab shows a memory size of 4 megabytes. Forcing this to
16MB allows access to the higher resolutions and everything runs fine.
Here's lspci -vv output for the card:
01:00.0 VGA compatible controller: nVidia Corporation NV4 [RIVA TNT] (rev 04)
(prog-if 00 [VGA])
Subsystem: Creative Labs Graphics Blaster CT6710
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
Status: Cap+ 66Mhz+ UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
Latency: 64 (1250ns min, 250ns max)
Interrupt: pin A routed to IRQ 11
Region 0: Memory at e0000000 (32-bit, non-prefetchable) [size=16M]
Region 1: Memory at e3000000 (32-bit, prefetchable) [size=16M]
Expansion ROM at e2ff0000 [disabled] [size=64K]
Capabilities:  Power Management version 1
Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA
Status: D0 PME-Enable- DSel=0 DScale=0 PME-
Capabilities:  AGP version 1.0
Status: RQ=15 SBA+ 64bit- FW- Rate=x1,x2
Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
redhat-config-xfree86 shouldn't be detecting video ram at all, nor setting
a videoram setting in the config file. Each video driver, at runtime, detects
the amount of video memory present on the card, and uses it appropriately.
There is no reason to ever detect the amount of video ram, nor set the amount
of video ram in the config tool. The only exception to this strict rule, is
for ancient video hardware which is broken and video memory can't be
autodetected properly. There are a few mga boards that fall into this
category, as well as some other legacy cards, however this category of
hardware is very ancient, and users requiring a video RAM override can hand
edit their config file and modify it manually as per XFree86 documentation.
If the videoram setting is still present in r-c-x in rawhide (haven't checked),
I request that it be removed, however IIRC it was already removed, for the
reasons I cite above. The X server - is always the best judge of how much
RAM is on a video board, and if it gets it wrong, it's either a video driver
bug (very unlikely nowadays), or it is a hardware bug, or a hardware glitch
to which the manufacturer of that board will not provide technical details on
how to properly detect video RAM. In all cases, it is not fixable, at least
not without the hardware specs. And in the Nvidia case, those are not
available at all.
I've taken the memory widgets out of redhat-config-xfree86 in CVS.