import NVIDIA-FreeBSD-x86-185.18.36
[nvidia.git] / doc / html / chapter-21.html
1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html>
3 <head>
4 <meta name="generator" content=
5 "HTML Tidy for FreeBSD (vers 1 September 2005), see www.w3.org">
6 <meta http-equiv="Content-Type" content=
7 "text/html; charset=us-ascii">
8 <title>Chapter&nbsp;21.&nbsp;Configuring Low-level
9 Parameters</title>
10 <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
11 <link rel="start" href="index.html" title=
12 "NVIDIA Accelerated FreeBSD Graphics Driver README and Installation Guide">
13 <link rel="up" href="part-01.html" title=
14 "Part&nbsp;I.&nbsp;Installation and Configuration Instructions">
15 <link rel="prev" href="chapter-20.html" title=
16 "Chapter&nbsp;20.&nbsp;The Sysctl Interface">
17 <link rel="next" href="chapter-22.html" title=
18 "Chapter&nbsp;22.&nbsp;Using the X Composite Extension">
19 </head>
20 <body>
21 <div class="navheader">
22 <table width="100%" summary="Navigation header">
23 <tr>
24 <th colspan="3" align="center">Chapter&nbsp;21.&nbsp;Configuring
25 Low-level Parameters</th>
26 </tr>
27 <tr>
28 <td width="20%" align="left"><a accesskey="p" href=
29 "chapter-20.html">Prev</a>&nbsp;</td>
30 <th width="60%" align="center">Part&nbsp;I.&nbsp;Installation and
31 Configuration Instructions</th>
32 <td width="20%" align="right">&nbsp;<a accesskey="n" href=
33 "chapter-22.html">Next</a></td>
34 </tr>
35 </table>
36 <hr></div>
37 <div class="chapter" lang="en">
38 <div class="titlepage">
39 <div>
40 <div>
41 <h2 class="title"><a name="configlowlevel" id=
42 "configlowlevel"></a>Chapter&nbsp;21.&nbsp;Configuring Low-level
43 Parameters</h2>
44 </div>
45 </div>
46 </div>
47 <p>The NVIDIA resource manager recognizes several low-level
48 configuration parameters that can be set using the sysctl driver
49 interface <span class="emphasis"><em>before</em></span> the X
50 server is started. Normally you should not need to modify any of
51 these parameters, but it is sometimes necessary or desirable to do
52 so.</p>
53 <p>To view the current settings of these parameters, you need to
54 issue this sysctl command (<code class="filename">nvidia.ko</code>
55 needs to be loaded):</p>
56 <pre class="screen">
57     % sysctl -a hw.nvidia.registry
58 </pre>
59 <p>To change any of the parameters, you need to pass the complete
60 name of the OID followed by '=' and the new value, e.g.:</p>
61 <pre class="screen">
62     % sysctl hw.nvidia.registry.EnableVia4x=1
63 </pre>
64 <p>It is possible to automate setting these parameters by adding
65 them to the <code class="filename">/etc/sysctl.conf</code> file.
66 See <strong class="userinput"><code>man 5
67 sysctl.conf</code></strong> for details.</p>
68 <p>The following parameters are recognized by <code class=
69 "filename">nvidia.ko</code>:</p>
70 <div class="variablelist">
71 <p class="title"><b>Resource Manager Parameters</b></p>
72 <dl>
73 <dt><span class="term"><code class=
74 "computeroutput">VideoMemoryTypeOverride</code></span></dt>
75 <dd>
76 <p>We normally detect memory type on TNT cards by scanning the
77 embedded BIOS. Unfortunately, we've seen some cases where a TNT
78 card has been flashed with the wrong BIOS. For example, an SDRAM
79 based TNT has been flashed with an SGRAM BIOS, and therefore claims
80 to be an SGRAM TNT. We've therefore provided an override here. Make
81 sure to set the value toe the type of memory used on your card.</p>
82 <div class="informaltable">
83 <table summary="(no summary available)" border="0">
84 <colgroup>
85 <col>
86 <col></colgroup>
87 <thead>
88 <tr>
89 <th>Value</th>
90 <th>Meaning</th>
91 </tr>
92 </thead>
93 <tbody>
94 <tr>
95 <td>1</td>
96 <td>SDRAM</td>
97 </tr>
98 <tr>
99 <td>2</td>
100 <td>SGRAM</td>
101 </tr>
102 </tbody>
103 </table>
104 </div>
105 <p>Note that we can only do so much here. There are border cases
106 where even this fails. For example, if 2 TNT cards are in the same
107 system, one SGRAM, one SDRAM.</p>
108 <p>This option is disabled by default, see below for information on
109 how to enable it.</p>
110 </dd>
111 <dt><span class="term"><code class=
112 "computeroutput">EnableVia4x</code></span></dt>
113 <dd>
114 <p>We've had problems with some Via chipsets in 4x mode, we need
115 force them back down to 2x mode. If you'd like to experiment with
116 retaining 4x mode, you may try setting this value to 1 If that
117 hangs the system, you're stuck with 2x mode; there's nothing we can
118 do about it.</p>
119 <div class="informaltable">
120 <table summary="(no summary available)" border="0">
121 <colgroup>
122 <col>
123 <col></colgroup>
124 <thead>
125 <tr>
126 <th>Value</th>
127 <th>Meaning</th>
128 </tr>
129 </thead>
130 <tbody>
131 <tr>
132 <td>0</td>
133 <td>disable AGP 4x on Via chipsets (default)</td>
134 </tr>
135 <tr>
136 <td>1</td>
137 <td>enable AGP 4x on Via chipsets</td>
138 </tr>
139 </tbody>
140 </table>
141 </div>
142 <p></p>
143 </dd>
144 <dt><span class="term"><code class=
145 "computeroutput">EnableALiAGP</code></span></dt>
146 <dd>
147 <p>Some ALi chipsets (ALi1541, ALi1647) are known to cause severe
148 system stability problems with AGP enabled. To avoid lockups, we
149 disable AGP on systems with these chipsets by default. It appears
150 that updating the system BIOS and using recent versions of the
151 kernel AGP Gart driver can make such systems much more stable. If
152 you own a system with one of the aforementioned chipsets and had it
153 working reasonably well previously, or if you want to experiment
154 with BIOS and AGPGART revisions, you can re-enable AGP support by
155 setting this option to 1.</p>
156 <div class="informaltable">
157 <table summary="(no summary available)" border="0">
158 <colgroup>
159 <col>
160 <col></colgroup>
161 <thead>
162 <tr>
163 <th>Value</th>
164 <th>Meaning</th>
165 </tr>
166 </thead>
167 <tbody>
168 <tr>
169 <td>0</td>
170 <td>disable AGP on Ali1541 and ALi1647 (default)</td>
171 </tr>
172 <tr>
173 <td>1</td>
174 <td>enable AGP on Ali1541 and ALi1647</td>
175 </tr>
176 </tbody>
177 </table>
178 </div>
179 <p></p>
180 </dd>
181 <dt><span class="term"><code class=
182 "computeroutput">NvAGP</code></span></dt>
183 <dd>
184 <p>This options controls which AGP GART driver is used when no
185 explicit request is made to change the default (X server).</p>
186 <div class="informaltable">
187 <table summary="(no summary available)" border="0">
188 <colgroup>
189 <col>
190 <col></colgroup>
191 <thead>
192 <tr>
193 <th>Value</th>
194 <th>Meaning</th>
195 </tr>
196 </thead>
197 <tbody>
198 <tr>
199 <td>0</td>
200 <td>disable AGP support</td>
201 </tr>
202 <tr>
203 <td>1</td>
204 <td>use the NVIDIA builtin driver (if possible)</td>
205 </tr>
206 <tr>
207 <td>2</td>
208 <td>use the kernel's AGPGART driver (if possible)</td>
209 </tr>
210 <tr>
211 <td>3</td>
212 <td>use any available driver (try 2, then 1)</td>
213 </tr>
214 </tbody>
215 </table>
216 </div>
217 <p>Note that the NVIDIA internal AGP GART driver will not be used
218 if AGPGART was either statically linked into your kernel or built
219 as a kernel module and loaded before the NVIDIA kernel module.</p>
220 </dd>
221 <dt><span class="term"><code class=
222 "computeroutput">ReqAGPRate</code></span></dt>
223 <dd>
224 <p>Normally, the driver will compare speed modes of the chipset and
225 the card, picking the highest common rate. This key forces a
226 maximum limit, to limit the driver to lower speeds. The driver will
227 not attempt a speed beyond what the chipset and card claim they are
228 capable of.</p>
229 <p>Make sure you really know what you're doing before you enable
230 this override. By default, AGP drivers will enable the fastest AGP
231 rate your card and motherboard chipset are capable of. Then, in
232 some cases, our driver will force this rate down to work around
233 bugs in both our chipsets, and motherboard chipsets. Using this
234 variable will override our bug fixes. This may be desirable in some
235 cases, but not most. <span class="emphasis"><em>This is completely
236 unsupported!</em></span></p>
237 <p>This option expects a bitmask (7 = 1|2|3|4, 3=1|2, etc.)</p>
238 <p>This option is disabled by default, see below for information on
239 how to enable it.</p>
240 </dd>
241 <dt><span class="term"><code class=
242 "computeroutput">EnableAGPSBA</code></span></dt>
243 <dd>
244 <p>For stability reasons, the driver will not use Side Band
245 Addressing even if both the host chipset and the AGP card support
246 it. You may override this behavior with the following registry key.
247 <span class="emphasis"><em>This is completely
248 unsupported!</em></span></p>
249 <div class="informaltable">
250 <table summary="(no summary available)" border="0">
251 <colgroup>
252 <col>
253 <col></colgroup>
254 <thead>
255 <tr>
256 <th>Value</th>
257 <th>Meaning</th>
258 </tr>
259 </thead>
260 <tbody>
261 <tr>
262 <td>0</td>
263 <td>disable Side Band Addressing (default on x86, see below)</td>
264 </tr>
265 <tr>
266 <td>1</td>
267 <td>enable Side Band Addressing (if supported)</td>
268 </tr>
269 </tbody>
270 </table>
271 </div>
272 <p></p>
273 </dd>
274 <dt><span class="term"><code class=
275 "computeroutput">EnableAGPFW</code></span></dt>
276 <dd>
277 <p>Similar to Side Band Addressing, Fast Writes are disabled by
278 default. If you wish to enable them on systems that support them,
279 you can do so with this registry key. Note that this may render
280 your system unstable with many AGP chipsets. <span class=
281 "emphasis"><em>This is completely unsupported!</em></span></p>
282 <div class="informaltable">
283 <table summary="(no summary available)" border="0">
284 <colgroup>
285 <col>
286 <col></colgroup>
287 <thead>
288 <tr>
289 <th>Value</th>
290 <th>Meaning</th>
291 </tr>
292 </thead>
293 <tbody>
294 <tr>
295 <td>0</td>
296 <td>disable Fast Writes (default)</td>
297 </tr>
298 <tr>
299 <td>1</td>
300 <td>enable Fast Writes</td>
301 </tr>
302 </tbody>
303 </table>
304 </div>
305 <p></p>
306 </dd>
307 </dl>
308 </div>
309 <p></p>
310 </div>
311 <div class="navfooter">
312 <hr>
313 <table width="100%" summary="Navigation footer">
314 <tr>
315 <td width="40%" align="left"><a accesskey="p" href=
316 "chapter-20.html">Prev</a>&nbsp;</td>
317 <td width="20%" align="center"><a accesskey="u" href=
318 "part-01.html">Up</a></td>
319 <td width="40%" align="right">&nbsp;<a accesskey="n" href=
320 "chapter-22.html">Next</a></td>
321 </tr>
322 <tr>
323 <td width="40%" align="left" valign="top">Chapter&nbsp;20.&nbsp;The
324 Sysctl Interface&nbsp;</td>
325 <td width="20%" align="center"><a accesskey="h" href=
326 "index.html">Home</a></td>
327 <td width="40%" align="right" valign="top">
328 &nbsp;Chapter&nbsp;22.&nbsp;Using the X Composite Extension</td>
329 </tr>
330 </table>
331 </div>
332 </body>
333 </html>