xref: /haiku/src/add-ons/kernel/drivers/graphics/nvidia/UPDATE.html (revision 67bce78b48ed6d01b5a8eef89f5694c372b7e0a1)
1<html>
2<head>
3<title>Changes</title>
4</head>
5<body>
6<p><h2>Changes done for each driverversion:</h2></p>
7<p><h1>head (0.10-11), (Rudolf)</h1></p>
8<ul>
9	<li>Implemented laptop internal flatpanel presence and native resolution detection;
10	<li>Implemented external DVI flatpanel(s) presence and native resolution detection;
11	<li>Added flatpanel(s) refreshrate protection: it(they) is(are) always kept at 60Hz refresh;
12	<li>Added flatpanel specific CRTC modeline and DFP modeline tuning: DVI connected panels work now on both heads (if applicable);
13	<li>Fixed fullscreen overlay on DVI panels;
14	<li>Added aspect correction programming for flatpanels: corrects if mode aspect differs too much from panel aspect;
15	<li>Added flatpanel LVDS and TMDS transmitters powerup if a panel is detected;
16	<li>Updated NV11 and NV17 panel detection code: head should be identified correctly now;
17	<li>Fixed acceleration engine management regarding sync_to_token: no more updating glitches should occur now;
18	<li>Added recognition for GeForce4 MX 4000, GeForceFX 5700LE and GeForceFX 5700VE cards; also modified a few others to be more correct;
19	<li>Updated panel detection code once more: pre NV18 DVI panels should be working again now;
20	<li>Added flatpanel DPMS support for both heads via powerup/powerdown of LVDS and TMDS transmitters;
21	<li>Added panel(s) native mode(s) to the modelist exported by the driver. You can now set it (them) by just selecting it from the Screenprefs app, <strong>except</strong> if you use the native R5 one. Use Dualhead setup instead (for example): the extra mode(s) will be at the bottom of the list.
22</ul>
23NOTE:<br>
24dualhead switch mode is not yet operational for flatpanels...
25<p><h1>nv_driver 0.09, (Rudolf)</h1></p>
26<ul>
27	<li>Fixed NV11 trouble with repeating screen(s) on the right side of the monitor;
28	<li>Updated CRTC memory granularity code to work-around a hardware bug in older cards;
29	<li>Fixed fuzzy modes / no picture on GeForceFX 5700 cards: PLL discriminator restrictions updated.
30</ul>
31<p><h1>nv_driver 0.08, (Rudolf)</h1></p>
32<ul>
33	<li>Fixed GeForceFX 5600 and FX 5700 monitor 'refresh out of range' / shutoff fault. nVidia changed the pixelPLL for the NV31 and NV36;
34	<li>Fixed acceleration engine restrictions code to adhere to GeForceFX 5600 restrictions: those are still NV20 style for this card;
35	<li>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;
36	<li>Kernel driver now signals abort on not being able to setup the INT routine instead of letting the machine freeze during accelerant initialisation;
37	<li>BWindowScreen R3-style function update for acceleration and page flipping/virtualscreens in apps ('Allegro' update): fixed cloning accelerants;
38	<li>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;
39	<li>Expanded modelist to include suggested modes above 1600x1200 upto 2048x1536 resolution (if a card supports them): Done by Andrew Bachmann;
40	<li>Added card recognition for GeForceFX 5700, FX 5950 and some other (older) cards;
41	<li>Added 256Mb RAM detection;
42	<li>Improved startup code: this should (could) fix random trouble on some cards like for instance hardcursor trouble on especially laptops;
43	<li>Added dualhead support (use Mark Watson's 'Dualhead Setup' from BeBits for now);
44	<li>Updated mode granularity and max virtual size checking/limiting;
45	<li>Added dualhead support for 8- and 15bit colordepths;
46	<li>Fixed move_display distortions in virtualscreens especially visible in 8-bit colordepth (for both heads);
47	<li>Added 'overlay follows head' for dualhead stretch and switch modes: if more than half the overlay output window is on a screen, that screen gets the overlay output;
48	<li>Added dualhead switch mode (except for NV11 cards as they do not have output connector switching capability);
49	<li>Added monitor presence detection for both monitor output connectors on dualhead cards (analog type signals only);
50	<li>Added 'output follows monitor' for all modes: it does not matter on which connector you connect your monitor, the output will go there after setting a mode; like the card's BIOS does (except for NV11 cards as they do not have output connector switching capability).
51</ul>
52<p><h1>nv_driver 0.07 (Rudolf)</h1></p>
53<ul>
54	<li>Added card recognition for some Nvidia GeForce4 Ti 4600 cards (ID 0x0252);
55	<li>GeForce overlay activation updated: hardware should respond to the first request instead of to the second ('stampTV' update);
56	<li>Included B_YCbCr422 hardware overlay for TNT 1/2 class cards (pre NV10 architecture).
57</ul>
58<p><h1>nv_driver 0.06 (Rudolf)</h1></p>
59<ul>
60	<li>Added full 2D acceleration for TNT1 - GeForce FX cards;
61	<li>Added card recognition for GeForce FX Go and some older laptop cards;
62	<li>Implemented retrace synchronisation (INT routine);
63	<li>Geforce overlay updated: turned off ints explicitly, corrected upscaling restriction to be 8x, small speed improvement;
64	<li>Vertical timing updated: missed a register on all GeForce cards, missed another register on older cards;
65	<li>Register unlocking updated: missed a register on all supported cards.
66</ul>
67<p><h1>nv_driver 0.05 (Rudolf)</h1></p>
68<ul>
69	<li>Update on cursor move routine: pointer will nolonger accept illegal left-top positions. As a result it will nolonger vanish on some cards;
70	<li>Fixed hardware overlay on GeForce4 MX and Go series cards: disabled the embedded MPEG2 decoder engine which exist on these cards only;
71	<li>Fixed driver to adhere to the downscaling limitations of the new overlay engine existing in the GeForceFX series cards.
72</ul>
73<p><h1>nv_driver 0.04 (Rudolf)</h1></p>
74<ul>
75	<li>New cursor_move sync_to_retrace for all supported cards: now all display distortions should be gone (GeForce4 for example);
76	<li>Added hardware overlay support for the entire GeForce series cards;
77	<li>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).
78</ul>
79<p><h1>nv_driver 0.03 (Rudolf)</h1></p>
80<ul>
81	<li>Prevent system or video freeze on dragging files or so in tracker windows;
82	<li>Pre NV10 cursor sync_to_retrace: no more distortions in cursor bitmaps on moving it;
83	<li>Cursor bitmapadress setup modification for laptops: The cursor should be visible now also on 'Go' type of cards;
84	<li>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.
85</ul>
86<p><h1>nv_driver 0.02 (Rudolf)</h1></p>
87<ul>
88	<li>hardcursor support;
89	<li>virtual screens / BWindowScreen support including panning/scrolling;
90	<li>colorspace selection;
91	<li>colorpalette setup;
92	<li>refreshrate selection;
93	<li>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;
94	<li>DPMS support;
95	<li>resolution selection (CRTC setup);
96	<li>switch to 'enhanced mode' included: VESA is gone now!
97	<li>cardspecs are setup (faked PINS);
98	<li>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.
99</ul>
100<p><h1>Still todo:</h1></p>
101<ul>
102	<li>Add support for internal display panels (laptops);
103	<li>TVout support;
104	<li>Partial card coldstart: setup RAM and CORE speeds (if possible).
105</ul>
106</p>
107</body>
108</html>
109