/[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.2 Revision 1.22
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.2 2004/05/14 15:15:08 neysx 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="/doc/en/xorg-config.xml"> 7<guide link="/doc/en/xorg-config.xml">
8 8
17environment at their fingertips. This HOWTO explains what Xorg is, how to 17environment at their fingertips. This HOWTO explains what Xorg is, how to
18install it and what the various configuration options are. 18install 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/1.0 --> 22<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
23<license/> 23<license/>
24 24
25<version>1.1</version> 25<version>1.16</version>
26<date>May 10, 2004</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>
46a powerful tool that fully enables the graphical abilities of your workstation. 46a powerful tool that fully enables the graphical abilities of your workstation.
47</p> 47</p>
48 48
49<p> 49<p>
50As standards are important, a standard for drawing and moving windows on a 50As 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 51screen, interacting with the user through mouse, keyboard and other basic, yet
52important aspects has been created and named the <e>X Window System</e>, 52important 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 53commonly abbreviated as <e>X11</e> or just <e>X</e>. It is used on Unix, Linux
54and Unix-like operating systems throughout the world. 54and Unix-like operating systems throughout the world.
55</p> 55</p>
56 56
57<p> 57<p>
58The application that provides Linux users with the ability to run graphical 58The application that provides Linux users with the ability to run graphical
59user interfaces and that uses the X11 standard is Xorg-X11, a fork of 59user interfaces and that uses the X11 standard is Xorg-X11, a fork of
60the XFree86 project. XFree86 has decided to use a license that might not be 60the XFree86 project. XFree86 has decided to use a license that might not be
61compatible with the GPL license; the use of Xorg is therefore recommended. Note 61compatible with the GPL license; the use of Xorg is therefore recommended.
62though that the differences between Xorg and XFree86 are currently very slim; if 62The official Portage tree does not provide an XFree86 package anymore.
63you know one, you know the other. XFree86 versions prior to 4.4 are available
64through Portage as well.
65</p> 63</p>
66 64
67</body> 65</body>
68</section> 66</section>
69<section> 67<section>
70<title>The X.org Project</title> 68<title>The X.org Project</title>
71<body> 69<body>
72 70
73<p> 71<p>
74The <uri link="http://www.x.org">X.org</uri> project created and 72The <uri link="http://www.x.org">X.org</uri> project created and
75maintains a freely redistributable open-source implementation of the X11 system. 73maintains a freely redistributable, open-source implementation of the X11
76It is an open source X11-based desktop infrastructure. 74system. It is an open source X11-based desktop infrastructure.
77</p> 75</p>
78 76
79<p> 77<p>
80Xorg provides an interface between your hardware and the graphical software 78Xorg provides an interface between your hardware and the graphical software
81you want to run. Besides that, Xorg is also fully network-aware, meaning you 79you want to run. Besides that, Xorg is also fully network-aware, meaning you
84</p> 82</p>
85 83
86</body> 84</body>
87</section> 85</section>
88</chapter> 86</chapter>
87
89<chapter> 88<chapter>
90<title>Installing Xorg</title> 89<title>Installing Xorg</title>
91<section> 90<section>
92<title>Using emerge</title> 91<title>Using emerge</title>
93<body> 92<body>
96Enough chitchat, let's get to business shall we? To install Xorg, you just 95Enough chitchat, let's get to business shall we? To install Xorg, you just
97need to run <c>emerge xorg-x11</c>. Installing Xorg does take a while 96need to run <c>emerge xorg-x11</c>. Installing Xorg does take a while
98though, so you might want to grab a snack while you are waiting. 97though, so you might want to grab a snack while you are waiting.
99</p> 98</p>
100 99
100<p>
101Before installing Xorg you have to configure two important variables in the
102<path>/etc/make.conf</path> file.
103</p>
104
105<p>
106The first one is <c>VIDEO_CARDS</c>. This is used to set the video drivers that
107you intend to use and is usually based on the kind and brand of card you have.
108The most common settings are <c>nvidia</c> for Nvidia cards or <c>fglrx</c> for
109ATI Radeon cards. Those are the proprietary drivers from Nvidia and ATI
110respectively. If you would like to use the open source versions, use <c>nv</c>
111rather than <c>nvidia</c> in the variable, but bear in mind that using this
112driver means no 3d acceleration at all. The free <c>radeon</c> driver for ATI
113cards supports full 3D acceleration on older Radeons but doesn't work at all
114with the newer ones. <c>VIDEO_CARDS</c> may contain more than one driver, in
115this case list of them should be separated with spaces.
116</p>
117
118<p>
119The second variable is <c>INPUT_DEVICES</c> and is used to determine which
120drivers 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>
125Now you should decide which drivers you will use and add necessary settings to
126the <path>/etc/make.conf</path> file:
127</p>
128
129<pre caption="Sample make.conf entries">
130<comment>(For mouse and keyboard support)</comment>
131INPUT_DEVICES="keyboard mouse"
132<comment>(For Nvidia cards)</comment>
133VIDEO_CARDS="nvidia"
134<comment>(OR, for ATI Radeon cards)</comment>
135VIDEO_CARDS="fglrx"
136</pre>
137
138<p>
139More 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
142which drivers you should choose, refer to these guides for more information.
143</p>
144
145<note>
146If the suggested settings don't work for you, you should run <c>emerge -pv
147xorg-x11</c>, check all the options available and choose those which
148apply to your system. In different versions of Xorg and on different
149architectures displaying these variables can be done with <c>emerge -pv
150xorg-server</c> command rather than the one above. The example is for x86
151architecture 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
157These are the packages that would be merged, in order:
158
159Calculating dependencies... done!
160[ebuild R ] x11-base/xorg-x11-7.0-r1 USE="-3dfx" INPUT_DEVICES="keyboard
161mouse -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
168kB
169</pre>
170
171<p>
172After setting all the necessary variables you can install the Xorg package.
173</p>
174
101<pre caption="Installing Xorg"> 175<pre caption="Installing Xorg">
102# <i>emerge xorg-x11</i> 176# <i>emerge xorg-x11</i>
103</pre> 177</pre>
104 178
105<p> 179<p>
106When the installation is finished, you might need to reinitialise some 180When the installation is finished, you might need to re-initialise some
107environment variables before you continue. Just run <c>env-update</c> followed 181environment variables before you continue. Just run <c>env-update</c> followed
108by <c>source /etc/profile</c> and you're all set. This doesn't harm your system 182by <c>source /etc/profile</c> and you're all set.
109in any way.
110</p> 183</p>
111 184
112<pre caption="Reinitialising the environment variables"> 185<pre caption="Re-initialising the environment variables">
113# <i>env-update</i> 186# <i>env-update</i>
114# <i>source /etc/profile</i> 187# <i>source /etc/profile</i>
115</pre> 188</pre>
116 189
117</body> 190</body>
165will have told you that it has written <path>/root/xorg.conf.new</path> ready 238will have told you that it has written <path>/root/xorg.conf.new</path> ready
166for you to test. So let's test :) 239for you to test. So let's test :)
167</p> 240</p>
168 241
169<pre caption="Testing the xorg.conf.new file"> 242<pre caption="Testing the xorg.conf.new file">
170# <i>Xorg -config /root/xorg.conf.new</i> 243# <i>X -config /root/xorg.conf.new</i>
171</pre> 244</pre>
172 245
173<p> 246<p>
174If all goes well, you should see an ugly, loathsome, repulsive, deformed 247If all goes well, you should see a simple black and white pattern. Verify if
175window manager called <c>twm</c>, probably the smallest window manager 248your mouse works correctly and if the resolution is good. If you received errors
176available. Try moving your mouse and see if your keyboard and such is working. 249about "/dev/mouse", try changing your mouse device to <c>/dev/input/mice</c> in
177In the next section we will optimize our <path>xorg.conf</path> so it fits your 250the "InputDevice" section of <path>xorg.conf</path>. You might not be able to
178hardware. Now go into one of the terminals you see on your screen and type in 251deduce the exact resolution, but you should be able to see if it's too low. You
179<c>exit</c> (or press Ctrl-D) until Xorg shuts down. If you are unable to 252can exit any time by pressing Ctrl-Alt-Backspace.
180use your mouse to focus the terminals, you can also press Ctrl-Alt-Backspace to
181kill the X server.
182</p> 253</p>
183 254
184</body> 255</body>
185</section> 256</section>
186<section> 257<section>
195 266
196<pre caption="Semi-Automatic Generation of xorg.conf"> 267<pre caption="Semi-Automatic Generation of xorg.conf">
197# <i>xorgconfig</i> 268# <i>xorgconfig</i>
198</pre> 269</pre>
199 270
271<p>
272Another tool, also provided by Xorg, is <c>xorgcfg</c>, which will first
273attempt to run <c>Xorg -configure</c> and then start the X server for more
274final tweaking.
275</p>
276
277<pre caption="Using xorgcfg">
278# <i>xorgcfg</i>
279<comment>(In case X crashes or the configuration fails, try:)</comment>
280# <i>xorgcfg -textmode</i>
281</pre>
282
283</body>
284</section>
285<section>
286<title>Copying over xorg.conf</title>
287<body>
288
289<p>
290Let us copy over the <path>xorg.conf.new</path> to
291<path>/etc/X11/xorg.conf</path> now, so we won't have to continuously run
292<c>X -config</c> -- typing just <c>X</c> or <c>startx</c> is far more easy :)
293</p>
294
295<pre caption="Copying over xorg.conf">
296# <i>cp /root/xorg.conf.new /etc/X11/xorg.conf</i>
297</pre>
298
299</body>
300</section>
301<section id="using_startx">
302<title>Using startx</title>
303<body>
304
305<p>
306Now try <c>startx</c> to start up your X server. <c>startx</c> is a script
307that executes an <e>X session</e>, that is, it starts the X servers and some
308graphical applications on top of it. It decides which applications to run
309using the following logic:
310</p>
311
312<ul>
313 <li>
314 If a file named <path>.xinitrc</path> exists in the home directory, it will
315 execute the commands listed there.
316 </li>
317 <li>
318 Otherwise, it will read the value of the XSESSION variable and will execute
319 one of the sessions available in <path>/etc/X11/Sessions/</path>
320 accordingly (you can set the value of XSESSION in <path>/etc/rc.conf</path>
321 to make it a default for all the users on the system).
322 </li>
323<li>
324 If all of the above fail, it will fall back to a simple window manager,
325 usually <c>twm</c>.
326 </li>
327</ul>
328
329<pre caption="Starting X">
330# <i>startx</i>
331</pre>
332
333<p>
334If you see an ugly, loathsome, repulsive, deformed window manager, that's
335<c>twm</c>. To finish the twm session, type in <c>exit</c> or Ctrl-D in the
336upcoming xterms. You can also kill the X session using the Ctrl-Alt-Backspace
337combination. This will however make X exit disgracefully -- something that you
338might not always want. It doesn't hurt though :)
339</p>
340
200</body> 341</body>
201</section> 342</section>
202</chapter> 343</chapter>
203<chapter> 344<chapter>
204<title>Tweaking xorg.conf</title> 345<title>Tweaking xorg.conf</title>
205<section> 346<section>
206<title>Copying over xorg.conf</title>
207<body>
208
209<p>
210Let us first copy over the <path>xorg.conf.new</path> to
211<path>/etc/X11/xorg.conf</path> so we won't have to continuously run <c>Xorg
212-config</c> -- typing <c>startx</c> is far more easy :)
213</p>
214
215<pre caption="Copying over xorg.conf">
216# <i>cp /root/xorg.conf.new /etc/X11/xorg.conf</i>
217</pre>
218
219<p>
220Now run <c>startx</c> to start up your X server. It will use the freshly copied
221file as its configuration file. To finish the X session, type in <c>exit</c> or
222Ctrl-D in the upcoming xterms. You can also kill the X session using the
223Ctrl-Alt-Backspace combination. This will however make X exit disgracefully -
224something that you might not always want. It doesn't hurt though :)
225</p>
226
227<pre caption="Starting X">
228# <i>startx</i>
229</pre>
230
231</body>
232</section>
233<section>
234<title>Setting your Resolution</title> 347<title>Setting your Resolution</title>
235<body> 348<body>
236 349
237<p> 350<p>
238If you feel that the screen resolution is wrong, you will need to check two 351If you feel that the screen resolution is wrong, you will need to check two
239sections in your configuration. First of all, you have the <e>Screen</e> section 352sections in your configuration. First of all, you have the <e>Screen</e> section
240which lists the resolutions - if any - that your X server will run at. By 353which lists the resolutions, if any that your X server will run at. By
241default, this section might not list any resolutions at all. If this is the 354default, this section might not list any resolutions at all. If this is the
242case, Xorg will estimate the resolutions based on the information in the 355case, Xorg will estimate the resolutions based on the information in the
243second section, <e>Monitor</e>. 356second section, <e>Monitor</e>.
244</p> 357</p>
245 358
252use a tool that searches for your monitor's specs, such as 365use a tool that searches for your monitor's specs, such as
253<c>sys-apps/ddcxinfo-knoppix</c>. 366<c>sys-apps/ddcxinfo-knoppix</c>.
254</p> 367</p>
255 368
256<warn> 369<warn>
257Do <b>not</b> "just" change the values of these two monitor-related variables 370Do <b>not</b> "just" change the values of these two monitor related variables
258without consulting the technical specifications of your monitor. Setting 371without consulting the technical specifications of your monitor. Setting
259incorrect values lead to out-of-sync errors at best and smoked up screens at 372incorrect values lead to out-of-sync errors at best and smoked up screens at
260worst. 373worst.
261</warn> 374</warn>
262 375
263<p> 376<p>
264Now let us change the resolutions. In the next example from 377Now let us change the resolutions. In the next example from
265<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
266<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
267default. Don't mind the given strings - they are examples and will most likely 380default. Don't mind the given strings -- they are examples and will most likely
268differ from the settings on your system. 381differ from the settings on your system.
269</p> 382</p>
270 383
271<pre caption="Changing the Screen section in /etc/X11/xorg.conf"> 384<pre caption="Changing the Screen section in /etc/X11/xorg.conf">
272Section "Screen" 385Section "Screen"
302<pre caption="Changing the keyboard layout"> 415<pre caption="Changing the keyboard layout">
303Section "InputDevice" 416Section "InputDevice"
304 Identifier "Generic Keyboard" 417 Identifier "Generic Keyboard"
305 Driver "keyboard" 418 Driver "keyboard"
306 Option "CoreKeyboard" 419 Option "CoreKeyboard"
307 Option "XkbRules" "xfree86" 420 Option "XkbRules" "xorg"
308 Option "XkbModel" "pc105" 421 Option "XkbModel" "pc105"
309 <i>Option "XkbLayout" "be"</i> 422 <i>Option "XkbLayout" "be"</i>
310EndSection 423EndSection
311</pre> 424</pre>
312 425
316<title>Configuring your Mouse</title> 429<title>Configuring your Mouse</title>
317<body> 430<body>
318 431
319<p> 432<p>
320If your mouse isn't working, you will first need to find out if it is detected 433If your mouse isn't working, you will first need to find out if it is detected
321by the kernel at all. PS/2 mice are (device-wise) seen as 434by the kernel at all. Mice are (device-wise) seen as
322<path>/dev/psaux</path>. Other mice (like USBs) are seen as
323<path>/dev/input</path> (or <path>/dev/input/mice</path>). In either case you 435<path>/dev/input/mouse0</path> (or <path>/dev/input/mice</path> if you want to
324can check if the devices do represent your mouse by checking the output of those 436use several mice). In some cases <path>/dev/psaux</path> is used. In either
325files when you move your mouse. To end the session press <c>Ctrl-C</c>. 437case you can check if the devices do represent
438your mouse by checking the output of those files when you move your mouse. You
439will usually see some junk on your screen. To end the session press
440<c>Ctrl-C</c>.
326</p> 441</p>
327 442
328<pre caption="Checking the device files"> 443<pre caption="Checking the device files">
329# <i>cat /dev/input</i> 444# <i>cat /dev/input/mouse0</i>
330<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>
331</pre> 446</pre>
332 447
333<p> 448<p>
334If your mouse isn't detected, verify if all the necessary modules are loaded. 449If your mouse isn't detected, verify if all the necessary modules are loaded.
335</p> 450</p>
336 451
337<p> 452<p>
338If your mouse is detected, fill in the device in the appropriate 453If your mouse is detected, fill in the device in the appropriate
339<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
340options: <c>Protocol</c> (which lists the mouse protocol to be used - most users 455options: <c>Protocol</c> (which lists the mouse protocol to be used -- most
341will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the 456users will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the
342mousewheel (if applicable) to be used). 457mousewheel (if applicable) to be used).
343</p> 458</p>
344 459
345<pre caption="Changing the mouse settings in Xorg"> 460<pre caption="Changing the mouse settings in Xorg">
346Section "InputDevice" 461Section "InputDevice"
347 Identifier "TouchPad Mouse" 462 Identifier "TouchPad Mouse"
348 Driver "mouse" 463 Driver "mouse"
349 Option "CorePointer" 464 Option "CorePointer"
350 <i>Option "Device" "/dev/psaux"</i> 465 <i>Option "Device" "/dev/input/mouse0"</i>
351 <i>Option "Protocol" "IMPS/2"</i> 466 <i>Option "Protocol" "IMPS/2"</i>
352 <i>Option "ZAxisMapping" "4 5"</i> 467 <i>Option "ZAxisMapping" "4 5"</i>
353EndSection 468EndSection
354</pre> 469</pre>
355 470
402 </li> 517 </li>
403</ul> 518</ul>
404 519
405</body> 520</body>
406</section> 521</section>
522<section>
523<title>Other resources</title>
524<body>
525
526<p>
527If you want to update your system from the old monolithic Xorg to the newer,
528modular Xorg 7, you should refer to the <uri
529link="/proj/en/desktop/x/x11/modular-x-howto.xml">Migrating to Modular X
530HOWTO</uri>.
531</p>
532
533<p>
534More information about configuring different packages to work in X environment
535can be found in the <uri link="/doc/en/?catid=desktop">Gentoo Desktop
536Documentation Resources</uri> section of our documentation.
537</p>
538
539</body>
540</section>
407</chapter> 541</chapter>
408</guide> 542</guide>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.22

  ViewVC Help
Powered by ViewVC 1.1.20