| 1 | <?xml version='1.0' encoding='UTF-8'?> |
1 | <?xml version='1.0' encoding='UTF-8'?> |
| 2 | |
2 | |
| 3 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.15 2005/07/13 21:21:05 yoswink Exp $ --> |
3 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.16 2005/09/09 05:57:43 fox2mike Exp $ --> |
| 4 | |
4 | |
| 5 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
5 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
| 6 | |
6 | |
| 7 | <guide link="/doc/en/xorg-config.xml"> |
7 | <guide link="/doc/en/xorg-config.xml"> |
| 8 | |
8 | |
| 9 | <title>The X Server Configuration HOWTO</title> |
9 | <title>The X Server Configuration HOWTO</title> |
| 10 | |
10 | |
| 11 | <author title="Author"> |
11 | <author title="Author"> |
| 12 | <mail link="swift@gentoo.org">Sven Vermeulen</mail> |
12 | <mail link="swift@gentoo.org">Sven Vermeulen</mail> |
| 13 | </author> |
13 | </author> |
| 14 | |
14 | |
| 15 | <abstract> |
15 | <abstract> |
| 16 | Xorg is the X Window server which allows users to have a graphical |
16 | Xorg is the X Window server which allows users to have a graphical |
| 17 | environment at their fingertips. This HOWTO explains what Xorg is, how to |
17 | environment at their fingertips. This HOWTO explains what Xorg is, how to |
| 18 | install it and what the various configuration options are. |
18 | install it and what the various configuration options are. |
| 19 | </abstract> |
19 | </abstract> |
| 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.0 --> |
22 | <!-- See http://creativecommons.org/licenses/by-sa/2.0 --> |
| 23 | <license/> |
23 | <license/> |
| 24 | |
24 | |
| 25 | <version>1.12</version> |
25 | <version>1.12</version> |
| 26 | <date>2005-05-23</date> |
26 | <date>2005-09-09</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> |
| 35 | The average user may be frightened at the thought of having to type in commands. |
35 | The average user may be frightened at the thought of having to type in commands. |
| 36 | Why wouldn't he be able to point and click his way through the freedom provided |
36 | Why wouldn't he be able to point and click his way through the freedom provided |
| 37 | by Gentoo (and Linux in general)? Well, *big smile*, of course you are able to |
37 | by Gentoo (and Linux in general)? Well, *big smile*, of course you are able to |
| 38 | do this :-) Linux offers a wide variety of flashy user interfaces and |
38 | do this :-) Linux offers a wide variety of flashy user interfaces and |
| 39 | environments which you can install on top of your existing installation. |
39 | environments which you can install on top of your existing installation. |
| 40 | </p> |
40 | </p> |
| 41 | |
41 | |
| 42 | <p> |
42 | <p> |
| 43 | This is one of the biggest surprises new users come across: a graphical user |
43 | This is one of the biggest surprises new users come across: a graphical user |
| 44 | interface is nothing more than an application which runs on your system. It is |
44 | interface is nothing more than an application which runs on your system. It is |
| 45 | <e>not</e> part of the Linux kernel or any other internals of the system. It is |
45 | <e>not</e> part of the Linux kernel or any other internals of the system. It is |
| 46 | a powerful tool that fully enables the graphical abilities of your workstation. |
46 | a powerful tool that fully enables the graphical abilities of your workstation. |
| 47 | </p> |
47 | </p> |
| 48 | |
48 | |
| 49 | <p> |
49 | <p> |
| 50 | As standards are important, a standard for drawing and moving windows on a |
50 | As standards are important, a standard for drawing and moving windows on a |
| 51 | screen, interacting with the user through mouse and keyboard and other basic yet |
51 | screen, interacting with the user through mouse, keyboard and other basic, yet |
| 52 | important aspects has been created and named the <e>X Window System</e>, |
52 | important aspects has been created and named the <e>X Window System</e>, |
| 53 | commonly abbreviated as <e>X11</e> or just <e>X</e>. It is used on Unix, Linux |
53 | commonly abbreviated as <e>X11</e> or just <e>X</e>. It is used on Unix, Linux |
| 54 | and Unix-like operating systems throughout the world. |
54 | and Unix-like operating systems throughout the world. |
| 55 | </p> |
55 | </p> |
| 56 | |
56 | |
| 57 | <p> |
57 | <p> |
| 58 | The application that provides Linux users with the ability to run graphical |
58 | The application that provides Linux users with the ability to run graphical |
| 59 | user interfaces and that uses the X11 standard is Xorg-X11, a fork of |
59 | user interfaces and that uses the X11 standard is Xorg-X11, a fork of |
| 60 | the XFree86 project. XFree86 has decided to use a license that might not be |
60 | the XFree86 project. XFree86 has decided to use a license that might not be |
| 61 | compatible with the GPL license; the use of Xorg is therefore recommended. |
61 | compatible with the GPL license; the use of Xorg is therefore recommended. |
| 62 | The official Portage tree does not provide an XFree86 package anymore. |
62 | The official Portage tree does not provide an XFree86 package anymore. |
| 63 | </p> |
63 | </p> |
| 64 | |
64 | |
| 65 | </body> |
65 | </body> |
| 66 | </section> |
66 | </section> |
| 67 | <section> |
67 | <section> |
| 68 | <title>The X.org Project</title> |
68 | <title>The X.org Project</title> |
| 69 | <body> |
69 | <body> |
| 70 | |
70 | |
| 71 | <p> |
71 | <p> |
| 72 | The <uri link="http://www.x.org">X.org</uri> project created and |
72 | The <uri link="http://www.x.org">X.org</uri> project created and |
| 73 | maintains a freely redistributable open-source implementation of the X11 system. |
73 | maintains a freely redistributable, open-source implementation of the X11 |
| 74 | It is an open source X11-based desktop infrastructure. |
74 | system. It is an open source X11-based desktop infrastructure. |
| 75 | </p> |
75 | </p> |
| 76 | |
76 | |
| 77 | <p> |
77 | <p> |
| 78 | Xorg provides an interface between your hardware and the graphical software |
78 | Xorg provides an interface between your hardware and the graphical software |
| 79 | you want to run. Besides that, Xorg is also fully network-aware, meaning you |
79 | you want to run. Besides that, Xorg is also fully network-aware, meaning you |
| 80 | are able to run an application on one system while viewing it on a different |
80 | are able to run an application on one system while viewing it on a different |
| 81 | one. |
81 | one. |
| 82 | </p> |
82 | </p> |
| 83 | |
83 | |
| 84 | </body> |
84 | </body> |
| 85 | </section> |
85 | </section> |
| 86 | </chapter> |
86 | </chapter> |
|
|
87 | |
| 87 | <chapter> |
88 | <chapter> |
| 88 | <title>Installing Xorg</title> |
89 | <title>Installing Xorg</title> |
| 89 | <section> |
90 | <section> |
| 90 | <title>Using emerge</title> |
91 | <title>Using emerge</title> |
| 91 | <body> |
92 | <body> |
| 92 | |
93 | |
| 93 | <p> |
94 | <p> |
| 94 | Enough chitchat, let's get to business shall we? To install Xorg, you just |
95 | Enough chitchat, let's get to business shall we? To install Xorg, you just |
| 95 | need to run <c>emerge xorg-x11</c>. Installing Xorg does take a while |
96 | need to run <c>emerge xorg-x11</c>. Installing Xorg does take a while |
| 96 | though, so you might want to grab a snack while you are waiting. |
97 | though, so you might want to grab a snack while you are waiting. |
| 97 | </p> |
98 | </p> |
| 98 | |
99 | |
| 99 | <pre caption="Installing Xorg"> |
100 | <pre caption="Installing Xorg"> |
| 100 | # <i>emerge xorg-x11</i> |
101 | # <i>emerge xorg-x11</i> |
| 101 | </pre> |
102 | </pre> |
| … | |
… | |
| 181 | <title>Alternative: Semi-Automatic Generation of xorg.conf</title> |
182 | <title>Alternative: Semi-Automatic Generation of xorg.conf</title> |
| 182 | <body> |
183 | <body> |
| 183 | |
184 | |
| 184 | <p> |
185 | <p> |
| 185 | Xorg provides a tool called <c>xorgconfig</c> which will ask you for various |
186 | Xorg provides a tool called <c>xorgconfig</c> which will ask you for various |
| 186 | information regarding your system (graphical adapter, keyboard, ...). Based on |
187 | information regarding your system (graphical adapter, keyboard, ...). Based on |
| 187 | your input it will create a <path>xorg.conf</path> file. |
188 | your input it will create a <path>xorg.conf</path> file. |
| 188 | </p> |
189 | </p> |
| 189 | |
190 | |
| 190 | <pre caption="Semi-Automatic Generation of xorg.conf"> |
191 | <pre caption="Semi-Automatic Generation of xorg.conf"> |
| 191 | # <i>xorgconfig</i> |
192 | # <i>xorgconfig</i> |
| 192 | </pre> |
193 | </pre> |
| 193 | |
194 | |
| 194 | <p> |
195 | <p> |
| 195 | Another tool, also provided by Xorg, is <c>xorgcfg</c>, which will first |
196 | Another tool, also provided by Xorg, is <c>xorgcfg</c>, which will first |
| 196 | attempts to run <c>Xorg -configure</c> and then start the X server for more |
197 | attempt to run <c>Xorg -configure</c> and then start the X server for more |
| 197 | final tweaking. |
198 | final tweaking. |
| 198 | </p> |
199 | </p> |
| 199 | |
200 | |
| 200 | <pre caption="Using xorgcfg"> |
201 | <pre caption="Using xorgcfg"> |
| 201 | # <i>xorgcfg</i> |
202 | # <i>xorgcfg</i> |
| 202 | <comment>(In case X crashes or the configuration fails, try:)</comment> |
203 | <comment>(In case X crashes or the configuration fails, try:)</comment> |
| 203 | # <i>xorgcfg -textmode</i> |
204 | # <i>xorgcfg -textmode</i> |
| 204 | </pre> |
205 | </pre> |
| 205 | |
206 | |
| 206 | </body> |
207 | </body> |
| 207 | </section> |
208 | </section> |
| 208 | <section> |
209 | <section> |
| 209 | <title>Copying over xorg.conf</title> |
210 | <title>Copying over xorg.conf</title> |
| 210 | <body> |
211 | <body> |
| 211 | |
212 | |
| … | |
… | |
| 245 | </li> |
246 | </li> |
| 246 | <li> |
247 | <li> |
| 247 | If all of the above fail, it will fall back to a simple window manager, |
248 | If all of the above fail, it will fall back to a simple window manager, |
| 248 | usually <c>twm</c>. |
249 | usually <c>twm</c>. |
| 249 | </li> |
250 | </li> |
| 250 | </ul> |
251 | </ul> |
| 251 | |
252 | |
| 252 | <pre caption="Starting X"> |
253 | <pre caption="Starting X"> |
| 253 | # <i>startx</i> |
254 | # <i>startx</i> |
| 254 | </pre> |
255 | </pre> |
| 255 | |
256 | |
| 256 | <p> |
257 | <p> |
| 257 | If you see an ugly, loathsome, repulsive, deformed window manager, that's |
258 | If you see an ugly, loathsome, repulsive, deformed window manager, that's |
| 258 | <c>twm</c>. To finish the twm session, type in <c>exit</c> or Ctrl-D in the |
259 | <c>twm</c>. To finish the twm session, type in <c>exit</c> or Ctrl-D in the |
| 259 | upcoming xterms. You can also kill the X session using the Ctrl-Alt-Backspace |
260 | upcoming xterms. You can also kill the X session using the Ctrl-Alt-Backspace |
| 260 | combination. This will however make X exit disgracefully - something that you |
261 | combination. This will however make X exit disgracefully -- something that you |
| 261 | might not always want. It doesn't hurt though :) |
262 | might not always want. It doesn't hurt though :) |
| 262 | </p> |
263 | </p> |
| 263 | |
264 | |
| 264 | </body> |
265 | </body> |
| 265 | </section> |
266 | </section> |
| 266 | </chapter> |
267 | </chapter> |
| 267 | <chapter> |
268 | <chapter> |
| 268 | <title>Tweaking xorg.conf</title> |
269 | <title>Tweaking xorg.conf</title> |
| 269 | <section> |
270 | <section> |
| 270 | <title>Setting your Resolution</title> |
271 | <title>Setting your Resolution</title> |
| 271 | <body> |
272 | <body> |
| 272 | |
273 | |
| 273 | <p> |
274 | <p> |
| 274 | If you feel that the screen resolution is wrong, you will need to check two |
275 | If you feel that the screen resolution is wrong, you will need to check two |
| 275 | sections in your configuration. First of all, you have the <e>Screen</e> section |
276 | sections in your configuration. First of all, you have the <e>Screen</e> section |
| 276 | which lists the resolutions - if any - that your X server will run at. By |
277 | which lists the resolutions, if any that your X server will run at. By |
| 277 | default, this section might not list any resolutions at all. If this is the |
278 | default, this section might not list any resolutions at all. If this is the |
| 278 | case, Xorg will estimate the resolutions based on the information in the |
279 | case, Xorg will estimate the resolutions based on the information in the |
| 279 | second section, <e>Monitor</e>. |
280 | second section, <e>Monitor</e>. |
| 280 | </p> |
281 | </p> |
| 281 | |
282 | |
| 282 | <p> |
283 | <p> |
| 283 | What happens is that Xorg checks the settings of <c>HorizSync</c> and |
284 | What happens is that Xorg checks the settings of <c>HorizSync</c> and |
| 284 | <c>VertRefresh</c> in the <e>Monitor</e> section to compute valid resolutions. |
285 | <c>VertRefresh</c> in the <e>Monitor</e> section to compute valid resolutions. |
| 285 | For now, leave these settings as-is. Only when the changes to the <e>Screen</e> |
286 | For now, leave these settings as-is. Only when the changes to the <e>Screen</e> |
| 286 | section (which we will describe in a minute) don't work, then you will need to |
287 | section (which we will describe in a minute) don't work, then you will need to |
| 287 | look up the specs for your monitor and fill in the correct values. You can also |
288 | look up the specs for your monitor and fill in the correct values. You can also |
| 288 | use a tool that searches for your monitor's specs, such as |
289 | use a tool that searches for your monitor's specs, such as |
| 289 | <c>sys-apps/ddcxinfo-knoppix</c>. |
290 | <c>sys-apps/ddcxinfo-knoppix</c>. |
| 290 | </p> |
291 | </p> |
| 291 | |
292 | |
| 292 | <warn> |
293 | <warn> |
| 293 | Do <b>not</b> "just" change the values of these two monitor-related variables |
294 | Do <b>not</b> "just" change the values of these two monitor related variables |
| 294 | without consulting the technical specifications of your monitor. Setting |
295 | without consulting the technical specifications of your monitor. Setting |
| 295 | incorrect values lead to out-of-sync errors at best and smoked up screens at |
296 | incorrect values lead to out-of-sync errors at best and smoked up screens at |
| 296 | worst. |
297 | worst. |
| 297 | </warn> |
298 | </warn> |
| 298 | |
299 | |
| 299 | <p> |
300 | <p> |
| 300 | Now let us change the resolutions. In the next example from |
301 | Now let us change the resolutions. In the next example from |
| 301 | <path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the |
302 | <path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the |
| 302 | <c>DefaultDepth</c> so that our X server starts with 24 bits at 1024x768 by |
303 | <c>DefaultDepth</c> so that our X server starts with 24 bits at 1024x768 by |
| 303 | default. Don't mind the given strings - they are examples and will most likely |
304 | default. Don't mind the given strings -- they are examples and will most likely |
| 304 | differ from the settings on your system. |
305 | differ from the settings on your system. |
| 305 | </p> |
306 | </p> |
| 306 | |
307 | |
| 307 | <pre caption="Changing the Screen section in /etc/X11/xorg.conf"> |
308 | <pre caption="Changing the Screen section in /etc/X11/xorg.conf"> |
| 308 | Section "Screen" |
309 | Section "Screen" |
| 309 | Identifier "Default Screen" |
310 | Identifier "Default Screen" |
| 310 | Device "S3 Inc. ProSavage KN133 [Twister K]" |
311 | Device "S3 Inc. ProSavage KN133 [Twister K]" |
| 311 | Monitor "Generic Monitor" |
312 | Monitor "Generic Monitor" |
| 312 | <i>DefaultDepth 24</i> |
313 | <i>DefaultDepth 24</i> |
| 313 | <comment># Skipping some text to improve readability</comment> |
314 | <comment># Skipping some text to improve readability</comment> |
| 314 | SubSection "Display" |
315 | SubSection "Display" |
| 315 | Depth 24 |
316 | Depth 24 |
| 316 | <i>Modes "1024x768"</i> |
317 | <i>Modes "1024x768"</i> |
| 317 | EndSubSection |
318 | EndSubSection |
| 318 | EndSection |
319 | EndSection |
| … | |
… | |
| 362 | end the session press <c>Ctrl-C</c>. |
363 | end the session press <c>Ctrl-C</c>. |
| 363 | </p> |
364 | </p> |
| 364 | |
365 | |
| 365 | <pre caption="Checking the device files"> |
366 | <pre caption="Checking the device files"> |
| 366 | # <i>cat /dev/input/mouse0</i> |
367 | # <i>cat /dev/input/mouse0</i> |
| 367 | <comment>(Don't forget to press Ctrl-C to end this)</comment> |
368 | <comment>(Don't forget to press Ctrl-C to end this)</comment> |
| 368 | </pre> |
369 | </pre> |
| 369 | |
370 | |
| 370 | <p> |
371 | <p> |
| 371 | If your mouse isn't detected, verify if all the necessary modules are loaded. |
372 | If your mouse isn't detected, verify if all the necessary modules are loaded. |
| 372 | </p> |
373 | </p> |
| 373 | |
374 | |
| 374 | <p> |
375 | <p> |
| 375 | If your mouse is detected, fill in the device in the appropriate |
376 | If your mouse is detected, fill in the device in the appropriate |
| 376 | <e>InputDevice</e> section. In the next example you'll see we also set two other |
377 | <e>InputDevice</e> section. In the next example you'll see we also set two other |
| 377 | options: <c>Protocol</c> (which lists the mouse protocol to be used - most users |
378 | options: <c>Protocol</c> (which lists the mouse protocol to be used -- most |
| 378 | will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the |
379 | users will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the |
| 379 | mousewheel (if applicable) to be used). |
380 | mousewheel (if applicable) to be used). |
| 380 | </p> |
381 | </p> |
| 381 | |
382 | |
| 382 | <pre caption="Changing the mouse settings in Xorg"> |
383 | <pre caption="Changing the mouse settings in Xorg"> |
| 383 | Section "InputDevice" |
384 | Section "InputDevice" |
| 384 | Identifier "TouchPad Mouse" |
385 | Identifier "TouchPad Mouse" |
| 385 | Driver "mouse" |
386 | Driver "mouse" |
| 386 | Option "CorePointer" |
387 | Option "CorePointer" |
| 387 | <i>Option "Device" "/dev/input/mouse0"</i> |
388 | <i>Option "Device" "/dev/input/mouse0"</i> |
| 388 | <i>Option "Protocol" "IMPS/2"</i> |
389 | <i>Option "Protocol" "IMPS/2"</i> |
| 389 | <i>Option "ZAxisMapping" "4 5"</i> |
390 | <i>Option "ZAxisMapping" "4 5"</i> |
| 390 | EndSection |
391 | EndSection |
| 391 | </pre> |
392 | </pre> |
| 392 | |
393 | |
| 393 | <p> |
394 | <p> |