| 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.11 2005/04/11 12:05:08 swift Exp $ --> |
3 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.22 2007/06/09 12:40:12 jkt Exp $ --> |
| 4 | |
4 | |
| 5 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
5 | <!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
| 6 | |
6 | |
| 7 | <guide link="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> |
| … | |
… | |
| 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.5 --> |
| 23 | <license/> |
23 | <license/> |
| 24 | |
24 | |
| 25 | <version>1.10</version> |
25 | <version>1.16</version> |
| 26 | <date>2005-04-11</date> |
26 | <date>2007-06-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> |
| … | |
… | |
| 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 | |
| … | |
… | |
| 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 |
| … | |
… | |
| 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> |
| … | |
… | |
| 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 | |
|
|
100 | <p> |
|
|
101 | Before installing Xorg you have to configure two important variables in the |
|
|
102 | <path>/etc/make.conf</path> file. |
|
|
103 | </p> |
|
|
104 | |
|
|
105 | <p> |
|
|
106 | The first one is <c>VIDEO_CARDS</c>. This is used to set the video drivers that |
|
|
107 | you intend to use and is usually based on the kind and brand of card you have. |
|
|
108 | The most common settings are <c>nvidia</c> for Nvidia cards or <c>fglrx</c> for |
|
|
109 | ATI Radeon cards. Those are the proprietary drivers from Nvidia and ATI |
|
|
110 | respectively. If you would like to use the open source versions, use <c>nv</c> |
|
|
111 | rather than <c>nvidia</c> in the variable, but bear in mind that using this |
|
|
112 | driver means no 3d acceleration at all. The free <c>radeon</c> driver for ATI |
|
|
113 | cards supports full 3D acceleration on older Radeons but doesn't work at all |
|
|
114 | with the newer ones. <c>VIDEO_CARDS</c> may contain more than one driver, in |
|
|
115 | this case list of them should be separated with spaces. |
|
|
116 | </p> |
|
|
117 | |
|
|
118 | <p> |
|
|
119 | The second variable is <c>INPUT_DEVICES</c> and is used to determine which |
|
|
120 | drivers are to be built for input devices. In most cases setting it to |
|
|
121 | <c>keyboard mouse</c> should work just fine. |
|
|
122 | </p> |
|
|
123 | |
|
|
124 | <p> |
|
|
125 | Now you should decide which drivers you will use and add necessary settings to |
|
|
126 | the <path>/etc/make.conf</path> file: |
|
|
127 | </p> |
|
|
128 | |
|
|
129 | <pre caption="Sample make.conf entries"> |
|
|
130 | <comment>(For mouse and keyboard support)</comment> |
|
|
131 | INPUT_DEVICES="keyboard mouse" |
|
|
132 | <comment>(For Nvidia cards)</comment> |
|
|
133 | VIDEO_CARDS="nvidia" |
|
|
134 | <comment>(OR, for ATI Radeon cards)</comment> |
|
|
135 | VIDEO_CARDS="fglrx" |
|
|
136 | </pre> |
|
|
137 | |
|
|
138 | <p> |
|
|
139 | More instructions on how to configure Nvidia and ATI cards can be found in |
|
|
140 | <uri link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and in |
|
|
141 | <uri link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know |
|
|
142 | which drivers you should choose, refer to these guides for more information. |
|
|
143 | </p> |
|
|
144 | |
|
|
145 | <note> |
|
|
146 | If the suggested settings don't work for you, you should run <c>emerge -pv |
|
|
147 | xorg-x11</c>, check all the options available and choose those which |
|
|
148 | apply to your system. In different versions of Xorg and on different |
|
|
149 | architectures displaying these variables can be done with <c>emerge -pv |
|
|
150 | xorg-server</c> command rather than the one above. The example is for x86 |
|
|
151 | architecture and xorg-x11-7.0. |
|
|
152 | </note> |
|
|
153 | |
|
|
154 | <pre caption="Displaying all the driver options available"> |
|
|
155 | # <i>emerge -pv xorg-x11</i> |
|
|
156 | |
|
|
157 | These are the packages that would be merged, in order: |
|
|
158 | |
|
|
159 | Calculating dependencies... done! |
|
|
160 | [ebuild R ] x11-base/xorg-x11-7.0-r1 USE="-3dfx" INPUT_DEVICES="keyboard |
|
|
161 | mouse -acecad -aiptek -calcomp -citron -digitaledge -dmc -dynapro -elo2300 |
|
|
162 | -elographics -evdev -fpit -hyperpen -jamstudio -joystick -magellan -magictouch |
|
|
163 | -microtouch -mutouch -palmax -penmount -spaceorb -summa -synaptics -tek4957 |
|
|
164 | -ur98 -vmmouse -void -wacom" VIDEO_CARDS="nvidia -apm -ark -chips -cirrus |
|
|
165 | -cyrix -dummy -fbdev -fglrx -glint -i128 -i740 -i810 -imstt -mach64 -mga |
|
|
166 | -neomagic -nsc -nv -r128 -radeon -rendition -s3 -s3virge -savage -siliconmotion |
|
|
167 | -sis -sisusb -tdfx -tga -trident -tseng -v4l -vesa -vga -via -vmware -voodoo" 0 |
|
|
168 | kB |
|
|
169 | </pre> |
|
|
170 | |
|
|
171 | <p> |
|
|
172 | After setting all the necessary variables you can install the Xorg package. |
|
|
173 | </p> |
|
|
174 | |
| 99 | <pre caption="Installing Xorg"> |
175 | <pre caption="Installing Xorg"> |
| 100 | # <i>emerge xorg-x11</i> |
176 | # <i>emerge xorg-x11</i> |
| 101 | </pre> |
177 | </pre> |
| 102 | |
178 | |
| 103 | <p> |
179 | <p> |
| 104 | When the installation is finished, you might need to reinitialise some |
180 | When the installation is finished, you might need to re-initialise some |
| 105 | environment variables before you continue. Just run <c>env-update</c> followed |
181 | environment variables before you continue. Just run <c>env-update</c> followed |
| 106 | by <c>source /etc/profile</c> and you're all set. This doesn't harm your system |
182 | by <c>source /etc/profile</c> and you're all set. |
| 107 | in any way. |
|
|
| 108 | </p> |
183 | </p> |
| 109 | |
184 | |
| 110 | <pre caption="Reinitialising the environment variables"> |
185 | <pre caption="Re-initialising the environment variables"> |
| 111 | # <i>env-update</i> |
186 | # <i>env-update</i> |
| 112 | # <i>source /etc/profile</i> |
187 | # <i>source /etc/profile</i> |
| 113 | </pre> |
188 | </pre> |
| 114 | |
189 | |
| 115 | </body> |
190 | </body> |
| … | |
… | |
| 167 | <pre caption="Testing the xorg.conf.new file"> |
242 | <pre caption="Testing the xorg.conf.new file"> |
| 168 | # <i>X -config /root/xorg.conf.new</i> |
243 | # <i>X -config /root/xorg.conf.new</i> |
| 169 | </pre> |
244 | </pre> |
| 170 | |
245 | |
| 171 | <p> |
246 | <p> |
| 172 | If all goes well, you should see a simple black and white pattern. Verify if |
247 | If all goes well, you should see a simple black and white pattern. Verify if |
| 173 | your mouse works correctly and if the resolution is good. You might not be able |
248 | your mouse works correctly and if the resolution is good. If you received errors |
|
|
249 | about "/dev/mouse", try changing your mouse device to <c>/dev/input/mice</c> in |
|
|
250 | the "InputDevice" section of <path>xorg.conf</path>. You might not be able to |
| 174 | to deduce the exact resolution, but you should be able to see if it's too low. |
251 | deduce the exact resolution, but you should be able to see if it's too low. You |
| 175 | You can exit any time by pressing Ctrl-Alt-Backspace. |
252 | can exit any time by pressing Ctrl-Alt-Backspace. |
| 176 | </p> |
253 | </p> |
| 177 | |
254 | |
| 178 | </body> |
255 | </body> |
| 179 | </section> |
256 | </section> |
| 180 | <section> |
257 | <section> |
| … | |
… | |
| 191 | # <i>xorgconfig</i> |
268 | # <i>xorgconfig</i> |
| 192 | </pre> |
269 | </pre> |
| 193 | |
270 | |
| 194 | <p> |
271 | <p> |
| 195 | Another tool, also provided by Xorg, is <c>xorgcfg</c>, which will first |
272 | 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 |
273 | attempt to run <c>Xorg -configure</c> and then start the X server for more |
| 197 | final tweaking. |
274 | final tweaking. |
| 198 | </p> |
275 | </p> |
| 199 | |
276 | |
| 200 | <pre caption="Using xorgcfg"> |
277 | <pre caption="Using xorgcfg"> |
| 201 | # <i>xorgcfg</i> |
278 | # <i>xorgcfg</i> |
|
|
279 | <comment>(In case X crashes or the configuration fails, try:)</comment> |
|
|
280 | # <i>xorgcfg -textmode</i> |
| 202 | </pre> |
281 | </pre> |
| 203 | |
282 | |
| 204 | </body> |
283 | </body> |
| 205 | </section> |
284 | </section> |
| 206 | <section> |
285 | <section> |
| … | |
… | |
| 253 | |
332 | |
| 254 | <p> |
333 | <p> |
| 255 | If you see an ugly, loathsome, repulsive, deformed window manager, that's |
334 | If you see an ugly, loathsome, repulsive, deformed window manager, that's |
| 256 | <c>twm</c>. To finish the twm session, type in <c>exit</c> or Ctrl-D in the |
335 | <c>twm</c>. To finish the twm session, type in <c>exit</c> or Ctrl-D in the |
| 257 | upcoming xterms. You can also kill the X session using the Ctrl-Alt-Backspace |
336 | upcoming xterms. You can also kill the X session using the Ctrl-Alt-Backspace |
| 258 | combination. This will however make X exit disgracefully - something that you |
337 | combination. This will however make X exit disgracefully -- something that you |
| 259 | might not always want. It doesn't hurt though :) |
338 | might not always want. It doesn't hurt though :) |
| 260 | </p> |
339 | </p> |
| 261 | |
340 | |
| 262 | </body> |
341 | </body> |
| 263 | </section> |
342 | </section> |
| … | |
… | |
| 269 | <body> |
348 | <body> |
| 270 | |
349 | |
| 271 | <p> |
350 | <p> |
| 272 | If you feel that the screen resolution is wrong, you will need to check two |
351 | If you feel that the screen resolution is wrong, you will need to check two |
| 273 | sections in your configuration. First of all, you have the <e>Screen</e> section |
352 | sections in your configuration. First of all, you have the <e>Screen</e> section |
| 274 | which lists the resolutions - if any - that your X server will run at. By |
353 | which lists the resolutions, if any that your X server will run at. By |
| 275 | default, this section might not list any resolutions at all. If this is the |
354 | default, this section might not list any resolutions at all. If this is the |
| 276 | case, Xorg will estimate the resolutions based on the information in the |
355 | case, Xorg will estimate the resolutions based on the information in the |
| 277 | second section, <e>Monitor</e>. |
356 | second section, <e>Monitor</e>. |
| 278 | </p> |
357 | </p> |
| 279 | |
358 | |
| … | |
… | |
| 286 | use a tool that searches for your monitor's specs, such as |
365 | use a tool that searches for your monitor's specs, such as |
| 287 | <c>sys-apps/ddcxinfo-knoppix</c>. |
366 | <c>sys-apps/ddcxinfo-knoppix</c>. |
| 288 | </p> |
367 | </p> |
| 289 | |
368 | |
| 290 | <warn> |
369 | <warn> |
| 291 | Do <b>not</b> "just" change the values of these two monitor-related variables |
370 | Do <b>not</b> "just" change the values of these two monitor related variables |
| 292 | without consulting the technical specifications of your monitor. Setting |
371 | without consulting the technical specifications of your monitor. Setting |
| 293 | incorrect values lead to out-of-sync errors at best and smoked up screens at |
372 | incorrect values lead to out-of-sync errors at best and smoked up screens at |
| 294 | worst. |
373 | worst. |
| 295 | </warn> |
374 | </warn> |
| 296 | |
375 | |
| 297 | <p> |
376 | <p> |
| 298 | Now let us change the resolutions. In the next example from |
377 | Now let us change the resolutions. In the next example from |
| 299 | <path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the |
378 | <path>/etc/X11/xorg.conf</path> we add the <c>Modes</c> lines and the |
| 300 | <c>DefaultDepth</c> so that our X server starts with 24 bits at 1024x768 by |
379 | <c>DefaultDepth</c> so that our X server starts with 24 bits at 1024x768 by |
| 301 | default. Don't mind the given strings - they are examples and will most likely |
380 | default. Don't mind the given strings -- they are examples and will most likely |
| 302 | differ from the settings on your system. |
381 | differ from the settings on your system. |
| 303 | </p> |
382 | </p> |
| 304 | |
383 | |
| 305 | <pre caption="Changing the Screen section in /etc/X11/xorg.conf"> |
384 | <pre caption="Changing the Screen section in /etc/X11/xorg.conf"> |
| 306 | Section "Screen" |
385 | Section "Screen" |
| … | |
… | |
| 350 | <title>Configuring your Mouse</title> |
429 | <title>Configuring your Mouse</title> |
| 351 | <body> |
430 | <body> |
| 352 | |
431 | |
| 353 | <p> |
432 | <p> |
| 354 | If your mouse isn't working, you will first need to find out if it is detected |
433 | If your mouse isn't working, you will first need to find out if it is detected |
| 355 | by the kernel at all. Mice are (device-wise) seen as |
434 | by the kernel at all. Mice are (device-wise) seen as |
| 356 | <path>/dev/input/mouse0</path> (or <path>/dev/input/mice</path> if you want to |
435 | <path>/dev/input/mouse0</path> (or <path>/dev/input/mice</path> if you want to |
| 357 | use several mices). In either case you |
436 | use several mice). In some cases <path>/dev/psaux</path> is used. In either |
| 358 | can check if the devices do represent your mouse by checking the output of those |
437 | case you can check if the devices do represent |
| 359 | files when you move your mouse. To end the session press <c>Ctrl-C</c>. |
438 | your mouse by checking the output of those files when you move your mouse. You |
|
|
439 | will usually see some junk on your screen. To end the session press |
|
|
440 | <c>Ctrl-C</c>. |
| 360 | </p> |
441 | </p> |
| 361 | |
442 | |
| 362 | <pre caption="Checking the device files"> |
443 | <pre caption="Checking the device files"> |
| 363 | # <i>cat /dev/input/mouse0</i> |
444 | # <i>cat /dev/input/mouse0</i> |
| 364 | <comment>(Don't forget to press Ctrl-C to end this)</comment> |
445 | <comment>(Don't forget to press Ctrl-C to end this)</comment> |
| … | |
… | |
| 369 | </p> |
450 | </p> |
| 370 | |
451 | |
| 371 | <p> |
452 | <p> |
| 372 | If your mouse is detected, fill in the device in the appropriate |
453 | If your mouse is detected, fill in the device in the appropriate |
| 373 | <e>InputDevice</e> section. In the next example you'll see we also set two other |
454 | <e>InputDevice</e> section. In the next example you'll see we also set two other |
| 374 | options: <c>Protocol</c> (which lists the mouse protocol to be used - most users |
455 | options: <c>Protocol</c> (which lists the mouse protocol to be used -- most |
| 375 | will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the |
456 | users will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the |
| 376 | mousewheel (if applicable) to be used). |
457 | mousewheel (if applicable) to be used). |
| 377 | </p> |
458 | </p> |
| 378 | |
459 | |
| 379 | <pre caption="Changing the mouse settings in Xorg"> |
460 | <pre caption="Changing the mouse settings in Xorg"> |
| 380 | Section "InputDevice" |
461 | Section "InputDevice" |
| … | |
… | |
| 436 | </li> |
517 | </li> |
| 437 | </ul> |
518 | </ul> |
| 438 | |
519 | |
| 439 | </body> |
520 | </body> |
| 440 | </section> |
521 | </section> |
|
|
522 | <section> |
|
|
523 | <title>Other resources</title> |
|
|
524 | <body> |
|
|
525 | |
|
|
526 | <p> |
|
|
527 | If you want to update your system from the old monolithic Xorg to the newer, |
|
|
528 | modular Xorg 7, you should refer to the <uri |
|
|
529 | link="/proj/en/desktop/x/x11/modular-x-howto.xml">Migrating to Modular X |
|
|
530 | HOWTO</uri>. |
|
|
531 | </p> |
|
|
532 | |
|
|
533 | <p> |
|
|
534 | More information about configuring different packages to work in X environment |
|
|
535 | can be found in the <uri link="/doc/en/?catid=desktop">Gentoo Desktop |
|
|
536 | Documentation Resources</uri> section of our documentation. |
|
|
537 | </p> |
|
|
538 | |
|
|
539 | </body> |
|
|
540 | </section> |
| 441 | </chapter> |
541 | </chapter> |
| 442 | </guide> |
542 | </guide> |