/[gentoo]/xml/htdocs/doc/en/nvidia-guide.xml
Gentoo

Diff of /xml/htdocs/doc/en/nvidia-guide.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.32 Revision 1.33
1<?xml version='1.0' encoding="UTF-8"?> 1<?xml version='1.0' encoding="UTF-8"?>
2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/nvidia-guide.xml,v 1.32 2006/09/02 10:19:23 nightmorph Exp $ --> 2<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/nvidia-guide.xml,v 1.33 2006/10/24 02:24:14 nightmorph Exp $ -->
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4 4
5<guide link="/doc/en/nvidia-guide.xml"> 5<guide link="/doc/en/nvidia-guide.xml">
6<title>Gentoo Linux nVidia Guide</title> 6<title>Gentoo Linux nVidia Guide</title>
7 7
26 26
27<!-- The content of this document is licensed under the CC-BY-SA license --> 27<!-- The content of this document is licensed under the CC-BY-SA license -->
28<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 28<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
29<license/> 29<license/>
30 30
31<version>1.27</version> 31<version>1.28</version>
32<date>2006-09-02</date> 32<date>2006-10-23</date>
33 33
34<chapter> 34<chapter>
35<title>Introduction</title> 35<title>Introduction</title>
36<section> 36<section>
37<body> 37<body>
38 38
39<p> 39<p>
40nVidia release their own Linux drivers which provide good performance and full 40nVidia release their own Linux drivers which provide good performance and full
413D acceleration. There are two sets of drivers in portage. The first set is an 413D acceleration. There are two drivers in Portage. <c>nvidia-drivers</c> is for
42older set and split into two parts: <c>nvidia-kernel</c> and <c>nvidia-glx</c>. 42newer nVidia graphics cards, while <c>nvidia-legacy-drivers</c> supports older
43The second set is newer, and is split into <c>nvidia-drivers</c> and 43cards.
44<c>nvidia-legacy-drivers</c>. If you are installing for the first time, you
45should use the newer set.
46</p>
47
48<p>
49<c>nvidia-kernel</c> is a kernel driver which handles the low-level
50communication with your video hardware. This is simply a kernel module, named
51<c>nvidia</c>, which installs against your kernel sources and needs to be
52loaded whenever you want to use the nvidia drivers.
53</p>
54
55<p>
56As well as the kernel driver, you need to install the X11 GLX layer
57(<c>nvidia-glx</c>). This is used by X to render graphics, which internally
58uses the <c>nvidia-kernel</c> kernel driver to interface with the hardware.
59</p>
60
61<p>
62The newer drivers have the functionality of both <c>nvidia-kernel</c> and
63<c>nvidia-glx</c> in a single unified ebuild, much like how nVidia themselves
64ship the drivers.
65</p> 44</p>
66 45
67<note> 46<note>
68Both <c>nvidia-kernel</c> and <c>nvidia-glx</c> are deprecated, and will be 47Previously, Gentoo provided separate ebuilds for the nVidia kernel module
69removed from the Portage tree in the future in favor of <c>nvidia-drivers</c> 48(<c>nvidia-kernel</c>) and the X11 GLX libraries (<c>nvidia-glx</c>). These
70and <c>nvidia-legacy-drivers</c>. If you use <c>nvidia-kernel</c> and 49ebuilds have since been removed from the Portage tree in favor of
71<c>nvidia-glx</c>, then you should migrate to the newer packages. 50<c>nvidia-drivers</c> and <c>nvidia-legacy-drivers</c>. If you use
51<c>nvidia-kernel</c> and <c>nvidia-glx</c>, then you should migrate to the
52newer packages.
72</note> 53</note>
73 54
74</body> 55</body>
75</section> 56</section>
76</chapter> 57</chapter>
101<pre caption="Enabling MTRR"> 82<pre caption="Enabling MTRR">
102Processor and Features ---&gt; 83Processor and Features ---&gt;
103 [*] MTRR (Memory Type Range Register) support 84 [*] MTRR (Memory Type Range Register) support
104</pre> 85</pre>
105 86
106<p> 87<p> Also, if you have an AGP graphics card, you can optionally enable
107Also, you can optionally enable <c>agpgart</c> support to your kernel, either 88<c>agpgart</c> support to your kernel, either compiled in or as a module. If
108compiled in or as a module. If you do not use the in-kernel agpgart, then the 89you do not use the in-kernel agpgart, then the drivers will use their own
109drivers will use their own <c>agpgart</c> implementation, called <c>NvAGP</c>. 90<c>agpgart</c> implementation, called <c>NvAGP</c>. On certain systems, this
110On certain systems, this performs better than the in-kernel agpgart, and on 91performs better than the in-kernel agpgart, and on others, it performs worse.
111others, it performs worse. You will need to evaluate this on your own system to 92You will need to evaluate this on your own system to get the best performance.
112get the best performance. If you are unsure what to do, use the in-kernel 93If you are unsure what to do, use the in-kernel agpgart:
113agpgart:
114</p> 94</p>
115 95
116<pre caption="Enabling agpgart"> 96<pre caption="Enabling agpgart">
117Device Drivers ---&gt; 97Device Drivers ---&gt;
118Character devices ---&gt; 98Character devices ---&gt;
171<section> 151<section>
172<title>Continuing with Kernel Configuration</title> 152<title>Continuing with Kernel Configuration</title>
173<body> 153<body>
174 154
175<p> 155<p>
176The <c>nvidia-kernel</c>, <c>nvidia-drivers</c>, and 156The <c>nvidia-drivers</c> and <c>nvidia-legacy-drivers</c> ebuilds
177<c>nvidia-legacy-drivers</c> ebuilds automatically discover your kernel version 157automatically discover your kernel version based on the
178based on the <path>/usr/src/linux</path> symlink. Please ensure that you have 158<path>/usr/src/linux</path> symlink. Please ensure that you have this symlink
179this symlink pointing to the correct sources and that your kernel is correctly 159pointing to the correct sources and that your kernel is correctly configured.
180configured. Please refer to the Configuring the Kernel section of the <uri 160Please refer to the Configuring the Kernel section of the <uri
181link="/doc/en/handbook/">Installation Handbook</uri> for details on configuring 161link="/doc/en/handbook/">Installation Handbook</uri> for details on configuring
182your kernel. 162your kernel.
183</p> 163</p>
184 164
185<p> 165<p>
219<title>Optional: Check for Legacy Card Support</title> 199<title>Optional: Check for Legacy Card Support</title>
220<body> 200<body>
221 201
222<note> 202<note>
223Unfortunately, certain legacy video cards are not supported by the newer 203Unfortunately, certain legacy video cards are not supported by the newer
224versions of <c>nvidia-drivers</c>, <c>nvidia-glx</c> and <c>nvidia-kernel</c>. 204versions of <c>nvidia-drivers</c>. nVidia provides a <uri
225nVidia provides a <uri link="http://www.nvidia.com/object/IO_18897.html">list 205link="http://www.nvidia.com/object/IO_18897.html">list of supported
226of supported cards</uri>. Please check the list before installing the drivers. 206cards</uri>. Please check the list before installing the drivers.
227</note> 207</note>
228 208
229<p> 209<p>
230The following is a list of <b>unsupported</b> legacy video cards: 210The following is a list of <b>unsupported</b> legacy video cards:
231</p> 211</p>
260<section> 240<section>
261<title>Installing the Appropriate Drivers</title> 241<title>Installing the Appropriate Drivers</title>
262<body> 242<body>
263 243
264<p> 244<p>
265Now it's time to install the drivers. The newer drivers are unified, so you 245Now it's time to install the drivers.
266will only need to install a single package. The older drivers are split, so it
267will require two packages to be installed. Since <c>nvidia-glx</c> depends on
268<c>nvidia-kernel</c>, installing <c>nvidia-glx</c> is sufficient.
269</p> 246</p>
270 247
271<pre caption="Installing the nVidia drivers"> 248<pre caption="Installing the nVidia drivers">
272<comment>(If you have a card not listed in the legacy list above)</comment> 249<comment>(If you have a card not listed in the legacy list above)</comment>
273# <i>emerge nvidia-drivers</i> 250# <i>emerge nvidia-drivers</i>
274<comment>(If your card is listed in the legacy list)</comment> 251<comment>(If your card is listed in the legacy list)</comment>
275# <i>emerge nvidia-legacy-drivers</i> 252# <i>emerge nvidia-legacy-drivers</i>
276</pre> 253</pre>
277 254
278<pre caption="Installing the nVidia drivers (deprecated method)">
279# <i>emerge nvidia-glx</i>
280</pre>
281
282<impo> 255<impo>
283Every time you <uri link="/doc/en/kernel-upgrade.xml">compile a new 256Every time you <uri link="/doc/en/kernel-upgrade.xml">compile a new
284kernel</uri> or recompile the current one, you have to run <c>emerge 257kernel</uri> or recompile the current one, you will need to run <c>emerge
285nvidia-kernel</c> to reinstall the nVidia modules. <c>nvidia-glx</c> is
286unaffected by a kernel change and doesn't even need to be rebuilt when you
287recompile/upgrade X. If you are using the newer drivers, then you will need to
288run <c>emerge nvidia-drivers</c> or <c>emerge nvidia-legacy-drivers</c> to 258nvidia-drivers</c> or <c>emerge nvidia-legacy-drivers</c> to reinstall the
289reinstall the nVidia modules. 259nVidia modules.
290</impo> 260</impo>
291 261
292<p> 262<p>
293Once the installation has finished, run <c>modprobe nvidia</c> to load the 263Once the installation has finished, run <c>modprobe nvidia</c> to load the
294kernel module into memory. If this is an upgrade, you should remove the 264kernel module into memory. If this is an upgrade, you should remove the
328Once the appropriate drivers are installed you need to configure your X Server 298Once the appropriate drivers are installed you need to configure your X Server
329to use the <c>nvidia</c> driver instead of the default <c>nv</c> driver. 299to use the <c>nvidia</c> driver instead of the default <c>nv</c> driver.
330</p> 300</p>
331 301
332<p> 302<p>
333Open <path>/etc/X11/xorg.conf</path> (or <path>/etc/X11/XF86Config</path> if you 303Open <path>/etc/X11/xorg.conf</path> with your favorite editor (such as
334still use the older configuration file location) with your favorite editor
335(such as <c>nano</c> or <c>vim</c>) and go to the <c>Device</c> section. In that 304<c>nano</c> or <c>vim</c>) and go to the <c>Device</c> section. In that
336section, change the <c>Driver</c> line: 305section, change the <c>Driver</c> line:
337</p> 306</p>
338 307
339<pre caption="Changing nv to nvidia in the X Server configuration"> 308<pre caption="Changing nv to nvidia in the X Server configuration">
340Section "Device" 309Section "Device"
359</pre> 328</pre>
360 329
361<p> 330<p>
362Next, in section <c>Screen</c>, make sure that either the <c>DefaultDepth</c> 331Next, in section <c>Screen</c>, make sure that either the <c>DefaultDepth</c>
363directive is set to 16 or 24, or that you only have <c>Display</c> subsections 332directive is set to 16 or 24, or that you only have <c>Display</c> subsections
364with <c>Depth</c> settings of 16 or 24. Without it, the nvidia-glx extensions 333with <c>Depth</c> settings of 16 or 24. Without it, the nVidia GLX extensions
365will not start. 334will not start.
366</p> 335</p>
367 336
368<pre caption="Updating the Screen section"> 337<pre caption="Updating the Screen section">
369Section "Screen" 338Section "Screen"
397# <i>gpasswd -a youruser video</i> 366# <i>gpasswd -a youruser video</i>
398</pre> 367</pre>
399 368
400<p> 369<p>
401This might not be totally necessary if you aren't using <c>udev</c> but it 370This might not be totally necessary if you aren't using <c>udev</c> but it
402doesn't hurt either and makes your system future-proof :) 371doesn't hurt either and makes your system future-proof.
403</p> 372</p>
404 373
405</body> 374</body>
406</section> 375</section>
407<section> 376<section>
487</p> 456</p>
488 457
489</body> 458</body>
490</section> 459</section>
491<section> 460<section>
492<title>I receive warnings about unsupported 4K stack sizes</title>
493<body>
494
495<p>
496<c>nvidia-kernel</c> packages older than 1.0.6106 only support kernels using an
4978K stack size. More recent kernels (2.6.6 and higher) have support for 4K stack
498size's as well. Do not select 4K stack size in your kernel configuration if
499you are using such an <c>nvidia-kernel</c> package. You can find this option in
500the section <c>Kernel Hacking</c>.
501</p>
502
503</body>
504</section>
505<section>
506<title> 461<title>
507 When I attempt to load the kernel module I receive a "no such device" 462 When I attempt to load the kernel module I receive a "no such device"
508</title> 463</title>
509<body> 464<body>
510 465
516 471
517<p> 472<p>
518If you are confident that you have an nVidia card, check your BIOS and see if 473If you are confident that you have an nVidia card, check your BIOS and see if
519the directive <e>Assign IRQ to VGA</e> is set. 474the directive <e>Assign IRQ to VGA</e> is set.
520</p> 475</p>
521
522</body>
523</section>
524<section>
525<title>
526 I get "no screens found" and the logs state "Failed to initialize the NVIDIA
527 kernel module!"
528</title>
529<body>
530
531<p>
532You're most likely missing the <path>/dev/nvidia*</path> device files. Create
533them using <c>NVmakedevices.sh</c>:
534</p>
535
536<pre caption="Creating the nvidia device nodes">
537# <i>/sbin/NVmakedevices.sh</i>
538</pre>
539
540<p>
541If your <path>/dev/nvidia*</path> devices are still missing every time you
542reboot, then it is most likely because udev is not automatically creating the
543proper device nodes. You can fix this by re-running <c>NVmakedevices.sh</c>,
544and then editing <path>/etc/conf.d/rc</path> as shown:
545</p>
546
547<pre caption="Editing /etc/conf.d/rc">
548RC_DEVICE_TARBALL="yes"
549</pre>
550
551<p>
552This will preserve your <path>/dev/nvidia*</path> nodes even if you reboot.
553</p>
554
555<note>
556Alternatively, you might try emerging the latest <c>nvidia-kernel</c> and
557<c>nvidia-glx</c> from the 8xxx series. At the time of this writing, both are
558still marked ~arch. These drivers no longer rely on hotplug or udev to create
559the proper device nodes, so you won't need to run <c>NVmakedevices.sh</c>.
560Instead, the X driver itself will create your <path>/dev/nvidia*</path> files
561when you start X. However, this will require you to use a recent kernel (2.6.14
562and greater). This is also true for all versions of <c>nvidia-drivers</c> and
563<c>nvidia-legacy-drivers</c>.
564</note>
565 476
566</body> 477</body>
567</section> 478</section>
568</chapter> 479</chapter>
569 480
582<pre caption="Viewing the NVIDIA documentation"> 493<pre caption="Viewing the NVIDIA documentation">
583<comment>(for nvidia-drivers)</comment> 494<comment>(for nvidia-drivers)</comment>
584$ <i>less /usr/share/doc/nvidia-drivers-*/README.gz</i> 495$ <i>less /usr/share/doc/nvidia-drivers-*/README.gz</i>
585<comment>(for nvidia-legacy-drivers)</comment> 496<comment>(for nvidia-legacy-drivers)</comment>
586$ <i>less /usr/share/doc/nvidia-legacy-drivers-*/README.gz</i> 497$ <i>less /usr/share/doc/nvidia-legacy-drivers-*/README.gz</i>
587<comment>(for nvidia-glx)</comment>
588$ <i>less /usr/share/doc/nvidia-glx-*/README.txt.gz</i>
589</pre> 498</pre>
590 499
591</body> 500</body>
592</section> 501</section>
593<section> 502<section>

Legend:
Removed from v.1.32  
changed lines
  Added in v.1.33

  ViewVC Help
Powered by ViewVC 1.1.20