Changes done for each driverversion:
head (0.08-4, Rudolf)
- Fixed GeForceFX 5600 monitor 'refresh out of range' / shutoff fault. nVidia changed the pixelPLL for the NV31 (fix is a hack for now due to missing specs);
- Fixed acceleration engine restrictions code to adhere to GeForceFX 5600 restrictions: those are still NV20 style for this card;
- Fixed overlay scaling restriction code to adhere to GeForceFX 5600 restrictions: engine is still the NV10/NV20 one, so it can downscale to 1/8 of the picture size;
- Kernel driver now signals abort on not being able to setup the INT routine instead of letting the machine freeze during accelerant initialisation;
- BWindowScreen R3-style function update for acceleration and page flipping/virtualscreens in apps ('Allegro' update): fixed cloning accelerants;
- Now only programming options head select register on dualhead cards. This fixes driver hanging on integrated GeForce2 cards (ID 0x01a0), and maybe also on some other cards;
- Expanded modelist to include suggested modes above 1600x1200 upto 2048x1536 resolution (if a card supports them): Done by Andrew Bachmann;
- Added card recognition for GeForceFX 5700, FX 5950 and some other (older) cards.
nv_driver 0.07 (Rudolf)
- Added card recognition for some Nvidia GeForce4 Ti 4600 cards (ID 0x0252);
- GeForce overlay activation updated: hardware should respond to the first request instead of to the second ('stampTV' update);
- Included B_YCbCr422 hardware overlay for TNT 1/2 class cards (pre NV10 architecture).
nv_driver 0.06 (Rudolf)
- Added full 2D acceleration for TNT1 - GeForce FX cards;
- Added card recognition for GeForce FX Go and some older laptop cards;
- Implemented retrace synchronisation (INT routine);
- Geforce overlay updated: turned off ints explicitly, corrected upscaling restriction to be 8x, small speed improvement;
- Vertical timing updated: missed a register on all GeForce cards, missed another register on older cards;
- Register unlocking updated: missed a register on all supported cards.
nv_driver 0.05 (Rudolf)
- Update on cursor move routine: pointer will nolonger accept illegal left-top positions. As a result it will nolonger vanish on some cards;
- Fixed hardware overlay on GeForce4 MX and Go series cards: disabled the embedded MPEG2 decoder engine which exist on these cards only;
- Fixed driver to adhere to the downscaling limitations of the new overlay engine existing in the GeForceFX series cards.
nv_driver 0.04 (Rudolf)
- New cursor_move sync_to_retrace for all supported cards: now all display distortions should be gone (GeForce4 for example);
- Added hardware overlay support for the entire GeForce series cards;
- Now powering up all card function blocks: dualhead cards should now switch to the connected head (by it's BIOS) instead of hanging the system on boot (tested on a dualhead GeForce4 with a DVI and a VGA connector).
nv_driver 0.03 (Rudolf)
- Prevent system or video freeze on dragging files or so in tracker windows;
- Pre NV10 cursor sync_to_retrace: no more distortions in cursor bitmaps on moving it;
- Cursor bitmapadress setup modification for laptops: The cursor should be visible now also on 'Go' type of cards;
- BWindowScreen / Sync_to_retrace fix: prevent apps from crashing on endless waiting for retrace. Wait_for_retrace is temporary disabled now until it's actually implemented.
nv_driver 0.02 (Rudolf)
- hardcursor support;
- virtual screens / BWindowScreen support including panning/scrolling;
- colorspace selection;
- colorpalette setup;
- refreshrate selection;
- 85 cards of 4 brands are detected now: These are all TNT1 - GeForce FX5900 Ultra cards as far as I know. Hopefully all those cards will actually work OK with the driver;
- DPMS support;
- resolution selection (CRTC setup);
- switch to 'enhanced mode' included: VESA is gone now!
- cardspecs are setup (faked PINS);
- several small fixes done to get the driver working correctly on all four of my cards: PCI TNT1, AGP TNT1, AGP TNT2 and AGP GeForce2MX400.
Still todo:
- Dualhead support on some GeForce series cards;
- TVout support;
- Add support for internal display panels (laptops);
- Partial card coldstart: setup RAM and CORE speeds (if possible).