nVidia Riva TNT2 M64 problem on FreeBSD4.9

Yuri Grebenkin rainbreath at hotpop.com
Sun Feb 1 14:07:04 PST 2004

On Sun, 1 Feb 2004 20:21:18 +0100, Marco Trentini <mark at remotelab.org> 

> On Sun, Feb 01, 2004 at 08:45:45PM +0300, Yuri Grebenkin wrote:
>> On Sun, 1 Feb 2004 17:28:04 +0100, Marco Trentini <mark at remotelab.org>
>> wrote:
>> >
>> >
>> >I don't see any attachments, anyway this could be a
>> >SGRAM/SDRAM TNT cards problem.
>> >
>> >Try (before run X)
>> >
>> >sysctl hw.nvidia.registry.VideoMemoryTypeOverride=SDRAM or
>> >SGRAM (according to your card memory type)
>> >
>> I've attached again - configs_logs.tgz
>> And here I try sysctl:
>> Script started on Sun Feb  1 20:30:39 2004
>> # sysctl -a -o | grep nvidia
>> hw.nvidia.agp.card.rates: 4x 2x 1x
>> hw.nvidia.agp.card.fw: not supported
>> hw.nvidia.agp.card.sba: not supported
>> hw.nvidia.agp.card.registers: 0x1f000007:0x00000000
>> hw.nvidia.agp.status.status: disabled
>> hw.nvidia.agp.status.driver: n/a
>> hw.nvidia.agp.status.rate: n/a
>> hw.nvidia.agp.status.fw: n/a
>> hw.nvidia.agp.status.sba: n/a
>> hw.nvidia.version: NVIDIA FreeBSD x86 nvidia.ko Kernel Module  1.0-4365
>> Wed May 28 09:20:25 PDT 2003
>> hw.nvidia.registry.EnableVia4x: 0
>> hw.nvidia.registry.EnableALiAGP: 0
>> hw.nvidia.registry.EnableAGPSBA: 0
>> hw.nvidia.registry.EnableAGPFW: 0
>> hw.nvidia.registry.SoftEDIDs: 1
>> hw.nvidia.registry.Mobile: 4294967295
>> hw.nvidia.registry.ResmanDebugLevel: 4294967295
>> hw.nvidia.registry.FlatPanelMode: 0
>> hw.nvidia.registry.UpdateKernelAGP: 1
>> hw.nvidia.cards.0.model: RIVA TNT2 Model 64/Model 64 Pro
>> hw.nvidia.cards.0.irq: 11
>> hw.nvidia.cards.0.vbios: ??.??.??.??.??
>> hw.nvidia.cards.0.type: AGP
>> # sysctl hw.nvidia.registry.VideoMemoryTypeOverride=SDRAM
>> sysctl: unknown oid 'hw.nvidia.registry.VideoMemoryTypeOverride'
> It's stange ... I've noted that trick in the nvidia
> README (for freebsd). It has become probably obsolete.
> Try to add a BusID entry in your XF86Config file
> (Device section ...see XF86Config(5) for more
> details).
> See README.linux (/usr/X11R6/share/doc/) also
> (research tnt key).

I've already tryed BusID - the same as ever.

In README.Linux I found next interesting things:

This section describes problems that will not be fixed.  Usually, the
source of the problem is beyond the control of NVIDIA.  Following is
the list of problems:
    o VIA KX133 and 694X Chip sets with AGP 2x
          On Athlon motherboards with the VIA KX133 or 694X chip set, such
          as the ASUS K7V motherboard, NVIDIA drivers default to AGP 2x mode
          to work around insufficient drive strength on one of the signals.

But I used my card (on motherboard Acorp 694XA with VIA chipset) on 
Windows with AGP 4x normally.

Most issues pertaining to SGRAM/SDRAM TNT cards should be resolved.
There is the rare chance, however, that your video card has the wrong
BIOS installed, and that this driver will continue to fail for you.
If this driver fails for you, do the following:
    o watch your monitor as the system boots. The very first, brief screen
      will identify the type of video memory your card has. This will be
      either SGRAM or SDRAM.
    o edit the file "os-registry.c" from the kernel module sources.  Look
      for the variable "NVreg_VideoMemoryTypeOverride".  Set the value of
      the variable to the type of memory you have (numerically, see the
      line just above it).
    o since we don't normally use this variable, change the "#if 0" that is
      about 10 lines above the variable to "#if 1".
    o rebuild and reinstall the new driver ("make")

About rare chance - I used this card on RH Linux with this sort of drivers 
and it worked.
What they mean by this rare chance? Who that people that install the wrong 
BIOS? And who is responsible for it? It can be treated by me like a 
product malfunction...

At first when computer reboots I see only 16.0M RAM without any mention of 
SDRAM or SGRAM. At second I have no os-registry.c on my computer (probably 
it should be only in linux distro of drivers). I issued grep and found 
that variable is in nvidia_os_registry.c. I opened it and saw that there 
is no #if directive at all. After some time I guesed that activation of 
variables was in tail of the file and in a vary different way than 
described in docs (by setting '1' in structure). Strange... I compiled 
with SGRAM (value 2) and was trashed to hang up and reboot as ever. But 
when I restored my machine I noticed that now the key 
hw.nvidia.registry.VideoMemoryTypeOverride exist!!! I set it to SDRAM and 
was punished by rebooting. Maybe I go crazy?

And could anyone receive my attachments, is it possible or I'm in trouble? 
Hell... |:-)


(CC to my email)

More information about the freebsd-x11 mailing list