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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.12 - (show annotations) (download) (as text)
Sat Apr 9 10:16:24 2005 UTC (9 years, 5 months ago) by swift
Branch: MAIN
Changes since 1.11: +19 -3 lines
File MIME type: application/xml
nvidia glx extensions require 16/24 bit depth

1 <?xml version='1.0' encoding="UTF-8"?>
2 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/nvidia-guide.xml,v 1.11 2005/02/25 09:25:33 swift Exp $ -->
3 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
4
5 <guide link="/doc/en/nvidia-guide.xml">
6 <title>Gentoo Linux nVidia Guide</title>
7
8 <author title="Author">
9 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
10 </author>
11
12 <abstract>
13 Many Gentooists have an nVidia chipset on their system. nVidia provides specific
14 Linux drivers to boost the performance of your card. This guide informs you how
15 to install and configure these drivers.
16 </abstract>
17
18 <license/>
19
20 <version>1.9</version>
21 <date>2005-04-09</date>
22
23 <chapter>
24 <title>Configuring your Card</title>
25 <section>
26 <title>Installing the Appropriate Drivers</title>
27 <body>
28
29 <p>
30 The nVidia drivers include kernel modules that must integrate in your current
31 kernel. To accomplish this, your kernel must support the loading of kernel
32 modules. If you used <c>genkernel</c> to configure the kernel for you then
33 you're all set. If not, double check your kernel configuration so that this
34 support is enabled:
35 </p>
36
37 <pre caption="Enabling the Loading of Kernel Modules">
38 Loadable module support ---&gt;
39 [*] Enable loadable module support
40 </pre>
41
42 <p>
43 You also need to enable <e>Memory Type Range Register</e> in your kernel:
44 </p>
45
46 <pre caption="Enabling MTRR">
47 Processor and Features ---&gt;
48 [*] MTRR (Memory Type Range Register) support
49 </pre>
50
51 <p>
52 nVidia's modules and libraries are combined in two packages: <c>nvidia-glx</c>
53 and <c>nvidia-kernel</c>. The former are the X11 GLX libraries while the latter
54 are the kernel modules. Since <c>nvidia-glx</c> depends on <c>nvidia-kernel</c>,
55 installing <c>nvidia-glx</c> is sufficient:
56 </p>
57
58 <pre caption="Installing the nVidia modules">
59 # <i>emerge nvidia-glx</i>
60 </pre>
61
62 <p>
63 Once the installation has finished, run <c>modprobe nvidia</c> to load the
64 kernel module into memory.
65 </p>
66
67 <pre caption="Loading the kernel module">
68 # <i>modprobe nvidia</i>
69 </pre>
70
71 <p>
72 You probably want to have this done each time you boot your system, so edit
73 <path>/etc/modules.autoload.d/kernel-2.6</path> (or <path>kernel-2.4</path>) and
74 add <c>nvidia</c> to it. Don't forget to run <c>modules-update</c> afterwards!
75 </p>
76
77 <pre caption="Running modules-update">
78 # <i>modules-update</i>
79 </pre>
80
81 </body>
82 </section>
83 <section>
84 <title>Configuring the X Server</title>
85 <body>
86
87 <p>
88 Once the appropriate drivers are installed you need to configure your X Server
89 (XFree86 or Xorg) to use the <c>nvidia</c> driver instead of the default
90 <c>nv</c> driver.
91 </p>
92
93 <p>
94 Open <path>/etc/X11/XF86Config</path> (or <path>/etc/X11/xorg.conf</path>) with
95 your favorite editor (such as <c>nano</c> or <c>vim</c>) and go to the
96 <c>Device</c> section. In that section, change the <c>Driver</c> line:
97 </p>
98
99 <pre caption="Changing nv to nvidia in the X Server configuration">
100 Section "Device"
101 Identifier "nVidia Inc. GeForce2"
102 <i>Driver "nvidia"</i>
103 VideoRam 65536
104 EndSection
105 </pre>
106
107 <p>
108 Then go to the <c>Module</c> section and make sure the <c>glx</c> module gets
109 loaded while the <c>dri</c> module doesn't:
110 </p>
111
112 <pre caption="Updating the Module section">
113 Section "Module"
114 <comment>(...)</comment>
115 <i># Load "dri"
116 Load "glx"</i>
117 <comment>(...)</comment>
118 EndSection
119 </pre>
120
121 <p>
122 Next, in section <c>Screen</c>, make sure that either the <c>DefaultDepth</c>
123 directive is set to 16 or 24, or that you only have <c>Display</c> subsections
124 with <c>Depth</c> settings of 16 or 24. Without it, the nvidia-glx extensions
125 will not start.
126 </p>
127
128 <pre caption="Updating the Screen section">
129 Section "Screen"
130 <comment>(...)</comment>
131 <i>DefaultDepth 16</i>
132 Subsection "Display"
133 <comment>(...)</comment>
134 EndSection
135 </pre>
136
137 <p>
138 Run <c>opengl-update</c> so that the X Server uses the nVidia GLX libraries:
139 </p>
140
141 <pre caption="Running opengl-update">
142 # <i>opengl-update nvidia</i>
143 </pre>
144
145 </body>
146 </section>
147 <section>
148 <title>Adding your Users to the video Group</title>
149 <body>
150
151 <p>
152 You have to add your user to the <c>video</c> group so he has access to the
153 nvidia device files:
154 </p>
155
156 <pre caption="Adding your user to the video group">
157 # <i>gpasswd -a youruser video</i>
158 </pre>
159
160 <p>
161 This might not be totally necessary if you aren't used <c>udev</c> but it
162 doesn't hurt either and makes your system future-proof :)
163 </p>
164
165 </body>
166 </section>
167 <section>
168 <title>Testing your Card</title>
169 <body>
170
171 <p>
172 To test your nVidia card, fire up X and run the <c>glxinfo | grep direct</c>
173 command. It should say that direct rendering is activated:
174 </p>
175
176 <pre caption="Checking the direct rendering status">
177 $ <i>glxinfo | grep direct</i>
178 direct rendering: Yes
179 </pre>
180
181 <p>
182 To monitor your FPS, run <c>glxgears</c>.
183 </p>
184
185 </body>
186 </section>
187 <section>
188 <title>Enabling nvidia Support</title>
189 <body>
190
191 <p>
192 Some tools, such as <c>mplayer</c> and <c>xine-lib</c>, use a local USE flag
193 called "nvidia" which enables XvMCNVIDIA support, useful when watching high
194 resolution movies. Add in "nvidia" in your USE variable in
195 <path>/etc/make.conf</path> or add it as USE flag to <c>media-video/mplayer</c>
196 and/or <c>media-libs/xine-lib</c> in <path>/etc/portage/package.use</path>.
197 </p>
198
199 <p>
200 Then, run <c>emerge -uD --newuse world</c> to rebuild the applications that
201 benefit from the USE flag change.
202 </p>
203
204 </body>
205 </section>
206 </chapter>
207
208 <chapter>
209 <title>Troubleshooting</title>
210 <section>
211 <title>Getting 2D to work on machines with 4Gb or more memory</title>
212 <body>
213
214 <p>
215 If you are having troubles with the nVidia 2D acceleration it is likely that you
216 are unable to set up a write-combining range with MTRR. To verify, check the
217 contents of <path>/proc/mtrr</path>:
218 </p>
219
220 <pre caption="Checking if you have write-combining enabled">
221 # <i>cat /proc/mtrr</i>
222 </pre>
223
224 <p>
225 Every line should contain "write-back" or "write-combining". If you see a line
226 with "uncachable" in it you will need to change a BIOS setting to fix this.
227 </p>
228
229 <p>
230 Reboot and enter the BIOS, then find the MTRR settings (probably under "CPU
231 Settings"). Change the setting from "continuous" to "discrete" and boot back
232 into Linux. You will now find out that there is no "uncachable" entry anymore
233 and 2D acceleration now works without any glitches.
234 </p>
235
236 </body>
237 </section>
238 <section>
239 <title>I receive warnings about unsupported 4K stack sizes</title>
240 <body>
241
242 <p>
243 <c>nvidia-kernel</c> packages older than 1.0.6106 only support kernels using an
244 8K stack size. More recent kernels (2.6.6 and higher) have support for 4K stack
245 size's as well. Do not select 4K stack size in your kernel configuration if you
246 are using such an <c>nvidia-kernel</c> package. You can find this option in the
247 section <c>Kernel Hacking</c>.
248 </p>
249
250 </body>
251 </section>
252 </chapter>
253
254 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20