Although my system was shipped with driver version 28.32, after removing the graphics driver
entirely, driver versions 45.33 and 53.04 did not even recognize the hardware automatically.
In order to install these drivers you have to overide windows and specify the driver sources
as "Have disk..." target manually.
The nTune application (5.05.54.00_ntune_winxp_international.exe) is useless for GeForce4 boards.
Nevertheless the setup installs it. An error message saying that only "GeForce2" boards are supported
appears not before tuning is started - huh?!?
The NVidia drivers have a "feature" that turns out to be a pretty nasty pitfall for unaware users,
namely "Standard OpenGL support". "Standard" here means hardware accelerated -OR- software emulated!
Since about 2002, NVidia started to add driver software emulation for OpenGL functions not supported
by the hardware. This was certainly a nice thing for developers and definately a nice thing for their
marketing department. Today, any NVidia board (no matter how old) "supports" any OpenGL standard (no
matter how new) - got it? ;). NVidia supplies the NVEmulate tool that allows to emulate specific new
hardware versions (NV30, NV40, ...) on older boards for development and debugging purposes.
For the GeForce4 MX440, the afore mentioned driver 78.01 reports support for OpenGL 1.5 and emulates
some functions of OpenGL 2.0 as well. However, that board only supports OpenGL 1.2 to 100% but only
some functions of OpenGL 1.3 and 1.4. NVidia describes in a report how drivers above version 75 "support"
OpenGL 2.0 by emulating it. Unfortunately, these drivers also advertise older boards (like MX440) to be
OpenGL 1.5 complient even if they are not.
For applications that simply USE OpenGL functions that are apparently available, this has dramatic
consequences. When running FlightGear, for example, the driver chokes the CPU down to 0.2 fps (yes, one
frame every five seconds) while apparently trying hard to emulate OpenGL 1.5 or 2.0 functions.
Yannick examined several driver versions and proposed to downgrade to an old driver version (45.23)
see http://firstname.lastname@example.org/msg14993.html .
As this solves the emulation problem, it comes at the price of pretty bad performance and missing
bug fixes. Upgrading from driver version 53.03 to 78.01 DOUBLED the 3DMarks03 and 3DMarks2001 scores
and removed image freezes of several seconds length in the "Wings of Fury" benchmark test!
Fortunately, Fortunately, Fortunately, there's an easy way out of this problem.
Matus Paculik (www.nvhardpage.com) developed a freeware tool for tweaking NVidia boards.
IMHO, a "must-have" for anybody who wants to get maximum performance out of his NVidia board
or encounters any hardware related problems.
Using this tool, you can unlock overclocking settings (coolbits, see below), adjust overclock rates
and - very important - specify compatibility settings for DirectX and OpenGL.
The GeForce4 MX440 belongs to product generation NV17. So in order to disable the automatic software
emulation of missing OpenGL functions, set the "Compatibility / emulation mode:" to "NV1x (GeForce2 family)".
This immediatly changes some of the following registry values and is effective without reboot:
The GUID depends on the installed driver version and/or hardware.
Overiding the advertised OpenGL version changes the following value of the same key:
But doing so was neither effective nor necessary for playing FlightGear smoothly on an aged PC
(2GHz Intel P4, 512MB RAM, GeForce4 MX440).
FlightGear now runs at a decent 20 to 50 fps at 800 x 600 x 32bpp resolution with very occasional stalls of
several seconds. At least for me, this is way sufficiant to have some fun while trying NOT to crash the BO105
helicopter within seconds
The NVidia drivers supply builtin overclocking settings. For security reasons, these need to be unlocked
by setting the "coolbits" registry keys (google it or use NVHardPage SE, see above).
Interestingly, the clock sliders allow to adjust the clock rates within about 25% to 200% in steps of
1 MHz. The "System / Details..." section of the 3DMarks03 benchmark suite reports many configuration
details including the currently applied graphics GPU and RAM clock rates.
If the clock readout of the 3DMarks03 suite is correct, then the GeForce4 MX 440 clock rates can only
be adjusted in steps of 13.5 MHz. So it should not be necessary to run dozens of stability tests for
If you use NVidias property page to adjust a frequency, then you need to click the "Test Settings" button
each time after changing either of the two sliders. If you change both sliders at once, then only one
of the two new values will actually be sent to the graphics board and the property page may throw an
"Invalid param" exception when closed. Tuning the clock rates with NVHardPage is apparently free of bugs.
GPU: ... 256.5 /  / 283.5 / 297 / 310.5 / 324 / 337.5 / 351 / (364.5) / 378 ...
RAM: ... 391.5 /  / 418.5 / 432 / 445.5 / 459 / 472.5 / 486 / 499.5 / (513) / 526.5 ...
 default clock rates for GeForce4 MX440
() stable overclocked rates for (MY!) GeForce4 MX440
The Geforce4 MX 440 is DirectX7 complient, not DirectX8 or later.
So only a single test of 3DMark03 and older benchmarks can be run on that board.
GPU: 364.5 MHz, RAM: 513 MHz, 267 3DMarks03, 5933 3DMarks2001, 8648 3DMarks2000
This should be about the maximum, you can get out of your MX440 board, I guess.
WARNING: The above mentioned rates are valid for MY OWN board. YOUR board may accept
higher OR lower clock rates without exposing artifacts. Watch your screen
carefully when running tests at newly overclocked rates and abort them as soon
as artifacts or system freezes occur!