move utils and testsets into base/applications
[reactos.git] / reactos / base / applications / utils / patchnv4 / nv4_howto.html
1 <!-- $Id$ -->
2 <HTML>
3 <HEAD>
4 <TITLE>Using NVidia drivers on ReactOS How-to</TITLE>
5 </HEAD>
6 <BODY>
7 <CENTER><H1>Using NVidia drivers on ReactOS How-to</H1></CENTER>
8
9 <H2>1. Introduction</H2>
10 There is little support for changing video drivers (or any other driver for that
11 matter) in ReactOS at the moment. You have to know how to access the CVS repository
12 and how to compile (simple) programs. If this is too complicated, please wait a few
13 months, we should have better installation tools then.
14
15 <H2>2. Supported hardware</H2>
16 The NVidia drivers were tested on the following video card:
17 <UL>
18 <LI>NVidia Riva TNT2 Model 64</LI>
19 <LI>NVidia GeForce4 MX400</LI>
20 </UL>
21 However, according to the NVidia website, the same driver supports a whole series
22 of video cards. If you find this driver works under ReactOS with other cards, please
23 let us know on the <A HREF="mailto:ros-general@reactos.com">ros-general mailing list</A>
24
25 <H2>3. Download the drivers</H2>
26 First, go to the NVidia website, <A HREF="http://www.nvidia.com">www.nvidia.com</A>,
27 choose "DOWNLOAD&nbsp;DRIVERS" from the menu at the top of the page (and
28 "Download&nbsp;Drivers" again from the drop-down menu). Choose "Graphics&nbsp;Driver"
29 in the first box, "GeForce&nbsp;and&nbsp;TNT2" in the second box and "Windows&nbsp;NT4"
30 in the third box, then click "Go!". This How-to assumes you see a page identifying the
31 driver you are about to download as version 43.45, release on April&nbsp;10, 2003.
32 Download the English version.<BR>
33 (<A HREF="http://www.nvidia.com/object/winnt_43.45">This</A> is a direct link to the
34 download page.)
35
36 <H2>4. Unpack the drivers</H2>
37 Start the file you just downloaded (note: you need to do this on a MS-Windows computer,
38 doesn't work on ReactOS yet). It will ask you for a directory where to save the files.
39 You can accept the default of C:\NVIDIA\WinNT4\43.45 or change it to your liking, just
40 remember where you put them.... After the files are unpacked, the install wizard will
41 start. Just press "Cancel" on the Welcome screen and tell the thing that, yes, you
42 are quite sure you want to cancel the installation.<BR>
43 Open a Command Prompt window and cd to C:\NVIDIA\WinNT4\43.45 (or wherever you put
44 the files). You should have a nv4_mini.sy_ and a nv4_disp.dl_ file. Issue the following
45 commands:
46 <PRE>
47 expand nv4_mini.sy_ nv4_mini.sys
48 expand nv4_disp.dl_ nv4_disp.dll
49 </PRE>
50 After this, you should have a nv4_mini.sys file of 1511936 bytes and a nv4_disp.dll file
51 of 569807 bytes.
52
53 <H2>5. Patch the miniport driver</H2>
54 Since ReactOS is not 100% binary compatible with MS-Windows yet, the miniport driver
55 (nv4_mini.sys) needs to be patched. There is a small patch program in the ReactOS CVS
56 tree at reactos/apps/utils/patchnv4 which you need to compile. Copy the patchnv4.exe
57 to the directory where you have your nv4_mini.sys file and run it. Afterwards, you
58 should have a nv4_mini.sys.orig (the original) and a nv4_mini.sys (the patched
59 version).<BR>
60 Note that we're working towards binary compatibility, so if you're not reading this
61 on the <A HREF="http://www.reactos.com">ReactOS website</A>, please go there and check
62 if the patching is still necessary (ReactOS might have been fixed...).
63
64 <H2>6. Install the drivers</H2>
65 The first step is simple, copy the (patched) nv4_mini.sys file to \ReactOS\System32\drivers
66 and the nv4_disp.dll file to \ReactOS\System32. The second step is to update the
67 registry to actually load the driver. Check out the CVS tree and edit the file
68 reactos/bootdata/hivesys.inf. Add the following lines:
69 <PRE>
70 ; NVidia driver
71 HKLM,"SYSTEM\CurrentControlSet\Services\nv4","ErrorControl",0x00010001,0x00000000
72 HKLM,"SYSTEM\CurrentControlSet\Services\nv4","Group",0x00000000,"Video"
73 HKLM,"SYSTEM\CurrentControlSet\Services\nv4","ImagePath",0x00020000,"system32\drivers\nv4_mini.sys"
74 HKLM,"SYSTEM\CurrentControlSet\Services\nv4","Start",0x00010001,0x00000004
75 HKLM,"SYSTEM\CurrentControlSet\Services\nv4","Type",0x00010001,0x00000001
76 HKLM,"SYSTEM\CurrentControlSet\Services\nv4\Device0","CapabilityOverride",0x00010001,0x00000000
77 HKLM,"SYSTEM\CurrentControlSet\Services\nv4\Device0","EnableVia4x",0x00010001,0x00000001
78 HKLM,"SYSTEM\CurrentControlSet\Services\nv4\Device0","InstalledDisplayDrivers",0x00010000,"nv4_disp"
79 HKLM,"SYSTEM\CurrentControlSet\Services\nv4\Device0","NVREGSWITCHES",0x00000001,43,52,54,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
80 00,00,00,00,00,00,00,00,00,00,00,36,34,30,2c,34,38,30,2c,38,2c,36,30,00,00,\
81 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,36,34,30,2c,34,38,30,2c,38,\
82 2c,36,30,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,36,34,30,2c,\
83 34,38,30,2c,38,2c,36,30,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
84 00,36,34,30,2c,34,38,30,2c,38,2c,36,30,00,00,00,00,00,00,00,00,00,00,00,00,\
85 00,00,00,00,00,00,36,34,30,2c,34,38,30,2c,38,2c,36,30,00,00,00,00,00,00,00,\
86 00,00,00,00,00,00,00,00,00,00,00,36,34,30,2c,34,38,30,2c,38,2c,36,30,00,00,\
87 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,36,34,30,2c,34,38,30,2c,38,\
88 2c,36,30,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,36,34,30,2c,\
89 34,38,30,2c,38,2c,36,30,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
90 00,36,30,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
91 00,00,00,00,00,00,36,30,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
92 00,00,00,00,00,00,00,00,00,00,00,36,30,00,00,00,00,00,00,00,00,00,00,00,00,\
93 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,36,30,00,00,00,00,00,00,00,\
94 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
95 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
96 00,44,4d,54,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
97 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
98 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
99 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
100 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
101 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,\
102 00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,01,00,00,00,01,00,\
103 00,00,00,04,00,00,40,00,00,00,00,04,00,00,00,06,00,00,00,00,00,00,01,00,00,\
104 00,00,00,00,00,00,00,00,00,05,00,00,00,00,00,04,00,00,00,50,00,00,00,01,00,\
105 00,00,00,01,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,99,99,99,99,99,\
106 99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,99,00,00,\
107 00,00
108 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","Attach.ToDesktop",0x00010001,1
109 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","Attach.RelativeX",0x00010001,0
110 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","Attach.RelativeY",0x00010001,0
111 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","DefaultSettings.BitsPerPel",0x00010001,16
112 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","DefaultSettings.XResolution",0x00010001,1152
113 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","DefaultSettings.YResolution",0x00010001,864
114 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","DefaultSettings.VRefresh",0x00010001,85
115 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","DefaultSettings.Flags",0x00010001,0
116 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","DefaultSettings.XPanning",0x00010001,0
117 HKLM,"SYSTEM\CurrentControlSet\Hardware Profiles\Current\System\CurrentControlSet\Services\nv4\Device0","DefaultSettings.YPanning",0x00010001,0
118 </PRE>
119 Feel free to adjust the DefaultSettings.BitsPerPel, DefaultSettings.XResolution,
120 DefaultSettings.YResolution and DefaultSettings.VRefresh (check the Display control
121 panel applet in MS-Windows for available settings for your card/monitor combo).<BR>
122 Search that same file for the "VGA miniport driver" section and change the "Start"
123 line in that section to:
124 <PRE>
125 HKLM,"SYSTEM\CurrentControlSet\Services\Vga","Start",0x00010001,0x00000004
126 </PRE>
127 (i.e. set the last value on that line to 4).<BR>
128 Rebuild the registry with the command "make registry" and copy the resulting SYSTEM file
129 to /ReactOS/System32/config. Reboot and enjoy.
130
131 </BODY>
132 </HTML>