/[gentoo]/xml/htdocs/doc/en/xorg-config.xml
Gentoo

Diff of /xml/htdocs/doc/en/xorg-config.xml

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

Revision 1.39 Revision 1.40
1<?xml version='1.0' encoding='UTF-8'?> 1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> 2<!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.39 2010/05/23 21:31:50 nightmorph Exp $ --> 3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.40 2010/08/29 03:39:55 nightmorph Exp $ -->
4 4
5<guide> 5<guide>
6<title>The X Server Configuration HOWTO</title> 6<title>The X Server Configuration HOWTO</title>
7 7
8<author title="Author"> 8<author title="Author">
20 20
21<!-- The content of this document is licensed under the CC-BY-SA license --> 21<!-- The content of this document is licensed under the CC-BY-SA license -->
22<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 22<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
23<license/> 23<license/>
24 24
25<version>1.29</version> 25<version>2</version>
26<date>2010-05-23</date> 26<date>2010-08-28</date>
27 27
28<chapter> 28<chapter>
29<title>What is the X Window Server?</title> 29<title>What is the X Window Server?</title>
30<section> 30<section>
31<title>Graphical vs Command-Line</title> 31<title>Graphical vs Command-Line</title>
32<body> 32<body>
33 33
34<p> 34<p>
35The average user may be frightened at the thought of having to type in commands. 35The average user may be frightened at the thought of having to type in commands.
36Why wouldn't he be able to point and click his way through the freedom provided 36Why wouldn't he be able to point and click his way through the freedom provided
37by Gentoo (and Linux in general)? Well, *big smile*, of course you are able to 37by Gentoo (and Linux in general)? Well, of course you are able to
38do this. :-) Linux offers a wide variety of flashy user interfaces and 38do this! Linux offers a wide variety of flashy user interfaces and
39environments which you can install on top of your existing installation. 39environments which you can install on top of your existing installation.
40</p> 40</p>
41 41
42<p> 42<p>
43This is one of the biggest surprises new users come across: a graphical user 43This is one of the biggest surprises new users come across: a graphical user
86</chapter> 86</chapter>
87 87
88<chapter> 88<chapter>
89<title>Installing Xorg</title> 89<title>Installing Xorg</title>
90<section> 90<section>
91<title>Kernel configuration</title> 91<body>
92
93<p>
94Before you can install Xorg, you need to prepare your system for it. First,
95we'll set up the kernel to support input devices and video cards. Then we'll
96prepare <path>/etc/make.conf</path> so that the right drivers and Xorg packages
97are built and installed.
98</p>
99
100</body>
101</section>
102<section>
103<title>Input driver support</title>
92<body> 104<body>
93 105
94<p> 106<p>
95By default, Xorg uses <c>evdev</c>, a generic input driver. You'll need to 107By default, Xorg uses <c>evdev</c>, a generic input driver. You'll need to
96activate support for <c>evdev</c> by making a change to your kernel 108activate support for <c>evdev</c> by making a change to your kernel
97configuration. (Read the 109configuration. Read the <uri link="/doc/en/kernel-config.xml">Kernel
98<uri link="/doc/en/kernel-config.xml">Kernel Configuration Guide</uri> if you 110Configuration Guide</uri> if you don't know how to setup your kernel.
99don't know how to setup your kernel.)
100</p> 111</p>
101 112
102<pre caption="Enabling evdev in the kernel"> 113<pre caption="Enabling evdev in the kernel">
103Device Drivers ---&gt; 114Device Drivers ---&gt;
104 Input device support ---&gt; 115 Input device support ---&gt;
106</pre> 117</pre>
107 118
108</body> 119</body>
109</section> 120</section>
110<section> 121<section>
122<title>Kernel modesetting</title>
123<body>
124
125<p>
126Modern open-source video drivers rely on kernel modesetting (KMS). KMS provides
127an improved graphical boot with less flickering, faster user switching, a
128built-in framebuffer console, seamless switching from the console to Xorg, and
129other features. KMS conflicts with legacy framebuffer drivers, which must remain
130<b>disabled</b> in your kernel configuration.
131</p>
132
133<p>
134First, prepare your kernel for KMS. You need to do this step regardless of which
135Xorg video driver you're using.
136</p>
137
138<pre caption="Configuring framebuffers">
139Device Drivers ---&gt;
140 Graphics support ---&gt;
141 Support for frame buffer devices ---&gt;
142 <comment>(Disable all drivers, including VGA, Intel, nVidia, and ATI)</comment>
143
144 <comment>(Further down, enable basic console support. KMS uses this.)</comment>
145 Console display driver support ---&gt;
146 &lt;*&gt; Framebuffer Console Support
147</pre>
148
149<p>
150Next, configure your kernel to use the proper KMS driver for your video card.
151Intel, nVidia, and ATI are the most common cards, so follow code listing for
152your card below.
153</p>
154
155<p>
156For Intel cards:
157</p>
158
159<pre caption="Intel settings">
160Device Drivers ---&gt;
161 Graphics support ---&gt;
162 /dev/agpgart (AGP Support) ---&gt;
163 &lt;*&gt; Intel 440LX/BX/GX, I8xx and E7x05 chipset support
164 Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---&gt;
165 &lt;*&gt; Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)
166 i915 driver
167 [*] Enable modesetting on intel by default
168</pre>
169
170<p>
171For nVidia cards:
172</p>
173
174<pre caption="nVidia settings">
175<comment>(Enable DRM)</comment>
176Device Drivers ---&gt;
177 Graphics support ---&gt;
178 &lt;*&gt; Direct Rendering Manager ---&gt;
179
180<comment>(Nouveau is currently in the Staging drivers section)</comment>
181Device Drivers ---&gt;
182 Staging drivers ---&gt;
183 [ ] Exclude Staging drivers from being built
184 &lt;*&gt; Nouveau (nVidia) cards
185</pre>
186
187<p>
188For newer ATI cards (<uri link="/doc/en/ati-faq.xml">RadeonHD 2000 and
189up</uri>), you will need to emerge <c>radeon-ucode</c>. Once you have installed
190<c>radeon-ucode</c>, configure your kernel as shown:
191</p>
192
193<pre caption="ATI settings">
194<comment>(Setup the kernel to use the radeon-ucode firmware)</comment>
195Device Drivers ---&gt;
196 Generic Driver Options ---&gt;
197 [*] Include in-kernel firmware blobs in kernel binary
198 <comment># RadeonHD 2000, 3000, and 4000 series cards:</comment>
199 (radeon/R600_rlc.bin radeon/R700_rlc.bin) External firmware blobs
200 <comment># RadeonHD 5000, a.k.a Evergreen, and newer cards:</comment>
201 (radeon/CEDAR_me.bin radeon/CEDAR_pfp.bin radeon/CEDAR_rlc.bin
202 radeon/CYPRESS_me.bin radeon/CYPRESS_pfp.bin radeon/CYPRESS_rlc.bin
203 radeon/JUNIPER_me.bin radeon/JUNIPER_pfp.bin radeon/JUNIPER_rlc.bin
204 radeon/REDWOOD_me.bin radeon/REDWOOD_pfp.bin
205 radeon/REDWOOD_rlc.bin) External firmware blobs
206 (/lib/firmware/) Firmware blobs root directory
207
208<comment>(Enable Radeon KMS support)</comment>
209Device Drivers ---&gt;
210 Graphics support ---&gt;
211 &lt;*&gt; Direct Rendering Manager ---&gt;
212 &lt;*&gt; ATI Radeon
213 [*] Enable modesetting on radeon by default
214</pre>
215
216<note>
217Old Radeon cards (X1900 series and older) don't need the <c>radeon-ucode</c>
218package or any firmware configuration. Just enable the Direct Rendering Manager
219and ATI Radeon modesetting.
220</note>
221
222<p>
223Now that you're done setting up KMS, continue with preparing
224<path>/etc/make.conf</path> in the next section.
225</p>
226
227</body>
228</section>
229<section>
111<title>make.conf configuration</title> 230<title>make.conf configuration</title>
112<body> 231<body>
113 232
114<p> 233<p>
115Before you install Xorg, you have to configure two important variables in the 234Now that your kernel is prepared, you have to configure two important variables
116<path>/etc/make.conf</path> file. 235in the <path>/etc/make.conf</path> file before you can install Xorg.
117</p> 236</p>
118 237
119<p> 238<p>
120The first variable is <c>VIDEO_CARDS</c>. This is used to set the video drivers 239The first variable is <c>VIDEO_CARDS</c>. This is used to set the video drivers
121that you intend to use and is usually based on the kind and brand of card you 240that you intend to use and is usually based on the kind of video card you have.
122have. The most common settings are <c>nvidia</c> for Nvidia cards or 241The most common settings are <c>nouveau</c> for nVidia cards or <c>radeon</c>
123<c>fglrx</c> for ATI Radeon cards. Those are the proprietary drivers from Nvidia 242for ATI cards. Both have actively developed, well-supported open-source
124and ATI respectively. If you would like to use the open source nVidia driver, 243drivers.
125use <c>nv</c> rather than <c>nvidia</c> in the variable, but bear in mind that 244</p>
126using this driver means no 3D acceleration at all. The free <c>radeon</c> and 245
127<c>radeonhd</c> drivers are available for ATI cards, and are more or less the 246<note>
128equal of the proprietary <c>fglrx</c> driver. The <c>intel</c> driver may be 247You may also try the proprietary drivers from nVidia and ATI, <c>nvidia</c> and
129used for desktops or laptops with common Intel integrated graphics chipsets. 248<c>fglrx</c> respectively. However, setting up the proprietary drivers is
130<c>VIDEO_CARDS</c> may contain more than one driver, in this case list of them 249beyond the scope of this guide. Please read the <uri
131should be separated with spaces. 250link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and <uri
251link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know which
252drivers you should choose, refer to these guides for more information.
253</note>
254
132</p> 255<p>
256The <c>intel</c> driver may be used for desktops or laptops with common Intel
257integrated graphics chipsets.
258</p>
259
260<note>
261<c>VIDEO_CARDS</c> may contain more than one driver, each separated with a
262space.
263</note>
133 264
134<p> 265<p>
135The second variable is <c>INPUT_DEVICES</c> and is used to determine which 266The second variable is <c>INPUT_DEVICES</c> and is used to determine which
136drivers are to be built for input devices. In most cases setting it to 267drivers are to be built for input devices. In most cases setting it to
137<c>evdev</c> should work just fine. If you use alternative input 268<c>evdev</c> should work just fine. If you use alternative input
145</p> 276</p>
146 277
147<pre caption="Sample make.conf entries"> 278<pre caption="Sample make.conf entries">
148<comment>(For mouse, keyboard, and Synaptics touchpad support)</comment> 279<comment>(For mouse, keyboard, and Synaptics touchpad support)</comment>
149INPUT_DEVICES="evdev synaptics" 280INPUT_DEVICES="evdev synaptics"
150<comment>(For Nvidia cards)</comment> 281<comment>(For nVidia cards)</comment>
151VIDEO_CARDS="nvidia" 282VIDEO_CARDS="nouveau"
152<comment>(OR, for ATI Radeon cards)</comment> 283<comment>(OR, for ATI Radeon cards)</comment>
153VIDEO_CARDS="radeon" 284VIDEO_CARDS="radeon"
154</pre> 285</pre>
155 286
156<note>
157More instructions on how to configure nVidia and ATI cards can be found in the
158<uri link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and in the
159<uri link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know
160which drivers you should choose, refer to these guides for more information.
161</note>
162
163<p> 287<p>
164If the suggested settings don't work for you, you should run <c>emerge -pv 288If the suggested settings don't work for you, you should run <c>emerge -pv
165xorg-server</c>, check all the options available and choose those which apply to 289xorg-drivers</c>, check all the options available and choose those which apply to
166your system. This example is for a system with a keyboard, mouse, Synaptics 290your system. This example is for a system with a keyboard, mouse, Synaptics
167touchpad, and a Radeon video card. 291touchpad, and a Radeon video card.
168</p> 292</p>
169 293
170<pre caption="Displaying all the driver options available"> 294<pre caption="Displaying all the driver options available">
171# <i>emerge -pv xorg-server</i> 295# <i>emerge -pv xorg-drivers</i>
172 296
173These are the packages that would be merged, in order: 297These are the packages that would be merged, in order:
174 298
175Calculating dependencies... done! 299Calculating dependencies... done!
176[ebuild R ] x11-base/xorg-server-1.6.3.901-r2 USE="hal nptl xorg -debug
177-dmx -ipv6 -kdrive -minimal -sdl -tslib" 0 kB
178[ebuild R ] x11-base/xorg-drivers-1.6 INPUT_DEVICES="evdev synaptics 300[ebuild R ] x11-base/xorg-drivers-1.8 INPUT_DEVICES="evdev synaptics
179-acecad -aiptek -citron -elographics -fpit -hyperpen -joystick -keyboard -mouse 301-acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib
180-mutouch -penmount -tslib -virtualbox -vmmouse -void -wacom" 302-virtualbox -vmmouse -void -wacom"
181VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx 303VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx
182(-geode) -glint -i128 (-i740) (-impact) (-imstt) -intel -mach64 -mga -neomagic 304(-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport)
183(-newport) -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage 305-nouveau -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage
184-siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) 306-siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb)
185(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l (-vermilion) -vesa -via 307(-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox
186-virtualbox -vmware (-voodoo) (-xgi)" 0 kB 308-vmware (-voodoo) (-xgi)" 0 kB
187</pre> 309</pre>
188 310
189<p> 311<p>
190After setting all the necessary variables you can install the Xorg package. 312After setting all the necessary variables you can install the Xorg package.
191</p> 313</p>
235<section id="using_hal"> 357<section id="using_hal">
236<title>Using HAL</title> 358<title>Using HAL</title>
237<body> 359<body>
238 360
239<p> 361<p>
240Recent X server versions are designed to work out-of-the-box, with no need to 362The X server is designed to work out-of-the-box, with no need to manually edit
241manually edit Xorg's configuration files. 363Xorg's configuration files.
242</p> 364</p>
243 365
244<p> 366<p>
245You should first try <uri link="#using_startx">starting X</uri> without creating 367You should first try <uri link="#using_startx">starting X</uri> without creating
246<path>/etc/X11/xorg.conf</path>. 368<path>/etc/X11/xorg.conf</path>.
430<title>Using startx</title> 552<title>Using startx</title>
431<body> 553<body>
432 554
433<p> 555<p>
434Now try <c>startx</c> to start up your X server. <c>startx</c> is a script 556Now try <c>startx</c> to start up your X server. <c>startx</c> is a script
435that executes an <e>X session</e>, that is, it starts the X servers and some 557that executes an <e>X session</e>, that is, it starts the X server and some
436graphical applications on top of it. It decides which applications to run 558graphical applications on top of it. It decides which applications to run
437using the following logic: 559using the following logic:
438</p> 560</p>
439 561
440<ul> 562<ul>
444 </li> 566 </li>
445 <li> 567 <li>
446 Otherwise, it will read the value of the XSESSION variable and will execute 568 Otherwise, it will read the value of the XSESSION variable and will execute
447 one of the sessions available in <path>/etc/X11/Sessions/</path> 569 one of the sessions available in <path>/etc/X11/Sessions/</path>
448 accordingly. You can set the value of XSESSION in 570 accordingly. You can set the value of XSESSION in
449 <path>/etc/env.d/90xsession</path> to make it a default for all the users on 571 <path>/etc/env.d/90xsession</path> to make it a default for all the users
450 the system. For example, as root, run <c>echo XSESSION="Xfce4" > 572 on the system. For example, as root, run <c>echo XSESSION="Xfce4" >
451 /etc/env.d/90xsession</c>. This will create the <path>90xsession</path> file 573 /etc/env.d/90xsession</c>. This will create the <path>90xsession</path> file
452 and set the default X session to Xfce4. 574 and set the default X session to <uri
575 link="/doc/en/xfce-config.xml">Xfce</uri>.
453 </li> 576 </li>
454</ul> 577</ul>
455 578
456<pre caption="Starting X"> 579<pre caption="Starting X">
457$ <i>startx</i> 580$ <i>startx</i>
458</pre> 581</pre>
459 582
460<p> 583<p>
461You can kill the X session by using the Ctrl-Alt-Backspace combination. This 584You can kill the X session by using the Ctrl-Alt-Backspace key combination. This
462will, however, make X exit disgracefully -- something that you might not always 585will, however, make X exit disgracefully -- something that you might not always
463want. 586want.
464</p> 587</p>
465 588
466<p> 589<p>
510incorrect values lead to out-of-sync errors at best and smoked up screens at 633incorrect values lead to out-of-sync errors at best and smoked up screens at
511worst. 634worst.
512</warn> 635</warn>
513 636
514<p> 637<p>
515Now let us change the resolutions. In the next example from 638Now let us change the resolution. In the next example from
516<path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the 639<path>/etc/X11/xorg.conf</path> we add the <c>PreferredMode</c> line so that our
517<c>DefaultDepth</c> so that our X server starts with 24 bits at 1440x900 by 640X server starts at 1440x900 by default. Don't mind the given strings -- they are
518default. Don't mind the given strings -- they are examples and will most likely 641examples and will most likely differ from the settings on your system. However,
519differ from the settings on your system. 642the <c>Option</c> in the <c>Device</c> section must match the name of your
643monitor (<c>DVI-0</c>), which can be obtained by running <c>xrandr</c>. You'll
644need to <c>emerge xrandr</c> just long enough to get this information. The
645argument after the monitor name (in the <c>Device</c> section) must match the
646<c>Identifier</c> in the <c>Monitor</c> section.
520</p> 647</p>
521 648
522<pre caption="Changing the Screen section in /etc/X11/xorg.conf"> 649<pre caption="Changing the Monitor section in /etc/X11/xorg.conf">
523Section "Screen" 650Section "Device"
524 Identifier "Default Screen"
525 Device "RadeonHD 4550" 651 Identifier "RadeonHD 4550"
526 Monitor "Generic Monitor" 652 Option "Monitor-DVI-0" "DVI screen"
527 <i>DefaultDepth 24</i>
528 <comment># Skipping some text to improve readability</comment>
529 SubSection "Display"
530 Depth 24
531 <i>Modes "1440x900"</i>
532 EndSubSection 653EndSection
654Section "Monitor"
655 Identifier "DVI screen"
656 Option "PreferredMode" "1440x900"
533EndSection 657EndSection
534</pre> 658</pre>
535 659
536<p> 660<p>
537Run X (<c>startx</c>) to discover it uses the resolution you want. 661Run X (<c>startx</c>) to discover it uses the resolution you want.
571<body> 695<body>
572 696
573<p> 697<p>
574Run <c>startx</c> and be happy about the result. Congratulations, you now 698Run <c>startx</c> and be happy about the result. Congratulations, you now
575(hopefully) have a working Xorg on your system. The next step is to install a 699(hopefully) have a working Xorg on your system. The next step is to install a
576useful window manager (or even a desktop environment) such as KDE or GNOME, but 700useful window manager or desktop environment such as KDE, GNOME, or
577that's not part of this guide. 701Xfce, but that's not part of this guide.
578</p> 702</p>
579 703
580</body> 704</body>
581</section> 705</section>
582</chapter> 706</chapter>
623link="/doc/en/?catid=desktop">Gentoo Desktop Documentation Resources</uri> 747link="/doc/en/?catid=desktop">Gentoo Desktop Documentation Resources</uri>
624section of our documentation. 748section of our documentation.
625</p> 749</p>
626 750
627<p> 751<p>
628If you're upgrading to xorg-server-1.6 from an earlier version, then be sure to 752If you're upgrading to <c>xorg-server</c> 1.8 from an earlier version, then be
629read the <uri 753sure to read the <uri
630link="/proj/en/desktop/x/x11/xorg-server-1.6-upgrade-guide.xml">migration 754link="/proj/en/desktop/x/x11/xorg-server-1.8-upgrade-guide.xml">migration
631guide</uri>. 755guide</uri>.
632</p> 756</p>
633 757
634</body> 758</body>
635</section> 759</section>

Legend:
Removed from v.1.39  
changed lines
  Added in v.1.40

  ViewVC Help
Powered by ViewVC 1.1.20