/[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.8 Revision 1.24
1<?xml version='1.0' encoding='UTF-8'?> 1<?xml version='1.0' encoding='UTF-8'?>
2
3<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.8 2005/02/14 09:26:19 swift Exp $ -->
4
5<!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.24 2007/10/18 18:16:02 nightmorph Exp $ -->
6 4
7<guide link="xorg-config.xml"> 5<guide link="/doc/en/xorg-config.xml">
8
9<title>The X Server Configuration HOWTO</title> 6<title>The X Server Configuration HOWTO</title>
10 7
11<author title="Author"> 8<author title="Author">
12 <mail link="swift@gentoo.org">Sven Vermeulen</mail> 9 <mail link="swift@gentoo.org">Sven Vermeulen</mail>
13</author> 10</author>
17environment at their fingertips. This HOWTO explains what Xorg is, how to 14environment at their fingertips. This HOWTO explains what Xorg is, how to
18install it and what the various configuration options are. 15install it and what the various configuration options are.
19</abstract> 16</abstract>
20 17
21<!-- The content of this document is licensed under the CC-BY-SA license --> 18<!-- The content of this document is licensed under the CC-BY-SA license -->
22<!-- See http://creativecommons.org/licenses/by-sa/2.0 --> 19<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
23<license/> 20<license/>
24 21
25<version>1.7</version> 22<version>1.17</version>
26<date>2005-02-07</date> 23<date>2007-06-20</date>
27 24
28<chapter> 25<chapter>
29<title>What is the X Window Server?</title> 26<title>What is the X Window Server?</title>
30<section> 27<section>
31<title>Graphical vs Command-Line</title> 28<title>Graphical vs Command-Line</title>
46a powerful tool that fully enables the graphical abilities of your workstation. 43a powerful tool that fully enables the graphical abilities of your workstation.
47</p> 44</p>
48 45
49<p> 46<p>
50As standards are important, a standard for drawing and moving windows on a 47As standards are important, a standard for drawing and moving windows on a
51screen, interacting with the user through mouse and keyboard and other basic yet 48screen, interacting with the user through mouse, keyboard and other basic, yet
52important aspects has been created and named the <e>X Window System</e>, 49important aspects has been created and named the <e>X Window System</e>,
53commonly abbreviated as <e>X11</e> or just <e>X</e>. It is used on Unix, Linux 50commonly abbreviated as <e>X11</e> or just <e>X</e>. It is used on Unix, Linux
54and Unix-like operating systems throughout the world. 51and Unix-like operating systems throughout the world.
55</p> 52</p>
56 53
68<title>The X.org Project</title> 65<title>The X.org Project</title>
69<body> 66<body>
70 67
71<p> 68<p>
72The <uri link="http://www.x.org">X.org</uri> project created and 69The <uri link="http://www.x.org">X.org</uri> project created and
73maintains a freely redistributable open-source implementation of the X11 system. 70maintains a freely redistributable, open-source implementation of the X11
74It is an open source X11-based desktop infrastructure. 71system. It is an open source X11-based desktop infrastructure.
75</p> 72</p>
76 73
77<p> 74<p>
78Xorg provides an interface between your hardware and the graphical software 75Xorg provides an interface between your hardware and the graphical software
79you want to run. Besides that, Xorg is also fully network-aware, meaning you 76you want to run. Besides that, Xorg is also fully network-aware, meaning you
82</p> 79</p>
83 80
84</body> 81</body>
85</section> 82</section>
86</chapter> 83</chapter>
84
87<chapter> 85<chapter>
88<title>Installing Xorg</title> 86<title>Installing Xorg</title>
89<section> 87<section>
90<title>Using emerge</title> 88<title>Using emerge</title>
91<body> 89<body>
94Enough chitchat, let's get to business shall we? To install Xorg, you just 92Enough chitchat, let's get to business shall we? To install Xorg, you just
95need to run <c>emerge xorg-x11</c>. Installing Xorg does take a while 93need to run <c>emerge xorg-x11</c>. Installing Xorg does take a while
96though, so you might want to grab a snack while you are waiting. 94though, so you might want to grab a snack while you are waiting.
97</p> 95</p>
98 96
97<p>
98Before installing Xorg you have to configure two important variables in the
99<path>/etc/make.conf</path> file.
100</p>
101
102<p>
103The first one is <c>VIDEO_CARDS</c>. This is used to set the video drivers that
104you intend to use and is usually based on the kind and brand of card you have.
105The most common settings are <c>nvidia</c> for Nvidia cards or <c>fglrx</c> for
106ATI Radeon cards. Those are the proprietary drivers from Nvidia and ATI
107respectively. If you would like to use the open source versions, use <c>nv</c>
108rather than <c>nvidia</c> in the variable, but bear in mind that using this
109driver means no 3d acceleration at all. The free <c>radeon</c> driver for ATI
110cards supports full 3D acceleration on older Radeons but doesn't work at all
111with the newer ones. <c>VIDEO_CARDS</c> may contain more than one driver, in
112this case list of them should be separated with spaces.
113</p>
114
115<p>
116The second variable is <c>INPUT_DEVICES</c> and is used to determine which
117drivers are to be built for input devices. In most cases setting it to
118<c>keyboard mouse</c> should work just fine.
119</p>
120
121<p>
122Now you should decide which drivers you will use and add necessary settings to
123the <path>/etc/make.conf</path> file:
124</p>
125
126<pre caption="Sample make.conf entries">
127<comment>(For mouse and keyboard support)</comment>
128INPUT_DEVICES="keyboard mouse"
129<comment>(For Nvidia cards)</comment>
130VIDEO_CARDS="nvidia"
131<comment>(OR, for ATI Radeon cards)</comment>
132VIDEO_CARDS="fglrx"
133</pre>
134
135<p>
136More instructions on how to configure Nvidia and ATI cards can be found in
137<uri link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and in
138<uri link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know
139which drivers you should choose, refer to these guides for more information.
140</p>
141
142<note>
143If the suggested settings don't work for you, you should run <c>emerge -pv
144xorg-server</c>, check all the options available and choose those which apply to
145your system. The example is for the amd64 architecture and
146<c>xorg-server-1.2</c>.
147</note>
148
149<pre caption="Displaying all the driver options available">
150# <i>emerge -pv xorg-server</i>
151
152These are the packages that would be merged, in order:
153
154Calculating dependencies... done!
155[ebuild R ] x11-base/xorg-server-1.2.0-r3 USE="dri nptl xorg (-3dfx) -debug
156-dmx -ipv6 -kdrive -minimal -sdl -xprint" INPUT_DEVICES="keyboard mouse -acecad
157-aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 -elographics -evdev
158-fpit -hyperpen -jamstudio -joystick -magellan -microtouch -mutouch -palmax
159-penmount -spaceorb -summa -synaptics -tek4957 -ur98 -vmmouse -void -wacom"
160VIDEO_CARDS="nvidia -apm -ark -chips -cirrus -cyrix -dummy -epson -fbdev -fglrx
161-glint -i128 (-i740) -i810 (-impact) (-imstt) -mach64 -mga -neomagic (-newport)
162(-nsc) -nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion -sis
163-sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) (-sunleo) (-suntcx)
164-tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 kB
165</pre>
166
167<p>
168After setting all the necessary variables you can install the Xorg package.
169</p>
170
99<pre caption="Installing Xorg"> 171<pre caption="Installing Xorg">
100# <i>emerge xorg-x11</i> 172# <i>emerge xorg-x11</i>
101</pre> 173</pre>
102 174
103<p> 175<p>
104When the installation is finished, you might need to reinitialise some 176When the installation is finished, you might need to re-initialise some
105environment variables before you continue. Just run <c>env-update</c> followed 177environment variables before you continue. Just run <c>env-update</c> followed
106by <c>source /etc/profile</c> and you're all set. This doesn't harm your system 178by <c>source /etc/profile</c> and you're all set.
107in any way.
108</p> 179</p>
109 180
110<pre caption="Reinitialising the environment variables"> 181<pre caption="Re-initialising the environment variables">
111# <i>env-update</i> 182# <i>env-update</i>
112# <i>source /etc/profile</i> 183# <i>source /etc/profile</i>
113</pre> 184</pre>
114 185
115</body> 186</body>
159<p> 230<p>
160Be sure to read the last lines printed on your screen when Xorg has finished 231Be sure to read the last lines printed on your screen when Xorg has finished
161probing your hardware. If it tells you it failed at some point, you're forced to 232probing your hardware. If it tells you it failed at some point, you're forced to
162manually write an <path>xorg.conf</path> file. Assuming that it didn't fail, it 233manually write an <path>xorg.conf</path> file. Assuming that it didn't fail, it
163will have told you that it has written <path>/root/xorg.conf.new</path> ready 234will have told you that it has written <path>/root/xorg.conf.new</path> ready
164for you to test. So let's test :) 235for you to test. So let's test. :)
165</p> 236</p>
166 237
167<pre caption="Testing the xorg.conf.new file"> 238<pre caption="Testing the xorg.conf.new file">
168# <i>X -config /root/xorg.conf.new</i> 239# <i>X -config /root/xorg.conf.new</i>
169</pre> 240</pre>
170 241
171<p> 242<p>
172If all goes well, you should see an ugly, loathsome, repulsive, deformed 243If all goes well, you should see a simple black and white pattern. Verify if
173window manager called <c>twm</c>, probably the smallest window manager 244your mouse works correctly and if the resolution is good. If you received errors
174available. Try moving your mouse and see if your keyboard and such is working. 245about "/dev/mouse", try changing your mouse device to <c>/dev/input/mice</c> in
175In the next section we will optimize our <path>xorg.conf</path> so it fits your 246the "InputDevice" section of <path>xorg.conf</path>. You might not be able to
176hardware. Now go into one of the terminals you see on your screen and type in
177<c>exit</c> (or press Ctrl-D) until Xorg shuts down. If you are unable to
178use your mouse to focus the terminals, you can also press Ctrl-Alt-Backspace to
179kill the X server.
180</p>
181
182<p>
183If <c>twm</c> doesn't load, don't worry - it will once you'll start the X server
184through the regular <c>startx</c> command. Verify if your mouse works correctly
185and if the resolution is good. You might not be able to deduce the exact
186resolution, but you should be able to see if it's too low. You can exit any time 247deduce the exact resolution, but you should be able to see if it's too low. You
187by pressing Ctrl-Alt-Backspace. 248can exit any time by pressing Ctrl-Alt-Backspace.
188</p> 249</p>
189 250
190</body> 251</body>
191</section> 252</section>
192<section> 253<section>
201 262
202<pre caption="Semi-Automatic Generation of xorg.conf"> 263<pre caption="Semi-Automatic Generation of xorg.conf">
203# <i>xorgconfig</i> 264# <i>xorgconfig</i>
204</pre> 265</pre>
205 266
267<p>
268Another tool, also provided by Xorg, is <c>xorgcfg</c>, which will first
269attempt to run <c>Xorg -configure</c> and then start the X server for more
270final tweaking.
271</p>
272
273<pre caption="Using xorgcfg">
274# <i>xorgcfg</i>
275<comment>(In case X crashes or the configuration fails, try:)</comment>
276# <i>xorgcfg -textmode</i>
277</pre>
278
279</body>
280</section>
281<section>
282<title>Copying over xorg.conf</title>
283<body>
284
285<p>
286Let us copy over the <path>xorg.conf.new</path> to
287<path>/etc/X11/xorg.conf</path> now, so we won't have to continuously run
288<c>X -config</c> -- typing just <c>X</c> or <c>startx</c> is easier. :)
289</p>
290
291<pre caption="Copying over xorg.conf">
292# <i>cp /root/xorg.conf.new /etc/X11/xorg.conf</i>
293</pre>
294
295</body>
296</section>
297<section id="using_startx">
298<title>Using startx</title>
299<body>
300
301<p>
302Now try <c>startx</c> to start up your X server. <c>startx</c> is a script
303that executes an <e>X session</e>, that is, it starts the X servers and some
304graphical applications on top of it. It decides which applications to run
305using the following logic:
306</p>
307
308<ul>
309 <li>
310 If a file named <path>.xinitrc</path> exists in the home directory, it will
311 execute the commands listed there.
312 </li>
313 <li>
314 Otherwise, it will read the value of the XSESSION variable and will execute
315 one of the sessions available in <path>/etc/X11/Sessions/</path>
316 accordingly (you can set the value of XSESSION in <path>/etc/rc.conf</path>
317 to make it a default for all the users on the system).
318 </li>
319 <li>
320 If all of the above fail, it will fall back to a simple window manager,
321 usually <c>twm</c>.
322 </li>
323</ul>
324
325<pre caption="Starting X">
326# <i>startx</i>
327</pre>
328
329<p>
330If you see an ugly, loathsome, repulsive, deformed window manager, that's
331<c>twm</c>. To finish the twm session, type in <c>exit</c> or Ctrl-D in the
332upcoming xterms. You can also kill the X session using the Ctrl-Alt-Backspace
333combination. This will however make X exit disgracefully -- something that you
334might not always want. It doesn't hurt though. :)
335</p>
336
206</body> 337</body>
207</section> 338</section>
208</chapter> 339</chapter>
209<chapter> 340<chapter>
210<title>Tweaking xorg.conf</title> 341<title>Tweaking xorg.conf</title>
211<section> 342<section>
212<title>Copying over xorg.conf</title>
213<body>
214
215<p>
216Let us first copy over the <path>xorg.conf.new</path> to
217<path>/etc/X11/xorg.conf</path> so we won't have to continuously run <c>Xorg
218-config</c> -- typing <c>startx</c> is far more easy :)
219</p>
220
221<pre caption="Copying over xorg.conf">
222# <i>cp /root/xorg.conf.new /etc/X11/xorg.conf</i>
223</pre>
224
225<p>
226Now run <c>startx</c> to start up your X server. It will use the freshly copied
227file as its configuration file. To finish the X session, type in <c>exit</c> or
228Ctrl-D in the upcoming xterms. You can also kill the X session using the
229Ctrl-Alt-Backspace combination. This will however make X exit disgracefully -
230something that you might not always want. It doesn't hurt though :)
231</p>
232
233<pre caption="Starting X">
234# <i>startx</i>
235</pre>
236
237</body>
238</section>
239<section>
240<title>Setting your Resolution</title> 343<title>Setting your Resolution</title>
241<body> 344<body>
242 345
243<p> 346<p>
244If you feel that the screen resolution is wrong, you will need to check two 347If you feel that the screen resolution is wrong, you will need to check two
245sections in your configuration. First of all, you have the <e>Screen</e> section 348sections in your configuration. First of all, you have the <e>Screen</e> section
246which lists the resolutions - if any - that your X server will run at. By 349which lists the resolutions, if any that your X server will run at. By
247default, this section might not list any resolutions at all. If this is the 350default, this section might not list any resolutions at all. If this is the
248case, Xorg will estimate the resolutions based on the information in the 351case, Xorg will estimate the resolutions based on the information in the
249second section, <e>Monitor</e>. 352second section, <e>Monitor</e>.
250</p> 353</p>
251 354
258use a tool that searches for your monitor's specs, such as 361use a tool that searches for your monitor's specs, such as
259<c>sys-apps/ddcxinfo-knoppix</c>. 362<c>sys-apps/ddcxinfo-knoppix</c>.
260</p> 363</p>
261 364
262<warn> 365<warn>
263Do <b>not</b> "just" change the values of these two monitor-related variables 366Do <b>not</b> "just" change the values of these two monitor related variables
264without consulting the technical specifications of your monitor. Setting 367without consulting the technical specifications of your monitor. Setting
265incorrect values lead to out-of-sync errors at best and smoked up screens at 368incorrect values lead to out-of-sync errors at best and smoked up screens at
266worst. 369worst.
267</warn> 370</warn>
268 371
269<p> 372<p>
270Now let us change the resolutions. In the next example from 373Now let us change the resolutions. In the next example from
271<path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the 374<path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the
272<c>DefaultDepth</c> so that our X server starts with 24 bits at 1024x768 by 375<c>DefaultDepth</c> so that our X server starts with 24 bits at 1024x768 by
273default. Don't mind the given strings - they are examples and will most likely 376default. Don't mind the given strings -- they are examples and will most likely
274differ from the settings on your system. 377differ from the settings on your system.
275</p> 378</p>
276 379
277<pre caption="Changing the Screen section in /etc/X11/xorg.conf"> 380<pre caption="Changing the Screen section in /etc/X11/xorg.conf">
278Section "Screen" 381Section "Screen"
287 EndSubSection 390 EndSubSection
288EndSection 391EndSection
289</pre> 392</pre>
290 393
291<p> 394<p>
292Run X (<c>startx</c>) to discover it uses the resolution you want :) 395Run X (<c>startx</c>) to discover it uses the resolution you want. :)
293</p> 396</p>
294 397
295</body> 398</body>
296</section> 399</section>
297<section> 400<section>
322<title>Configuring your Mouse</title> 425<title>Configuring your Mouse</title>
323<body> 426<body>
324 427
325<p> 428<p>
326If your mouse isn't working, you will first need to find out if it is detected 429If your mouse isn't working, you will first need to find out if it is detected
327by the kernel at all. PS/2 mice are (device-wise) seen as 430by the kernel at all. Mice are (device-wise) seen as
328<path>/dev/psaux</path>. Other mice (like USBs) are seen as
329<path>/dev/input</path> (or <path>/dev/input/mice</path>). In either case you 431<path>/dev/input/mouse0</path> (or <path>/dev/input/mice</path> if you want to
330can check if the devices do represent your mouse by checking the output of those 432use several mice). In some cases <path>/dev/psaux</path> is used. In either
331files when you move your mouse. To end the session press <c>Ctrl-C</c>. 433case you can check if the devices do represent
434your mouse by checking the output of those files when you move your mouse. You
435will usually see some junk on your screen. To end the session press
436<c>Ctrl-C</c>.
332</p> 437</p>
333 438
334<pre caption="Checking the device files"> 439<pre caption="Checking the device files">
335# <i>cat /dev/input</i> 440# <i>cat /dev/input/mouse0</i>
336<comment>(Don't forget to press Ctrl-C to end this)</comment> 441<comment>(Don't forget to press Ctrl-C to end this)</comment>
337</pre> 442</pre>
338 443
339<p> 444<p>
340If your mouse isn't detected, verify if all the necessary modules are loaded. 445If your mouse isn't detected, verify if all the necessary modules are loaded.
341</p> 446</p>
342 447
343<p> 448<p>
344If your mouse is detected, fill in the device in the appropriate 449If your mouse is detected, fill in the device in the appropriate
345<e>InputDevice</e> section. In the next example you'll see we also set two other 450<e>InputDevice</e> section. In the next example you'll see we also set two other
346options: <c>Protocol</c> (which lists the mouse protocol to be used - most users 451options: <c>Protocol</c> (which lists the mouse protocol to be used -- most
347will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the 452users will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the
348mousewheel (if applicable) to be used). 453mousewheel (if applicable) to be used).
349</p> 454</p>
350 455
351<pre caption="Changing the mouse settings in Xorg"> 456<pre caption="Changing the mouse settings in Xorg">
352Section "InputDevice" 457Section "InputDevice"
353 Identifier "TouchPad Mouse" 458 Identifier "TouchPad Mouse"
354 Driver "mouse" 459 Driver "mouse"
355 Option "CorePointer" 460 Option "CorePointer"
356 <i>Option "Device" "/dev/psaux"</i> 461 <i>Option "Device" "/dev/input/mouse0"</i>
357 <i>Option "Protocol" "IMPS/2"</i> 462 <i>Option "Protocol" "IMPS/2"</i>
358 <i>Option "ZAxisMapping" "4 5"</i> 463 <i>Option "ZAxisMapping" "4 5"</i>
359EndSection 464EndSection
360</pre> 465</pre>
361 466
362<p> 467<p>
363Run <c>startx</c> and be happy about the result :) Congratulations, you now 468Run <c>startx</c> and be happy about the result :) Congratulations, you now
364(hopefully) have a working Xorg on your system. The next step is to remove this 469(hopefully) have a working Xorg on your system. The next step is to remove this
365ugly lightweight window manager and use a high-feature one (or even a desktop 470ugly lightweight window manager and use a high-feature one (or even a desktop
366environment) such as KDE or GNOME, but that's not part of this guide :) 471environment) such as KDE or GNOME, but that's not part of this guide. :)
367</p> 472</p>
368 473
369</body> 474</body>
370</section> 475</section>
371</chapter> 476</chapter>
390<p> 495<p>
391There are also many online resources on editing <path>xorg.conf</path>. We only 496There are also many online resources on editing <path>xorg.conf</path>. We only
392list few of them here, be sure to <uri link="http://www.google.com">Google</uri> 497list few of them here, be sure to <uri link="http://www.google.com">Google</uri>
393for more :) As <path>xorg.conf</path> and <path>XF86Config</path> (the 498for more :) As <path>xorg.conf</path> and <path>XF86Config</path> (the
394configuration file for the XFree86 project) use the 499configuration file for the XFree86 project) use the
395same syntaxis for most configuration options and more information about 500same syntax for most configuration options and more information about
396<path>XF86Config</path> is available, we'll list those resources as well. 501<path>XF86Config</path> is available, we'll list those resources as well.
397</p> 502</p>
398 503
399<ul> 504<ul>
400 <li> 505 <li>
408 </li> 513 </li>
409</ul> 514</ul>
410 515
411</body> 516</body>
412</section> 517</section>
518<section>
519<title>Other resources</title>
520<body>
521
522<p>
523If you want to update your system from the old monolithic Xorg to the newer,
524modular Xorg 7, you should refer to the <uri
525link="/proj/en/desktop/x/x11/modular-x-howto.xml">Migrating to Modular X
526HOWTO</uri>.
527</p>
528
529<p>
530More information about configuring different packages to work in X environment
531can be found in the <uri link="/doc/en/?catid=desktop">Gentoo Desktop
532Documentation Resources</uri> section of our documentation.
533</p>
534
535</body>
536</section>
413</chapter> 537</chapter>
414</guide> 538</guide>

Legend:
Removed from v.1.8  
changed lines
  Added in v.1.24

  ViewVC Help
Powered by ViewVC 1.1.20