/[gentoo]/xml/htdocs/doc/en/dri-howto.xml
Gentoo

Diff of /xml/htdocs/doc/en/dri-howto.xml

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

Revision 1.31 Revision 1.51
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/dri-howto.xml,v 1.31 2006/07/07 07:39:55 neysx Exp $ -->
3<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/dri-howto.xml,v 1.51 2013/07/27 21:06:37 swift Exp $ -->
4 4
5<guide link="/doc/en/dri-howto.xml"> 5<guide>
6<title>Hardware 3D Acceleration Guide</title> 6<title>Hardware 3D Acceleration Guide</title>
7
7<author title="Author"> 8<author title="Author">
8<mail link="dberkholz@gentoo.org">Donnie Berkholz</mail> 9 <mail link="dberkholz"/>
9</author> 10</author>
10<author title="Editor"> 11<author title="Editor">
11<mail link="peesh@gentoo.org">Jorge Paulo</mail> 12 <mail link="peesh"/>
12</author> 13</author>
14<author title="Editor">
15 <mail link="nightmorph"/>
16</author>
13 17
14<abstract> 18<abstract>
15This document is a guide to getting 3D acceleration working using X11-DRM 19This document is a guide to getting 3D acceleration working using the DRM with
16with Xorg in Gentoo Linux. 20Xorg in Gentoo Linux.
17</abstract> 21</abstract>
18 22
19<!-- The content of this document is licensed under the CC-BY-SA license --> 23<!-- The content of this document is licensed under the CC-BY-SA license -->
20<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 24<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
21<license/> 25<license/>
22 26
23<version>1.3</version> 27<version>7</version>
24<date>2006-05-12</date> 28<date>2013-07-27</date>
25 29
26<chapter> 30<chapter>
27<title>Introduction</title> 31<title>Introduction</title>
28<section> 32<section>
29<title>What is hardware 3D acceleration and why do I want it?</title> 33<title>What is hardware 3D acceleration and why do I want it?</title>
30<body> 34<body>
31 35
32<p> 36<p>
33With hardware 3D acceleration, three-dimensional rendering uses the graphics 37With hardware 3D acceleration, three-dimensional rendering uses the graphics
34processor on your video card instead of taking up valuable CPU resources 38processor on your video card instead of taking up valuable CPU resources
35drawing 3D images. It's also referred to as "hardware acceleration" instead of 39drawing 3D images. It's also referred to as "hardware acceleration" instead of
36"software acceleration" because without this 3D acceleration your CPU is forced 40"software acceleration" because without this 3D acceleration your CPU is forced
37to draw everything itself using the Mesa software rendering libraries, which 41to draw everything itself using the Mesa software rendering libraries, which
38takes up quite a bit of processing power. While Xorg typically supports 2D 42takes up quite a bit of processing power. While Xorg typically supports 2D
39hardware acceleration, it often lacks hardware 3D acceleration. 43hardware acceleration, it often lacks hardware 3D acceleration.
40Three-dimensional hardware acceleration is valuable in situations requiring 44Three-dimensional hardware acceleration is valuable in situations requiring
41rendering of 3D objects such as games, 3D CAD and modeling. 45rendering of 3D objects such as games, 3D CAD and modeling.
42</p> 46</p>
43 47
44</body> 48</body>
45</section> 49</section>
46<section> 50<section>
47<title>How do I get hardware 3D acceleration?</title> 51<title>How do I get hardware 3D acceleration?</title>
48<body> 52<body>
49 53
50<p> 54<p>
51In many cases, both binary and open-source drivers exist. Open-source drivers 55In many cases, both binary and open-source drivers exist. Open source drivers
52are preferable since we're using Linux and open source is one of its underlying 56are preferable since we're using Linux and open source is one of its underlying
53principles. Sometimes, binary drivers are the only option, like with nVidia's 57principles. Sometimes, binary drivers are the only option, especially if your
54cards. Binary drivers include media-video/nvidia-kernel and 58graphics card is so new that open source drivers have not yet been written to
55media-video/nvidia-glx for nVidia cards, media-video/mgavideo for Matrox cards 59support its features. Binary drivers include <c>x11-drivers/nvidia-drivers</c>
56and media-video/ati-drivers for ATI cards. Other open-source drivers include 60for nVidia cards and <c>x11-drivers/ati-drivers</c> for AMD/ATI cards.
57media-video/kyro-kernel for KyroII cards and media-video/ati-gatos for ATI
58cards, which aim to support ATI's video capabilities more fully.
59</p> 61</p>
60 62
61</body> 63</body>
62</section> 64</section>
63<section> 65<section>
73</p> 75</p>
74 76
75</body> 77</body>
76</section> 78</section>
77<section> 79<section>
78<title>What is X11-DRM and how does it relate to regular Xorg?</title> 80<title>What is the DRM and how does it relate to regular Xorg?</title>
79<body> 81<body>
80 82
81<p> 83<p>
82X11-DRM is an <e>enhancement</e> to Xorg that adds 3D acceleration for 84The DRM (Direct Rendering Manager) is an <e>enhancement</e> to Xorg that adds 3D
83cards by adding the kernel module necessary for direct rendering. 85acceleration for cards by adding the kernel module necessary for direct
86rendering.
84</p> 87</p>
85 88
86</body> 89</body>
87</section> 90</section>
88<section> 91<section>
89<title>Purpose</title> 92<title>Purpose</title>
90<body> 93<body>
91 94
92<p> 95<p>
93This guide is for people who can't get direct rendering working with just Xorg. 96This guide is for people who can't get direct rendering working with just Xorg.
94X11-DRM works for 3dfx, gamma, i8x0, matrox, rage128, radeon, mach64 and sis300 97The DRM works for the following drivers:
95series drivers. VIA card owners should not use <c>x11-drm</c>, but should 98</p>
96instead use the DRI provided in recent kernels (&gt;2.6.13). See the <uri 99
100<ul>
101 <li>3dfx</li>
102 <li>intel</li>
103 <li>matrox</li>
104 <li>nouveau</li>
105 <li>rage128</li>
106 <li>radeon</li>
107 <li>mach64</li>
108 <li>sis300</li>
109 <li>via</li>
110</ul>
111
112<p>
97link="http://dri.freedesktop.org/">DRI homepage</uri> for more info and 113See the <uri link="http://dri.freedesktop.org/">DRI homepage</uri> for more info
98documentation. 114and documentation.
99</p>
100
101</body>
102</section>
103<section>
104<title>Feedback</title>
105<body>
106
107<p>
108With suggestions, questions, etc., e-mail <mail
109link="dberkholz@gentoo.org">Donnie Berkholz</mail>.
110</p> 115</p>
111 116
112</body> 117</body>
113</section> 118</section>
114</chapter> 119</chapter>
118<section> 123<section>
119<title>Install Xorg</title> 124<title>Install Xorg</title>
120<body> 125<body>
121 126
122<p> 127<p>
123Please read our <uri link="/doc/en/xorg-config.xml">Xorg Configuration 128Please read our <uri link="https://wiki.gentoo.org/wiki/Xorg/Configuration">Xorg Configuration
124Guide</uri> to get Xorg up and running. 129Guide</uri> to get Xorg up and running.
125</p> 130</p>
126 131
127</body> 132</body>
128</section> 133</section>
139# <i>00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)</i> 144# <i>00:01.0 PCI bridge: Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX AGP bridge (rev 03)</i>
140<comment>(Your output may not match the above due to different hardware.)</comment> 145<comment>(Your output may not match the above due to different hardware.)</comment>
141</pre> 146</pre>
142 147
143<p> 148<p>
144If your chipset is not supported by the kernel you might have some succes by 149If your chipset is not supported by the kernel you might have some success by
145passing <c>agp=try_unsupported</c> as a kernel parameter. This will use Intel's 150passing <c>agp=try_unsupported</c> as a kernel parameter. This will use Intel's
146generic routines for AGP support. To add this parameter, edit your bootloader 151generic routines for AGP support. To add this parameter, edit your bootloader
147configuration file! 152configuration file!
148</p> 153</p>
149 154
150<p> 155<p>
151Most, if not all, kernels should have these options. This was configured using 156Most, if not all, kernels should have these options. This was configured using a
152gentoo-sources-2.4.20-r5. 157standard <c>gentoo-sources</c> kernel.
153</p> 158</p>
154 159
155<pre caption="Configuring the kernel"> 160<pre caption="Configuring the kernel">
156# <i>ls -l /usr/src/linux </i> 161# <i>ls -l /usr/src/linux </i>
157lrwxrwxrwx 1 root root 22 May 29 18:20 /usr/src/linux -> linux-2.4.20-gentoo-r5 162lrwxrwxrwx 1 root root 22 2007-02-14 20:12 /usr/src/linux -> linux-2.6.18-gentoo-r4
158<comment>(Make sure /usr/src/linux links to your current kernel.)</comment> 163<comment>(Make sure /usr/src/linux links to your current kernel.)</comment>
159# <i>cd /usr/src/linux</i> 164# <i>cd /usr/src/linux</i>
160# <i>make menuconfig</i> 165# <i>make menuconfig</i>
161</pre> 166</pre>
162 167
163<pre caption="make menuconfig options"> 168<pre caption="make menuconfig options">
164Processor type and features ---&gt; 169Processor type and features --->
165&lt;*&gt; MTRR (Memory Type Range Register) support 170&lt;*&gt; MTRR (Memory Type Range Register) support
166Character devices ---&gt; 171Device drivers --->
172 Graphics support --->
167&lt;M&gt; /dev/agpgart (AGP Support) 173 &lt;M&gt; /dev/agpgart (AGP Support) --->
168[M] Intel 440LX/BX/GX and I815/I820/I830M/I830MP/I840/I845/I850/I860 support 174 <comment>(The agpgart option is not present on 64-bit kernels; just choose your chipset support.)</comment>
175 &lt;M&gt; Intel 440LX/BX/GX, I8xx and E7x05 support
169<comment>(Enable your chipset instead of the above.)</comment> 176 <comment>(Enable your chipset instead of the above.)</comment>
170&lt; &gt; Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) 177 &lt;M&gt; Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) --->
171</pre> 178 &lt;M&gt; <comment>(Select your graphics card from the list)</comment>
172
173<p>
174Make sure the Direct Rendering Manager (DRM) is <e>off</e>.
175The X11-DRM package will provide its own.
176</p> 179</pre>
177 180
178</body> 181</body>
179</section> 182</section>
180<section> 183<section>
181<title>Compile and install your kernel</title> 184<title>Compile and install your kernel</title>
182<body> 185<body>
183 186
184<pre caption="Compiling and installing kernel"> 187<pre caption="Compiling and installing kernel">
185<comment>(This example is for a 2.4 kernel)</comment>
186# <i>make dep &amp;&amp; make clean bzImage modules modules_install</i> 188# <i>make &amp;&amp; make modules_install</i>
187# <i>mount /boot</i>
188# <i>cp arch/i386/boot/bzImage /boot</i>
189</pre> 189</pre>
190 190
191<p>
192If you want your kernel to be named something other than bzImage, be sure to
193copy to /boot/yourname instead. Don't forget to set up grub.conf or lilo.conf
194and run /sbin/lilo if you use LILO.
195</p> 191<p>
192Don't forget to set up <path>grub.conf</path> or <path>lilo.conf</path> and run
193<c>/sbin/lilo</c> if you use LILO.
194</p>
196 195
197</body> 196</body>
198</section>
199</chapter>
200
201<chapter>
202<title>Install X11-DRM and configure direct rendering</title>
203<section> 197</section>
204<title>Install X11-DRM</title>
205<body>
206
207<pre caption="Installing X11-DRM">
208# <i>emerge x11-drm</i>
209</pre>
210
211</body>
212</section> 198<section>
199<title>Add your user to the video group</title>
200<body>
201
202<p>
203Next, add your user(s) to the video group, as explained in the <uri
204link="/doc/en/handbook">handbook</uri>:
205</p>
206
207<pre caption="Adding a user to the video group">
208# <i>gpasswd -a username video</i>
209</pre>
210
211</body>
212</section>
213</chapter>
214
215<chapter>
216<title>Configure direct rendering</title>
213<section id="configure_xorg"> 217<section id="configure_xorg">
214<title>Configure Xorg.conf</title> 218<title>Configure Xorg</title>
215<body> 219<body>
216 220
217<p>
218Some chipsets require you to rebuild <c>xorg-x11</c> with
219<c>USE="insecure-drivers"</c>. This applies to mach64, unichrome and savage
220chipsets on xorg-x11-6.8.2, and to mach64 and unichrome on xorg-x11-6.8.99.x.
221Savage users should not try xorg-x11-6.8.99.x as support for the savage there
222is broken.
223</p> 221<p>
224 222Hopefully just adding your user to the <c>video</c> group is sufficient to
225<pre caption="Rebuilding xorg-x11"> 223enable direct rendering. However, you may also need to create a file in
226<comment>(Add the insecure-drivers USE flag if you use one of the aforementioned chipsets)</comment> 224<path>/etc/X11/xorg.conf.d/</path>. You can name it anything you like; just make
227# <i>echo "x11-base/xorg-x11 insecure-drivers" &gt;&gt; /etc/portage/package.use</i> 225sure it ends in <path>.conf</path>. Open up your favorite text editor and create
228 226a file with this inside it:
229# <i>emerge xorg-x11</i>
230</pre>
231
232<p> 227</p>
233Open <path>/etc/X11/xorg.conf</path> with your favorite text editor and edit
234it to enable DRI and GLX.
235</p>
236 228
237<pre caption="xorg.conf"> 229<pre caption="/etc/X11/xorg.conf.d/10-dri.conf">
238...
239Section "Module"
240 Load "dri"
241 Load "glx"
242 ...
243EndSection
244...
245Section "Device" 230Section "Device"
246 Driver "radeon" 231 Driver "radeon"
247 ... 232 <comment>(Replace radeon with the name of your driver.)</comment>
248EndSection 233EndSection
249...
250Section "dri" 234Section "dri"
251 Mode 0666 235 Mode 0666
252EndSection 236EndSection
253</pre> 237</pre>
254 238
255<p>
256If you are using a different driver, replace "radeon" with yours.
257</p>
258
259</body> 239</body>
260</section>
261<section> 240</section>
262<title>Changes to modules.autoload.d</title> 241<section>
242<title>Changes to /etc/conf.d/modules</title>
263<body> 243<body>
264 244
265<p> 245<p>
266You will need to add the module name that your card uses to 246You will need to add the module name that your card uses to
267<path>/etc/modules.autoload.d/kernel-2.6</path> to ensure that the module is 247<path>/etc/conf.d/modules</path> to ensure that the module is
268loaded automatically when the system starts up. 248loaded automatically when the system starts up.
269</p> 249</p>
270 250
271<pre caption="Editing /etc/modules.autoload.d/kernel-2.6"> 251<pre caption="Editing /etc/conf.d/modules">
272<comment>(Change module name as required.)</comment> 252<comment>(Change module name as required.)</comment>
273intel-agp 253modules="<i>intel-agp</i>"
274</pre> 254</pre>
275 255
276<note> 256<note>
277If you compiled <c>agpgart</c> as a module, you will also need to add it to 257If you compiled <c>agpgart</c> as a module, you will also need to add it to
278<path>/etc/modules.autoload.d/kernel-2.6</path>. 258<path>/etc/conf.d/modules</path>.
279</note> 259</note>
280 260
281</body> 261</body>
282</section> 262</section>
283</chapter> 263</chapter>
287<section> 267<section>
288<title>Reboot to the new kernel</title> 268<title>Reboot to the new kernel</title>
289<body> 269<body>
290 270
291<p> 271<p>
292Reboot your computer to your new kernel and login as a normal user. It's time 272Reboot your computer to your new kernel and login as a normal user. It's time to
293to see if you have direct rendering and how good it is. 273see if you have direct rendering and how good it is. <c>glxinfo</c> and
274<c>glxgears</c> are part of the <c>mesa-progs</c> package, so make sure it is
275installed before you attempt to run these commands.
294</p> 276</p>
295 277
296<pre caption="Testing rendering"> 278<pre caption="Testing rendering">
297$ <i>startx</i> 279$ <i>startx</i>
298<comment>(No need to load modules for your driver or agpgart, if you compiled agpgart as a module.)</comment> 280<comment>(No need to load modules for your driver or agpgart, even if you compiled them as a module.)</comment>
299<comment>(They will be loaded automatically.)</comment> 281<comment>(They will be loaded automatically.)</comment>
300$ <i>glxinfo | grep rendering</i> 282$ <i>glxinfo | grep rendering</i>
301direct rendering: Yes 283direct rendering: Yes
302<comment>(If it says "No," you don't have 3D acceleration.)</comment> 284<comment>(If it says "No", you don't have 3D acceleration.)</comment>
303$ <i>glxgears</i> 285$ <i>glxgears</i>
304<comment>(Test your frames per second (FPS) at the default size. The number should be )</comment> 286<comment>(Test your frames per second (FPS) at the default size. The number should be
305<comment>(significantly higher than before installing x11-drm. Do this while the CPU is as idle as possible.)</comment> 287significantly higher than before configuring DRM. Do this while the CPU is as idle as
288possible.)</comment>
306</pre> 289</pre>
307 290
308</body> 291<note>
309</section> 292FPS may be limited by your screen's refresh rate, so keep this in mind if
310</chapter> 293<c>glxgears</c> reports only about 70-100 FPS. <c>games-fps/ut2004-demo</c> or
294other 3D games are better benchmarking tools, as they give you real-world
295performance results.
296</note>
311 297
312<chapter> 298</body>
313<title>Using the CVS sources</title>
314<section> 299</section>
315<body>
316
317<warn>
318Don't do this if the package worked.
319</warn>
320
321</body>
322</section>
323<section>
324<title>Do you need the CVS?</title>
325<body>
326
327<p>
328First you have to check whether the x11-drm package works. If it doesn't and
329you have checked your logs to verify it's not a configuration error, you might
330want to consider the CVS sources. There are also daily driver snapshots
331available if you do not wish to build the full CVS.
332</p>
333
334</body>
335</section>
336<section>
337<title>Do the CVS sources support your card?</title>
338<body>
339
340<p>
341Check the DRI <uri link="http://dri.freedesktop.org/wiki/Status">supported
342cards list</uri> to see if the CVS supports your card. Even if it doesn't, but
343it supports a similar card, try it.
344</p>
345
346<!-- I see a couple of 8x AGP stuff on the Internet about vanilla 2.4 kernels;
347 is this now available or not? I've commented it out for the time being,
348 hoping that this doesn't affect us :)
349
350<warn>
351"Linux 2.4 doesn't support agp 8x, so I had to go find a backport. The backport
352works .... it doesn't patch quite properly, and it requires 2.4.21 (I've only
353gotten it to work with vanilla, straight from the tarball (not ebuild)). First
354go get the 2.4.20-2.4.21 patch from kernel.org .... (then get the patch,) It
355was on a mailing list somewhere. It doesn't patch cleanly - - one file fails,
356the pci_ids.h file, but if you actually read the file and the reject list, it's
357very easy to fix. But it does load, and it gives me 1600x1200 with video
358(although a bit slow b/c of lack of dga) with xfree-drm." (SanityInAnarchy on
359#gentoo)
360</warn>
361
362<impo>
363The patch is a little tricky to work with but <uri
364link="http://www.ussg.iu.edu/hypermail/linux/kernel/0302.2/att-1618/01-agp3.diff.bz2">here's
365the link</uri>. If you can disable 8X AGP in your BIOS, change it to 4X and you
366may not need the patch.
367</impo>
368-->
369
370</body>
371</section>
372<section>
373<title>Follow the CVS Instructions</title>
374<body>
375
376<p>
377The DRI project has a document about CVS compiling themselves. Please read <uri
378link="http://dri.freedesktop.org/wiki/Building">the document</uri> and follow
379the instructions up to the <e>Installing for X.org</e> part.
380</p>
381
382</body>
383</section>
384<section>
385<title>Install the CVS</title>
386<body>
387
388<p>
389Verify that the DRI kernel module(s) for your system were built:
390</p>
391
392<pre caption="Verification">
393# <i>cd ~/DRI-CVS/build/xc/programs/Xserver/hw/xfree86/os-support/linux/drm/kernel; ls</i>
394</pre>
395
396<p>
397For the 3dfx Voodoo, you should see <path>tdfx.o</path>. For the Matrox
398G200/G400, you should see <path>mga.o</path>. For the ATI Rage 128, you should
399see <path>r128.o</path>. For the ATI Radeon, you should see
400<path>radeon.o</path>. For the Intel i810, you should see <path>i810.o</path>.
401If the DRI kernel module(s) failed to build, you should verify that you're
402using the right version of the Linux kernel. The most recent kernels are not
403always supported.
404</p>
405
406<p>
407Install over your X.org installation. You may wish to back up xorg-x11.
408</p>
409
410<pre caption="Backing up Xorg">
411# <i>quickpkg xorg-x11</i>
412<comment>(This backs up your Xorg-X11 package.)</comment>
413# <i>make install</i>
414</pre>
415
416<p>
417Follow the "Configure Xorg" section above.
418</p>
419
420<p>
421To load the appropriate DRM module in your running kernel, copy the kernel
422module to <path>/lib/modules/`uname -r`/kernel/drivers/char/drm/</path> then
423run <c>modules-update</c> and restart your X server. If you're not running the
424kernel you'll be using it in, instead of <c>`uname -r`,</c> use that kernel's
425name.
426</p>
427
428<warn>
429Make sure you first unload any older DRI kernel modules that might be already
430loaded. Note that some DRM modules require that the agpgart module be loaded
431first.
432</warn>
433
434</body>
435</section>
436</chapter>
437
438<chapter>
439<title>Tweak your performance</title>
440<section> 300<section>
441<title>Get the most out of direct rendering</title> 301<title>Get the most out of direct rendering</title>
442<body> 302<body>
443 303
444<p> 304<p>
445A few options may increase performance by up to 30 percent (or more) over the 305If you want to set more features, for performance or other reasons, check out
446default. Set them in <path>/etc/X11/xorg.conf</path>. However, you will first
447need to check that your motherboard and video card support these options.
448</p>
449
450<p>
451First, let's see if your video card can support fast writes. We'll do this by
452closely inspecting the output from <c>lspci</c>. Specifically, we are looking
453at the "VGA compatible controller" information.
454</p>
455
456<pre caption="Video card check">
457# <i>lspci -vv</i>
45801:00.0 VGA compatible controller: ATI Technologies Inc Radeon Mobility M6 LY (prog-if 00 [VGA])
459. . .
460Capabilities: [58] AGP version 2.0
461 Status: RQ=48 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
462</pre>
463
464<p>
465While quite a lot of information is produced, we are looking for <b>FW</b> in
466the "Status" subsection of the AGP "Capabilities" section. If <b>FW+</b> is
467present in the "Status" line, it means the card supports fast writes. We can
468now check if the motherboard supports fast writes.
469</p>
470
471<impo>
472If you do not see <b>FW+</b>, but instead see <b>FW-</b>, you cannot enable
473fast writes in <path>xorg.conf</path>. Your card does not support fast writes.
474</impo>
475
476<p>
477Now let's make sure the motherboard supports fast writes as well. This time,
478look at the "Host bridge" section of your <c>lspci</c> output.
479</p>
480
481<pre caption="Motherboard check">
482# <i>lspci -vv</i>
48300:00.0 Host bridge: Intel Corporation 82830 830 Chipset Host Bridge (rev 02)
484. . .
485Capabilities: [a0] AGP version 2.0
486 Status: RQ=32 Iso- ArqSz=0 Cal=0 SBA+ ITACoh- GART64- HTrans- 64bit- FW+ AGP3- Rate=x1,x2,x4
487</pre>
488
489<p>
490Again, examine the "Status" subsection of your AGP "Capabilities" section. Look
491for <b>FW</b>. If you see <b>FW+</b>, your motherboard supports fast writes.
492</p>
493
494<impo>
495Remember, both your video card information and your motherboard information
496must show the same <b>FW</b> capability. If either device shows <b>FW-</b> in
497"Status", you cannot enable fast writes in <path>xorg.conf</path>.
498</impo>
499
500<p>
501Assuming that all has gone well and both your motherboard and video card
502support fast writes, let's enable this option in
503<path>/etc/X11/xorg.conf</path> and get the best performance out of your
504hardware.
505</p>
506
507<pre caption="xorg.conf">
508Section "Device"
509 Option "AGPMode" "4"
510 <comment>(This increased FPS from 609 to 618.)</comment>
511 Option "AGPFastWrite" "True"
512 <comment>(This had no measurable effect, but it may increase instability of your computer.)</comment>
513 <comment>(You may also need to set it in your BIOS.)</comment>
514 Option "EnablePageFlip" "True"
515 <comment>(This improved FPS from 618 to 702. It also is "risky" but few people have reported problems.)</comment>
516 ...
517EndSection
518</pre>
519
520<warn>
521Enabling <c>AGPFastWrite</c> on a VIA chipset will very likely cause your
522machine to lock up. VIA chipsets do not play nicely with fast writes, so use
523this setting at your own risk.
524</warn>
525
526<note>
527Remember, if you want fast writes to work properly, you will have to first
528enable the appropriate option in your BIOS.
529</note>
530
531<p>
532If you want to set even more features, check out the <uri
533link="http://dri.freedesktop.org/wiki/FeatureMatrix">feature matrix</uri> on 306the <uri link="http://dri.freedesktop.org/wiki/FeatureMatrix">feature
534the DRI web site or the <uri 307matrix</uri> on the DRI web site or the <uri
535link="http://dri.sourceforge.net/doc/dri_driver_features.phtml">features 308link="http://dri.sourceforge.net/doc/dri_driver_features.phtml">features
536listing</uri> on Sourceforge. 309listing</uri> on Sourceforge.
537</p> 310</p>
538 311
539</body> 312</body>
541</chapter> 314</chapter>
542 315
543<chapter> 316<chapter>
544<title>Troubleshooting</title> 317<title>Troubleshooting</title>
545<section> 318<section>
546<title>It doesn't work. I just recompiled my kernel or switched to a new one.</title>
547<body>
548
549<p>
550Whenever you rebuild your kernel or switch to another kernel, you'll have to
551rebuild the kernel module. Note that you don't need to remerge xorg-x11, but
552you will need to remerge x11-drm.
553</p>
554
555</body>
556</section>
557
558<section>
559<title>It doesn't work. I don't have rendering, and I can't tell why.</title> 319<title>It doesn't work. I don't have rendering, and I can't tell why.</title>
560<body> 320<body>
561 321
562<p> 322<p>
563Try <c>insmod radeon</c> before you start the X server. Also, try building 323Try <c>modprobe radeon</c> before you start the X server (replace <c>radeon</c>
564agpgart into the kernel instead of as a module. 324with the name of your driver). Also, try building agpgart into the kernel
325instead of as a module.
565</p> 326</p>
566 327
567</body> 328</body>
568</section> 329</section>
569<section> 330<section>
570<title>When I startx, I get this error: "[drm] failed to load kernel module agpgart"</title> 331<title>When I startx, I get this error: "[drm] failed to load kernel module agpgart"</title>
571<body> 332<body>
572 333
573<p> 334<p>
574That's because you compiled agpgart into the kernel instead of as a module. 335That's because you compiled agpgart into the kernel instead of as a module.
575Ignore it unless you're having problems. 336Ignore it unless you're having problems.
576</p> 337</p>
577 338
578</body> 339</body>
579</section> 340</section>
580<section> 341<section>
581<title>Direct rendering doesn't work, and in /var/log/Xorg.0.log I have an error about driver version too low.</title>
582<body>
583
584<p>
585You aren't using the x11-drm driver. Check if you compiled DRM and the driver
586into the kernel; you shouldn't have.
587</p>
588
589</body>
590</section>
591<section>
592<title>I have a Radeon, and I want TV-Out.</title> 342<title>I have a Radeon, and I want TV-Out.</title>
593<body> 343<body>
594 344
595<p> 345<p>
596Check out ati-gatos drivers. <c>emerge -s gatos</c>. 346The drivers originally developed by the <uri
347link="http://gatos.sf.net">GATOS</uri> project have been merged into Xorg's
348codebase. You don't need anything special for TV-Out;
349<c>x11-drivers/xf86-video-ati</c> will work just fine.
597</p> 350</p>
598 351
599</body> 352</body>
600</section>
601<section> 353</section>
354<section>
355<title>
602<title>It doesn't work. My card is so incredibly new and cool that it isn't supported at all.</title> 356It doesn't work. My card is so incredibly new and cool that it isn't supported
357at all.
358</title>
603<body> 359<body>
604 360
605<p> 361<p>
606Try out the binary drivers. For ati-drivers, a listing is at 362Try out the binary drivers. For AMD cards, use <c>ati-drivers</c>; a listing is
607<uri>http://www.schneider-digital.de/html/download_ati.php</uri>. If those 363at <uri>http://support.amd.com/us/gpudownload/Pages/index.aspx</uri>. If those
608don't support it, use fbdev. It's slow, but it works. 364don't support it, use fbdev. It's slow, but it works.
609</p> 365</p>
610 366
611</body> 367</body>
612</section> 368</section>
613<section> 369<section>
614<title>I have a PCI card and it doesn't work. Help!</title> 370<title>I have a PCI card and it doesn't work. Help!</title>
615<body> 371<body>
616 372
617<p> 373<p>
618In section "Device" enable ForcePCIMode. 374Create a config file in <path>/etc/X11/xorg.conf.d/</path>; name it anything you
375want as long as it ends in <path>.conf</path>. Add the following to it:
619</p> 376</p>
620 377
621<pre caption="Enabling ForcePCIMode"> 378<pre caption="/etc/X11/xorg.conf.x/10-pcimode.conf">
379Section "Device"
622Option "ForcePCIMode" "True" 380 Option "ForcePCIMode" "True"
381EndSection
623</pre> 382</pre>
624
625</body>
626</section>
627</chapter>
628
629<chapter>
630<title>Acknowledgments</title>
631<section>
632<body>
633
634<ol>
635 <li>
636 Christopher Webber for suggesting a troubleshooting question about changing
637 or recompiling kernels
638 </li>
639 <li>
640 Steve, for suggesting consistency between the cases of dri and DRI in
641 XF86Config
642 </li>
643</ol>
644 383
645</body> 384</body>
646</section> 385</section>
647</chapter> 386</chapter>
648 387
653 392
654<ol> 393<ol>
655 <li><uri>http://forums.gentoo.org/viewtopic.php?t=46681</uri></li> 394 <li><uri>http://forums.gentoo.org/viewtopic.php?t=46681</uri></li>
656 <li><uri>http://forums.gentoo.org/viewtopic.php?t=29264</uri></li> 395 <li><uri>http://forums.gentoo.org/viewtopic.php?t=29264</uri></li>
657 <li><uri>http://dri.freedesktop.org/</uri></li> 396 <li><uri>http://dri.freedesktop.org/</uri></li>
658 <li><uri>http://www.retinalburn.net/linux/dri_status.html</uri></li>
659</ol> 397</ol>
660 398
661</body> 399</body>
662</section> 400</section>
401<section>
402<title>Feedback</title>
403<body>
404
405<p>
406With suggestions, questions, etc., e-mail <mail link="dberkholz"/>.
407</p>
408
409</body>
410</section>
663</chapter> 411</chapter>
664</guide> 412</guide>

Legend:
Removed from v.1.31  
changed lines
  Added in v.1.51

  ViewVC Help
Powered by ViewVC 1.1.20