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: [60] Power Management version 1 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Capabilities: [44] 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.