| 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.22 2007/06/09 12:40:12 jkt 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.40 2010/08/29 03:39:55 nightmorph Exp $ --> |
| 6 | |
4 | |
| 7 | <guide link="/doc/en/xorg-config.xml"> |
5 | <guide> |
| 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"/> |
|
|
10 | </author> |
|
|
11 | <author title="Author"> |
|
|
12 | <mail link="nightmorph"/> |
| 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.5 --> |
22 | <!-- See http://creativecommons.org/licenses/by-sa/2.5 --> |
| 23 | <license/> |
23 | <license/> |
| 24 | |
24 | |
| 25 | <version>1.16</version> |
25 | <version>2</version> |
| 26 | <date>2007-06-09</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> |
| 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, 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 |
| … | |
… | |
| 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> |
| … | |
… | |
| 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 |
73 | maintains a freely redistributable, open-source implementation of the X11 |
| 74 | system. 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 | |
| 88 | <chapter> |
88 | <chapter> |
| 89 | <title>Installing Xorg</title> |
89 | <title>Installing Xorg</title> |
| 90 | <section> |
90 | <section> |
| 91 | <title>Using emerge</title> |
91 | <body> |
|
|
92 | |
|
|
93 | <p> |
|
|
94 | Before you can install Xorg, you need to prepare your system for it. First, |
|
|
95 | we'll set up the kernel to support input devices and video cards. Then we'll |
|
|
96 | prepare <path>/etc/make.conf</path> so that the right drivers and Xorg packages |
|
|
97 | are built and installed. |
|
|
98 | </p> |
|
|
99 | |
| 92 | <body> |
100 | </body> |
|
|
101 | </section> |
|
|
102 | <section> |
|
|
103 | <title>Input driver support</title> |
|
|
104 | <body> |
| 93 | |
105 | |
| 94 | <p> |
|
|
| 95 | Enough chitchat, let's get to business shall we? To install Xorg, you just |
|
|
| 96 | need to run <c>emerge xorg-x11</c>. Installing Xorg does take a while |
|
|
| 97 | though, so you might want to grab a snack while you are waiting. |
|
|
| 98 | </p> |
106 | <p> |
| 99 | |
107 | By default, Xorg uses <c>evdev</c>, a generic input driver. You'll need to |
|
|
108 | activate support for <c>evdev</c> by making a change to your kernel |
|
|
109 | configuration. Read the <uri link="/doc/en/kernel-config.xml">Kernel |
|
|
110 | Configuration Guide</uri> if you don't know how to setup your kernel. |
| 100 | <p> |
111 | </p> |
| 101 | Before installing Xorg you have to configure two important variables in the |
112 | |
| 102 | <path>/etc/make.conf</path> file. |
113 | <pre caption="Enabling evdev in the kernel"> |
|
|
114 | Device Drivers ---> |
|
|
115 | Input device support ---> |
|
|
116 | <*> Event interface |
|
|
117 | </pre> |
|
|
118 | |
|
|
119 | </body> |
|
|
120 | </section> |
|
|
121 | <section> |
|
|
122 | <title>Kernel modesetting</title> |
|
|
123 | <body> |
|
|
124 | |
| 103 | </p> |
125 | <p> |
| 104 | |
126 | Modern open-source video drivers rely on kernel modesetting (KMS). KMS provides |
|
|
127 | an improved graphical boot with less flickering, faster user switching, a |
|
|
128 | built-in framebuffer console, seamless switching from the console to Xorg, and |
|
|
129 | other features. KMS conflicts with legacy framebuffer drivers, which must remain |
|
|
130 | <b>disabled</b> in your kernel configuration. |
| 105 | <p> |
131 | </p> |
|
|
132 | |
|
|
133 | <p> |
|
|
134 | First, prepare your kernel for KMS. You need to do this step regardless of which |
|
|
135 | Xorg video driver you're using. |
|
|
136 | </p> |
|
|
137 | |
|
|
138 | <pre caption="Configuring framebuffers"> |
|
|
139 | Device Drivers ---> |
|
|
140 | Graphics support ---> |
|
|
141 | Support for frame buffer devices ---> |
|
|
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 ---> |
|
|
146 | <*> Framebuffer Console Support |
|
|
147 | </pre> |
|
|
148 | |
|
|
149 | <p> |
|
|
150 | Next, configure your kernel to use the proper KMS driver for your video card. |
|
|
151 | Intel, nVidia, and ATI are the most common cards, so follow code listing for |
|
|
152 | your card below. |
|
|
153 | </p> |
|
|
154 | |
|
|
155 | <p> |
|
|
156 | For Intel cards: |
|
|
157 | </p> |
|
|
158 | |
|
|
159 | <pre caption="Intel settings"> |
|
|
160 | Device Drivers ---> |
|
|
161 | Graphics support ---> |
|
|
162 | /dev/agpgart (AGP Support) ---> |
|
|
163 | <*> Intel 440LX/BX/GX, I8xx and E7x05 chipset support |
|
|
164 | Direct Rendering Manager (XFree86 4.1.0 and higher DRI support) ---> |
|
|
165 | <*> Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver) |
|
|
166 | i915 driver |
|
|
167 | [*] Enable modesetting on intel by default |
|
|
168 | </pre> |
|
|
169 | |
|
|
170 | <p> |
|
|
171 | For nVidia cards: |
|
|
172 | </p> |
|
|
173 | |
|
|
174 | <pre caption="nVidia settings"> |
|
|
175 | <comment>(Enable DRM)</comment> |
|
|
176 | Device Drivers ---> |
|
|
177 | Graphics support ---> |
|
|
178 | <*> Direct Rendering Manager ---> |
|
|
179 | |
|
|
180 | <comment>(Nouveau is currently in the Staging drivers section)</comment> |
|
|
181 | Device Drivers ---> |
|
|
182 | Staging drivers ---> |
|
|
183 | [ ] Exclude Staging drivers from being built |
|
|
184 | <*> Nouveau (nVidia) cards |
|
|
185 | </pre> |
|
|
186 | |
|
|
187 | <p> |
|
|
188 | For newer ATI cards (<uri link="/doc/en/ati-faq.xml">RadeonHD 2000 and |
|
|
189 | up</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> |
|
|
195 | Device Drivers ---> |
|
|
196 | Generic Driver Options ---> |
|
|
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> |
|
|
209 | Device Drivers ---> |
|
|
210 | Graphics support ---> |
|
|
211 | <*> Direct Rendering Manager ---> |
|
|
212 | <*> ATI Radeon |
|
|
213 | [*] Enable modesetting on radeon by default |
|
|
214 | </pre> |
|
|
215 | |
|
|
216 | <note> |
|
|
217 | Old Radeon cards (X1900 series and older) don't need the <c>radeon-ucode</c> |
|
|
218 | package or any firmware configuration. Just enable the Direct Rendering Manager |
|
|
219 | and ATI Radeon modesetting. |
|
|
220 | </note> |
|
|
221 | |
|
|
222 | <p> |
|
|
223 | Now 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> |
|
|
230 | <title>make.conf configuration</title> |
|
|
231 | <body> |
|
|
232 | |
|
|
233 | <p> |
|
|
234 | Now that your kernel is prepared, you have to configure two important variables |
|
|
235 | in the <path>/etc/make.conf</path> file before you can install Xorg. |
|
|
236 | </p> |
|
|
237 | |
|
|
238 | <p> |
| 106 | The first one is <c>VIDEO_CARDS</c>. This is used to set the video drivers that |
239 | The first variable is <c>VIDEO_CARDS</c>. This is used to set the video drivers |
| 107 | you intend to use and is usually based on the kind and brand of card you have. |
240 | that you intend to use and is usually based on the kind of video card you have. |
| 108 | The most common settings are <c>nvidia</c> for Nvidia cards or <c>fglrx</c> for |
241 | The most common settings are <c>nouveau</c> for nVidia cards or <c>radeon</c> |
| 109 | ATI Radeon cards. Those are the proprietary drivers from Nvidia and ATI |
242 | for ATI cards. Both have actively developed, well-supported open-source |
| 110 | respectively. If you would like to use the open source versions, use <c>nv</c> |
243 | drivers. |
| 111 | rather than <c>nvidia</c> in the variable, but bear in mind that using this |
244 | </p> |
| 112 | driver means no 3d acceleration at all. The free <c>radeon</c> driver for ATI |
245 | |
| 113 | cards supports full 3D acceleration on older Radeons but doesn't work at all |
246 | <note> |
| 114 | with the newer ones. <c>VIDEO_CARDS</c> may contain more than one driver, in |
247 | You may also try the proprietary drivers from nVidia and ATI, <c>nvidia</c> and |
| 115 | this case list of them should be separated with spaces. |
248 | <c>fglrx</c> respectively. However, setting up the proprietary drivers is |
|
|
249 | beyond the scope of this guide. Please read the <uri |
|
|
250 | link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and <uri |
|
|
251 | link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know which |
|
|
252 | drivers you should choose, refer to these guides for more information. |
|
|
253 | </note> |
|
|
254 | |
| 116 | </p> |
255 | <p> |
|
|
256 | The <c>intel</c> driver may be used for desktops or laptops with common Intel |
|
|
257 | integrated graphics chipsets. |
|
|
258 | </p> |
|
|
259 | |
|
|
260 | <note> |
|
|
261 | <c>VIDEO_CARDS</c> may contain more than one driver, each separated with a |
|
|
262 | space. |
|
|
263 | </note> |
| 117 | |
264 | |
| 118 | <p> |
265 | <p> |
| 119 | The second variable is <c>INPUT_DEVICES</c> and is used to determine which |
266 | 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 |
267 | drivers are to be built for input devices. In most cases setting it to |
| 121 | <c>keyboard mouse</c> should work just fine. |
268 | <c>evdev</c> should work just fine. If you use alternative input |
|
|
269 | devices, such as a Synaptics touchpad for a laptop, be sure to add it to |
|
|
270 | <c>INPUT_DEVICES</c>. |
| 122 | </p> |
271 | </p> |
| 123 | |
272 | |
| 124 | <p> |
273 | <p> |
| 125 | Now you should decide which drivers you will use and add necessary settings to |
274 | Now you should decide which drivers you will use and add necessary settings to |
| 126 | the <path>/etc/make.conf</path> file: |
275 | the <path>/etc/make.conf</path> file: |
| 127 | </p> |
276 | </p> |
| 128 | |
277 | |
| 129 | <pre caption="Sample make.conf entries"> |
278 | <pre caption="Sample make.conf entries"> |
| 130 | <comment>(For mouse and keyboard support)</comment> |
279 | <comment>(For mouse, keyboard, and Synaptics touchpad support)</comment> |
| 131 | INPUT_DEVICES="keyboard mouse" |
280 | INPUT_DEVICES="evdev synaptics" |
| 132 | <comment>(For Nvidia cards)</comment> |
281 | <comment>(For nVidia cards)</comment> |
| 133 | VIDEO_CARDS="nvidia" |
282 | VIDEO_CARDS="nouveau" |
| 134 | <comment>(OR, for ATI Radeon cards)</comment> |
283 | <comment>(OR, for ATI Radeon cards)</comment> |
| 135 | VIDEO_CARDS="fglrx" |
284 | VIDEO_CARDS="radeon" |
| 136 | </pre> |
285 | </pre> |
| 137 | |
286 | |
| 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> |
287 | <p> |
|
|
288 | If the suggested settings don't work for you, you should run <c>emerge -pv |
|
|
289 | xorg-drivers</c>, check all the options available and choose those which apply to |
|
|
290 | your system. This example is for a system with a keyboard, mouse, Synaptics |
|
|
291 | touchpad, and a Radeon video card. |
|
|
292 | </p> |
|
|
293 | |
|
|
294 | <pre caption="Displaying all the driver options available"> |
|
|
295 | # <i>emerge -pv xorg-drivers</i> |
|
|
296 | |
|
|
297 | These are the packages that would be merged, in order: |
|
|
298 | |
|
|
299 | Calculating dependencies... done! |
|
|
300 | [ebuild R ] x11-base/xorg-drivers-1.8 INPUT_DEVICES="evdev synaptics |
|
|
301 | -acecad -aiptek -elographics% -fpit% -joystick -keyboard -mouse -penmount -tslib |
|
|
302 | -virtualbox -vmmouse -void -wacom" |
|
|
303 | VIDEO_CARDS="radeon -apm -ark -ast -chips -cirrus -dummy -epson -fbdev -fglrx |
|
|
304 | (-geode) -glint -i128 (-i740) (-impact) -intel -mach64 -mga -neomagic (-newport) |
|
|
305 | -nouveau -nv -nvidia -r128 -radeonhd -rendition -s3 -s3virge -savage |
|
|
306 | -siliconmotion -sis -sisusb (-sunbw2) (-suncg14) (-suncg3) (-suncg6) (-sunffb) |
|
|
307 | (-sunleo) (-suntcx) -tdfx -tga -trident -tseng -v4l -vesa -via -virtualbox |
|
|
308 | -vmware (-voodoo) (-xgi)" 0 kB |
|
|
309 | </pre> |
|
|
310 | |
|
|
311 | <p> |
|
|
312 | After setting all the necessary variables you can install the Xorg package. |
|
|
313 | </p> |
|
|
314 | |
|
|
315 | <pre caption="Installing Xorg"> |
|
|
316 | # <i>emerge xorg-server</i> |
|
|
317 | </pre> |
| 144 | |
318 | |
| 145 | <note> |
319 | <note> |
| 146 | If the suggested settings don't work for you, you should run <c>emerge -pv |
320 | You could install the <c>xorg-x11</c> metapackage instead of the more |
| 147 | xorg-x11</c>, check all the options available and choose those which |
321 | lightweight <c>xorg-server</c>. Functionally, <c>xorg-x11</c> and |
| 148 | apply to your system. In different versions of Xorg and on different |
322 | <c>xorg-server</c> are the same. However, <c>xorg-x11</c> brings in many more |
| 149 | architectures displaying these variables can be done with <c>emerge -pv |
323 | packages that you probably don't need, such as a huge assortment of fonts in |
| 150 | xorg-server</c> command rather than the one above. The example is for x86 |
324 | many different languages. They're not necessary for a working desktop. |
| 151 | architecture and xorg-x11-7.0. |
|
|
| 152 | </note> |
325 | </note> |
| 153 | |
326 | |
| 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> |
327 | <p> |
| 174 | |
|
|
| 175 | <pre caption="Installing Xorg"> |
|
|
| 176 | # <i>emerge xorg-x11</i> |
|
|
| 177 | </pre> |
|
|
| 178 | |
|
|
| 179 | <p> |
|
|
| 180 | When the installation is finished, you might need to re-initialise some |
328 | When the installation is finished, you will need to re-initialise some |
| 181 | environment variables before you continue. Just run <c>env-update</c> followed |
329 | environment variables before you continue. Just run <c>env-update</c> followed |
| 182 | by <c>source /etc/profile</c> and you're all set. |
330 | by <c>source /etc/profile</c> and you're all set. |
| 183 | </p> |
331 | </p> |
| 184 | |
332 | |
| 185 | <pre caption="Re-initialising the environment variables"> |
333 | <pre caption="Re-initialising the environment variables"> |
| 186 | # <i>env-update</i> |
334 | # <i>env-update</i> |
| 187 | # <i>source /etc/profile</i> |
335 | # <i>source /etc/profile</i> |
| 188 | </pre> |
336 | </pre> |
| 189 | |
337 | |
|
|
338 | <p> |
|
|
339 | Now it's time to start the Hardware Abstraction Layer (HAL) daemon and set it to |
|
|
340 | automatically start each time you boot. This is necessary to get a working X |
|
|
341 | environment, otherwise your input devices won't be detected and you'll probably |
|
|
342 | just get a blank screen. We'll cover HAL more in the <uri |
|
|
343 | link="#using_hal">next section</uri>. |
|
|
344 | </p> |
|
|
345 | |
|
|
346 | <pre caption="Starting HAL"> |
|
|
347 | # <i>/etc/init.d/hald start</i> |
|
|
348 | # <i>rc-update add hald default</i> |
|
|
349 | </pre> |
|
|
350 | |
| 190 | </body> |
351 | </body> |
| 191 | </section> |
352 | </section> |
| 192 | </chapter> |
353 | </chapter> |
|
|
354 | |
| 193 | <chapter> |
355 | <chapter> |
| 194 | <title>Configuring Xorg</title> |
356 | <title>Configuring Xorg</title> |
|
|
357 | <section id="using_hal"> |
|
|
358 | <title>Using HAL</title> |
|
|
359 | <body> |
|
|
360 | |
|
|
361 | <p> |
|
|
362 | The X server is designed to work out-of-the-box, with no need to manually edit |
|
|
363 | Xorg's configuration files. |
|
|
364 | </p> |
|
|
365 | |
|
|
366 | <p> |
|
|
367 | You should first try <uri link="#using_startx">starting X</uri> without creating |
|
|
368 | <path>/etc/X11/xorg.conf</path>. |
|
|
369 | </p> |
|
|
370 | |
|
|
371 | <p> |
|
|
372 | If Xorg won't start (if there's something wrong with the screen, or with your |
|
|
373 | keyboard/mouse), then you can try fixing problems by using the right |
|
|
374 | configuration files. |
|
|
375 | </p> |
|
|
376 | |
|
|
377 | <p> |
|
|
378 | By default, Xorg uses HAL (Hardware Abstraction Layer) to detect and configure |
|
|
379 | devices such as keyboards and mice. |
|
|
380 | </p> |
|
|
381 | |
|
|
382 | <p> |
|
|
383 | HAL comes with many premade device rules, also called policies. These policy |
|
|
384 | files are available in <path>/usr/share/hal/fdi/policy/</path>. Just find a few |
|
|
385 | that suit your needs most closely and copy them to |
|
|
386 | <path>/etc/hal/fdi/policy/</path>. |
|
|
387 | </p> |
|
|
388 | |
|
|
389 | <impo> |
|
|
390 | Do not edit the files in <path>/usr/share/hal/fdi/</path>! Just copy the ones |
|
|
391 | you need, and edit them once they're placed in the proper <path>/etc</path> |
|
|
392 | location. |
|
|
393 | </impo> |
|
|
394 | |
|
|
395 | <p> |
|
|
396 | For example, to get a basic working keyboard/mouse combination, you could copy |
|
|
397 | the following files to <path>/etc/hal/fdi/policy/</path>: |
|
|
398 | </p> |
|
|
399 | |
|
|
400 | <pre caption="Using HAL policy files"> |
|
|
401 | # <i>cp /usr/share/hal/fdi/policy/10osvendor/10-input-policy.fdi /etc/hal/fdi/policy</i> |
|
|
402 | # <i>cp /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi /etc/hal/fdi/policy</i> |
|
|
403 | </pre> |
|
|
404 | |
|
|
405 | <p> |
|
|
406 | There are several other HAL policies in <path>/usr/share/hal/fdi/</path> that |
|
|
407 | may interest you, such as laptop configurations, storage device handling, power |
|
|
408 | management, and more. Just copy any of the policies to |
|
|
409 | <path>/etc/hal/fdi/policy/</path>. |
|
|
410 | </p> |
|
|
411 | |
|
|
412 | <impo> |
|
|
413 | Remember, <e>every</e> time you finish making changes to HAL policy files, you |
|
|
414 | need to restart the HAL daemon by running <c>/etc/init.d/hald restart</c>. |
|
|
415 | </impo> |
|
|
416 | |
|
|
417 | <p> |
|
|
418 | You can edit the policy files in <path>/etc/hal/fdi/policy</path> to your |
|
|
419 | liking. You may want to make a few tweaks or to expose additional |
|
|
420 | functionality. Let's go through an example of tweaking a HAL policy. |
|
|
421 | </p> |
|
|
422 | |
|
|
423 | <p> |
|
|
424 | One very convenient trick is to kill the X server entirely by pressing |
|
|
425 | Ctrl-Alt-Backspace. This is useful when your X server is malfunctioning, frozen, |
|
|
426 | etc. It's not as extreme as rebooting the whole machine with Ctrl-Alt-Del. |
|
|
427 | </p> |
|
|
428 | |
|
|
429 | <p> |
|
|
430 | Recent X server versions disabled this key combination by default. However, you |
|
|
431 | can reenable it by copying <path>10-x11-input.fdi</path> to |
|
|
432 | <path>/etc/hal/fdi/policy</path> and editing it. You'll need to add just one |
|
|
433 | line to the appropriate section, as shown below: |
|
|
434 | </p> |
|
|
435 | |
|
|
436 | <pre caption="Editing 10-x11-input.fdi"> |
|
|
437 | <comment>(Open the file in your preferred editor)</comment> |
|
|
438 | # <i>nano -w /etc/hal/fdi/policy/10-x11-input.fdi</i> |
|
|
439 | <comment>(Find the "input.keys" section)</comment> |
|
|
440 | <match key="info.capabilities" contains="input.keys"> |
|
|
441 | <comment>(Add the "terminate" merge string as shown)</comment> |
|
|
442 | <match key="info.capabilities" contains="input.keys"> |
|
|
443 | <merge key="input.x11_driver" type="string">keyboard</merge> |
|
|
444 | <i><merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge></i> |
|
|
445 | <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" |
|
|
446 | string="Linux"> |
|
|
447 | <merge key="input.x11_driver" type="string">evdev<merge> |
|
|
448 | </match> |
|
|
449 | </match> |
|
|
450 | </pre> |
|
|
451 | |
|
|
452 | <p> |
|
|
453 | Once you're done, run <c>/etc/init.d/hald restart</c> so that HAL picks up your |
|
|
454 | changes. |
|
|
455 | </p> |
|
|
456 | |
|
|
457 | <p> |
|
|
458 | There, now you have a handy way of killing an unresponsive X server. This is |
|
|
459 | useful when programs have frozen your display entirely, or when configuring and |
|
|
460 | tweaking your Xorg environment. Be careful when killing your desktop with this |
|
|
461 | key combination -- most programs really don't like it when you end them this |
|
|
462 | way, and you may lose some (or all) of what you were working on. |
|
|
463 | </p> |
|
|
464 | |
|
|
465 | <p> |
|
|
466 | Hopefully just working with the HAL policy files results in a working X desktop. |
|
|
467 | If Xorg still won't start, or there's some other problem, then you'll need to |
|
|
468 | manually configure <path>xorg.conf</path> as shown in the next section. |
|
|
469 | </p> |
|
|
470 | |
|
|
471 | </body> |
| 195 | <section> |
472 | </section> |
|
|
473 | <section> |
| 196 | <title>The xorg.conf File</title> |
474 | <title>The xorg.conf file</title> |
| 197 | <body> |
475 | <body> |
| 198 | |
476 | |
|
|
477 | <note> |
|
|
478 | Configuring <path>xorg.conf</path> should be seen as a "last resort" option. It |
|
|
479 | really desirable to run without one if possible, and to do all your |
|
|
480 | configuration via HAL policy files. If you still can't get a working |
|
|
481 | configuration, then read on. |
|
|
482 | </note> |
|
|
483 | |
| 199 | <p> |
484 | <p> |
| 200 | The configuration file of Xorg is called <path>xorg.conf</path> and it |
485 | The configuration file of Xorg is called <path>xorg.conf</path> and it resides |
| 201 | resides in <path>/etc/X11</path>. The Xorg-X11 package provides an example |
486 | in <path>/etc/X11</path>. Xorg provides an example configuration as |
| 202 | configuration as <path>/etc/X11/xorg.conf.example</path> which you can use to |
487 | <path>/etc/X11/xorg.conf.example</path> which you can use to create your own |
| 203 | create your own configuration. It is heavily commented, but if you are in need |
488 | configuration. It is heavily commented, but if you are in need of more |
| 204 | of more documentation regarding the syntax, don't hesitate to read the man page: |
489 | documentation regarding the syntax, don't hesitate to read the man page: |
| 205 | </p> |
490 | </p> |
| 206 | |
491 | |
| 207 | <pre caption="Reading the xorg.conf man page"> |
492 | <pre caption="Reading the xorg.conf man page"> |
| 208 | # <i>man 5 xorg.conf</i> |
493 | $ <i>man 5 xorg.conf</i> |
| 209 | </pre> |
|
|
| 210 | |
|
|
| 211 | <p> |
|
|
| 212 | Happy reading for those of you willing to. We surely don't so we'll continue |
|
|
| 213 | with checking out how we can create the file automatically. |
|
|
| 214 | </p> |
494 | </pre> |
| 215 | |
495 | |
| 216 | </body> |
496 | </body> |
| 217 | </section> |
|
|
| 218 | <section> |
497 | </section> |
|
|
498 | <section> |
| 219 | <title>Default: Automatic Generation of xorg.conf</title> |
499 | <title>Automatic Generation of xorg.conf</title> |
| 220 | <body> |
500 | <body> |
| 221 | |
501 | |
| 222 | <p> |
502 | <p> |
| 223 | Xorg itself is able to guess most parameters for you. In most cases, you |
503 | Xorg itself is able to guess most parameters for you. In most cases, you |
| 224 | will only have to change some lines to get the resolution you want up and |
504 | will only have to change some lines to get the resolution you want up and |
| 225 | running. If you are interested in more in-depth tweaking, be sure to check the |
505 | running. If you are interested in more in-depth tweaking, be sure to check the |
| 226 | resources at the end of this chapter. But first, let us generate a (hopefully |
506 | resources at the end of this chapter. But first, let us generate a (hopefully |
| 227 | working) Xorg configuration file. |
507 | working) Xorg configuration file. |
| 228 | </p> |
508 | </p> |
| 229 | |
509 | |
| 230 | <pre caption="Generating an xorg.conf file"> |
510 | <pre caption="Generating an xorg.conf file"> |
| 231 | # <i>Xorg -configure</i> |
511 | # <i>Xorg -configure</i> |
| 232 | </pre> |
512 | </pre> |
| … | |
… | |
| 234 | <p> |
514 | <p> |
| 235 | Be sure to read the last lines printed on your screen when Xorg has finished |
515 | Be sure to read the last lines printed on your screen when Xorg has finished |
| 236 | probing your hardware. If it tells you it failed at some point, you're forced to |
516 | probing your hardware. If it tells you it failed at some point, you're forced to |
| 237 | manually write an <path>xorg.conf</path> file. Assuming that it didn't fail, it |
517 | manually write an <path>xorg.conf</path> file. Assuming that it didn't fail, it |
| 238 | will have told you that it has written <path>/root/xorg.conf.new</path> ready |
518 | will have told you that it has written <path>/root/xorg.conf.new</path> ready |
| 239 | for you to test. So let's test :) |
519 | for you to test. So let's test. :) |
| 240 | </p> |
520 | </p> |
| 241 | |
521 | |
| 242 | <pre caption="Testing the xorg.conf.new file"> |
522 | <pre caption="Testing the xorg.conf.new file"> |
| 243 | # <i>X -config /root/xorg.conf.new</i> |
523 | # <i>X -retro -config /root/xorg.conf.new</i> |
| 244 | </pre> |
524 | </pre> |
| 245 | |
525 | |
| 246 | <p> |
526 | <p> |
| 247 | If all goes well, you should see a simple black and white pattern. Verify if |
527 | If all goes well, you should see a simple black and white pattern. Verify if |
| 248 | your mouse works correctly and if the resolution is good. If you received errors |
528 | your mouse works correctly and if the resolution is good. You might not be able |
| 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 |
|
|
| 251 | deduce the exact resolution, but you should be able to see if it's too low. You |
529 | to deduce the exact resolution, but you should be able to see if it's too low. |
| 252 | can exit any time by pressing Ctrl-Alt-Backspace. |
530 | You can exit any time by pressing Ctrl-Alt-Backspace. |
| 253 | </p> |
|
|
| 254 | |
|
|
| 255 | </body> |
|
|
| 256 | </section> |
|
|
| 257 | <section> |
|
|
| 258 | <title>Alternative: Semi-Automatic Generation of xorg.conf</title> |
|
|
| 259 | <body> |
|
|
| 260 | |
|
|
| 261 | <p> |
531 | </p> |
| 262 | Xorg provides a tool called <c>xorgconfig</c> which will ask you for various |
|
|
| 263 | information regarding your system (graphical adapter, keyboard, ...). Based on |
|
|
| 264 | your input it will create a <path>xorg.conf</path> file. |
|
|
| 265 | </p> |
|
|
| 266 | |
|
|
| 267 | <pre caption="Semi-Automatic Generation of xorg.conf"> |
|
|
| 268 | # <i>xorgconfig</i> |
|
|
| 269 | </pre> |
|
|
| 270 | |
|
|
| 271 | <p> |
|
|
| 272 | Another tool, also provided by Xorg, is <c>xorgcfg</c>, which will first |
|
|
| 273 | attempt to run <c>Xorg -configure</c> and then start the X server for more |
|
|
| 274 | final 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 | |
532 | |
| 283 | </body> |
533 | </body> |
| 284 | </section> |
534 | </section> |
| 285 | <section> |
535 | <section> |
| 286 | <title>Copying over xorg.conf</title> |
536 | <title>Copying over xorg.conf</title> |
| 287 | <body> |
537 | <body> |
| 288 | |
538 | |
| 289 | <p> |
539 | <p> |
| 290 | Let us copy over the <path>xorg.conf.new</path> to |
540 | Let 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 |
541 | <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 :) |
542 | <c>X -config</c> -- typing just <c>startx</c> is easier. :) |
| 293 | </p> |
543 | </p> |
| 294 | |
544 | |
| 295 | <pre caption="Copying over xorg.conf"> |
545 | <pre caption="Copying over xorg.conf"> |
| 296 | # <i>cp /root/xorg.conf.new /etc/X11/xorg.conf</i> |
546 | # <i>cp /root/xorg.conf.new /etc/X11/xorg.conf</i> |
| 297 | </pre> |
547 | </pre> |
| … | |
… | |
| 301 | <section id="using_startx"> |
551 | <section id="using_startx"> |
| 302 | <title>Using startx</title> |
552 | <title>Using startx</title> |
| 303 | <body> |
553 | <body> |
| 304 | |
554 | |
| 305 | <p> |
555 | <p> |
| 306 | Now try <c>startx</c> to start up your X server. <c>startx</c> is a script |
556 | Now try <c>startx</c> to start up your X server. <c>startx</c> is a script |
| 307 | that executes an <e>X session</e>, that is, it starts the X servers and some |
557 | that executes an <e>X session</e>, that is, it starts the X server and some |
| 308 | graphical applications on top of it. It decides which applications to run |
558 | graphical applications on top of it. It decides which applications to run |
| 309 | using the following logic: |
559 | using the following logic: |
| 310 | </p> |
560 | </p> |
| 311 | |
561 | |
| 312 | <ul> |
562 | <ul> |
| 313 | <li> |
563 | <li> |
| … | |
… | |
| 315 | execute the commands listed there. |
565 | execute the commands listed there. |
| 316 | </li> |
566 | </li> |
| 317 | <li> |
567 | <li> |
| 318 | 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 |
| 319 | one of the sessions available in <path>/etc/X11/Sessions/</path> |
569 | 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> |
570 | accordingly. You can set the value of XSESSION in |
| 321 | to make it a default for all the users on the system). |
571 | <path>/etc/env.d/90xsession</path> to make it a default for all the users |
| 322 | </li> |
572 | on the system. For example, as root, run <c>echo XSESSION="Xfce4" > |
| 323 | <li> |
573 | /etc/env.d/90xsession</c>. This will create the <path>90xsession</path> file |
| 324 | If all of the above fail, it will fall back to a simple window manager, |
574 | and set the default X session to <uri |
| 325 | usually <c>twm</c>. |
575 | link="/doc/en/xfce-config.xml">Xfce</uri>. |
| 326 | </li> |
576 | </li> |
| 327 | </ul> |
577 | </ul> |
| 328 | |
578 | |
| 329 | <pre caption="Starting X"> |
579 | <pre caption="Starting X"> |
| 330 | # <i>startx</i> |
580 | $ <i>startx</i> |
| 331 | </pre> |
581 | </pre> |
| 332 | |
582 | |
|
|
583 | <p> |
|
|
584 | You can kill the X session by using the Ctrl-Alt-Backspace key combination. This |
|
|
585 | will, however, make X exit disgracefully -- something that you might not always |
|
|
586 | want. |
| 333 | <p> |
587 | </p> |
| 334 | If you see an ugly, loathsome, repulsive, deformed window manager, that's |
588 | |
| 335 | <c>twm</c>. To finish the twm session, type in <c>exit</c> or Ctrl-D in the |
589 | <p> |
| 336 | upcoming xterms. You can also kill the X session using the Ctrl-Alt-Backspace |
590 | If you haven't yet installed a window manager, all you'll see is a black screen. |
| 337 | combination. This will however make X exit disgracefully -- something that you |
591 | Since this can also be a sign that something's wrong, you may want to emerge |
| 338 | might not always want. It doesn't hurt though :) |
592 | <c>twm</c> and <c>xterm</c> <e>only to test X</e>. |
|
|
593 | </p> |
|
|
594 | |
|
|
595 | <p> |
|
|
596 | Once those two programs are installed, run <c>startx</c> again. A few xterm |
|
|
597 | windows should appear, making it easier to verify that X is working correctly. |
|
|
598 | Once you're satisfied with the results, run <c>emerge --unmerge twm xterm</c> as |
|
|
599 | root to get rid of the testing packages. You won't need them once you've setup a |
|
|
600 | proper desktop environment. |
| 339 | </p> |
601 | </p> |
| 340 | |
602 | |
| 341 | </body> |
603 | </body> |
| 342 | </section> |
604 | </section> |
| 343 | </chapter> |
605 | </chapter> |
|
|
606 | |
| 344 | <chapter> |
607 | <chapter> |
| 345 | <title>Tweaking xorg.conf</title> |
608 | <title>Tweaking X settings</title> |
| 346 | <section> |
609 | <section> |
| 347 | <title>Setting your Resolution</title> |
610 | <title>Setting your Resolution</title> |
| 348 | <body> |
611 | <body> |
| 349 | |
612 | |
| 350 | <p> |
613 | <p> |
| 351 | If you feel that the screen resolution is wrong, you will need to check two |
614 | If you feel that the screen resolution is wrong, you will need to check two |
| 352 | sections in your configuration. First of all, you have the <e>Screen</e> section |
615 | sections in your <path>xorg.conf</path> configuration. First of all, you have |
| 353 | which lists the resolutions, if any that your X server will run at. By |
616 | the <e>Screen</e> section which lists the resolutions, if any that your X server |
| 354 | default, this section might not list any resolutions at all. If this is the |
617 | will run at. By default, this section might not list any resolutions at all. If |
| 355 | case, Xorg will estimate the resolutions based on the information in the |
618 | this is the case, Xorg will estimate the resolutions based on the information in |
| 356 | second section, <e>Monitor</e>. |
619 | the second section, <e>Monitor</e>. |
| 357 | </p> |
620 | </p> |
| 358 | |
621 | |
| 359 | <p> |
622 | <p> |
| 360 | What happens is that Xorg checks the settings of <c>HorizSync</c> and |
623 | What happens is that Xorg checks the settings of <c>HorizSync</c> and |
| 361 | <c>VertRefresh</c> in the <e>Monitor</e> section to compute valid resolutions. |
624 | <c>VertRefresh</c> in the <e>Monitor</e> section to compute valid resolutions. |
| 362 | For now, leave these settings as-is. Only when the changes to the <e>Screen</e> |
625 | For now, leave these settings as-is. Only when the changes to the <e>Screen</e> |
| 363 | section (which we will describe in a minute) don't work, then you will need to |
626 | section (which we will describe in a minute) don't work, then you will need to |
| 364 | look up the specs for your monitor and fill in the correct values. You can also |
627 | look up the specs for your monitor and fill in the correct values. |
| 365 | use a tool that searches for your monitor's specs, such as |
|
|
| 366 | <c>sys-apps/ddcxinfo-knoppix</c>. |
|
|
| 367 | </p> |
628 | </p> |
| 368 | |
629 | |
| 369 | <warn> |
630 | <warn> |
| 370 | Do <b>not</b> "just" change the values of these two monitor related variables |
631 | Do <b>not</b> "just" change the values of these two monitor related variables |
| 371 | without consulting the technical specifications of your monitor. Setting |
632 | without consulting the technical specifications of your monitor. Setting |
| 372 | incorrect values lead to out-of-sync errors at best and smoked up screens at |
633 | incorrect values lead to out-of-sync errors at best and smoked up screens at |
| 373 | worst. |
634 | worst. |
| 374 | </warn> |
635 | </warn> |
| 375 | |
636 | |
| 376 | <p> |
637 | <p> |
| 377 | Now let us change the resolutions. In the next example from |
638 | Now let us change the resolution. In the next example from |
| 378 | <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 |
| 379 | <c>DefaultDepth</c> so that our X server starts with 24 bits at 1024x768 by |
640 | X server starts at 1440x900 by default. Don't mind the given strings -- they are |
| 380 | default. Don't mind the given strings -- they are examples and will most likely |
641 | examples and will most likely differ from the settings on your system. However, |
| 381 | differ from the settings on your system. |
642 | the <c>Option</c> in the <c>Device</c> section must match the name of your |
|
|
643 | monitor (<c>DVI-0</c>), which can be obtained by running <c>xrandr</c>. You'll |
|
|
644 | need to <c>emerge xrandr</c> just long enough to get this information. The |
|
|
645 | argument after the monitor name (in the <c>Device</c> section) must match the |
|
|
646 | <c>Identifier</c> in the <c>Monitor</c> section. |
| 382 | </p> |
647 | </p> |
| 383 | |
648 | |
| 384 | <pre caption="Changing the Screen section in /etc/X11/xorg.conf"> |
649 | <pre caption="Changing the Monitor section in /etc/X11/xorg.conf"> |
| 385 | Section "Screen" |
650 | Section "Device" |
| 386 | Identifier "Default Screen" |
651 | Identifier "RadeonHD 4550" |
| 387 | Device "S3 Inc. ProSavage KN133 [Twister K]" |
652 | Option "Monitor-DVI-0" "DVI screen" |
| 388 | Monitor "Generic Monitor" |
|
|
| 389 | <i>DefaultDepth 24</i> |
|
|
| 390 | <comment># Skipping some text to improve readability</comment> |
|
|
| 391 | SubSection "Display" |
|
|
| 392 | Depth 24 |
|
|
| 393 | <i>Modes "1024x768"</i> |
|
|
| 394 | EndSubSection |
|
|
| 395 | EndSection |
653 | EndSection |
| 396 | </pre> |
654 | Section "Monitor" |
| 397 | |
655 | Identifier "DVI screen" |
| 398 | <p> |
656 | Option "PreferredMode" "1440x900" |
| 399 | Run X (<c>startx</c>) to discover it uses the resolution you want :) |
|
|
| 400 | </p> |
|
|
| 401 | |
|
|
| 402 | </body> |
|
|
| 403 | </section> |
|
|
| 404 | <section> |
|
|
| 405 | <title>Configuring your Keyboard</title> |
|
|
| 406 | <body> |
|
|
| 407 | |
|
|
| 408 | <p> |
|
|
| 409 | To setup X to use an international keyboard, search for the <e>InputDevice</e> |
|
|
| 410 | section that configures the keyboard and add the <c>XkbLayout</c> option to |
|
|
| 411 | point to the keyboard layout you want. As an example, we show you how to apply |
|
|
| 412 | for the Belgian layout. Just substitute the country-keycode with yours: |
|
|
| 413 | </p> |
|
|
| 414 | |
|
|
| 415 | <pre caption="Changing the keyboard layout"> |
|
|
| 416 | Section "InputDevice" |
|
|
| 417 | Identifier "Generic Keyboard" |
|
|
| 418 | Driver "keyboard" |
|
|
| 419 | Option "CoreKeyboard" |
|
|
| 420 | Option "XkbRules" "xorg" |
|
|
| 421 | Option "XkbModel" "pc105" |
|
|
| 422 | <i>Option "XkbLayout" "be"</i> |
|
|
| 423 | EndSection |
657 | EndSection |
| 424 | </pre> |
658 | </pre> |
| 425 | |
659 | |
|
|
660 | <p> |
|
|
661 | Run X (<c>startx</c>) to discover it uses the resolution you want. |
|
|
662 | </p> |
|
|
663 | |
| 426 | </body> |
664 | </body> |
| 427 | </section> |
|
|
| 428 | <section> |
665 | </section> |
|
|
666 | <section> |
| 429 | <title>Configuring your Mouse</title> |
667 | <title>Configuring your keyboard</title> |
|
|
668 | <body> |
|
|
669 | |
|
|
670 | <p> |
|
|
671 | To setup X to use an international keyboard, you can copy the content of |
|
|
672 | <path>/usr/share/doc/hal-*/*/use-estonian-layout.fdi.bz2</path> to |
|
|
673 | <path>/etc/hal/fdi/policy/10-xinput-configuration.fdi</path>: |
|
|
674 | </p> |
|
|
675 | |
|
|
676 | <pre caption="Using an existing config file"> |
|
|
677 | # <i>bzcat /usr/share/doc/hal-*/*/use-estonian-layout.fdi.bz2 > /etc/hal/fdi/policy/10-xinput-configuration.fdi</i> |
|
|
678 | </pre> |
|
|
679 | |
|
|
680 | <p> |
|
|
681 | Now you can just edit <path>10-xinput-configuration.fdi</path> and change the |
|
|
682 | Estonian keyboard layout (<c>ee</c>) to your own, such as Great Britain |
|
|
683 | (<b>gb</b>) or Polish (<b>pl</b>). |
|
|
684 | </p> |
|
|
685 | |
|
|
686 | <p> |
|
|
687 | When you're finished, run <c>/etc/init.d/hald restart</c> as root to make sure |
|
|
688 | that HAL picks up your configuration file changes. |
|
|
689 | </p> |
|
|
690 | |
| 430 | <body> |
691 | </body> |
|
|
692 | </section> |
|
|
693 | <section> |
|
|
694 | <title>Finishing up</title> |
|
|
695 | <body> |
| 431 | |
696 | |
| 432 | <p> |
|
|
| 433 | If your mouse isn't working, you will first need to find out if it is detected |
|
|
| 434 | by the kernel at all. Mice are (device-wise) seen as |
|
|
| 435 | <path>/dev/input/mouse0</path> (or <path>/dev/input/mice</path> if you want to |
|
|
| 436 | use several mice). In some cases <path>/dev/psaux</path> is used. In either |
|
|
| 437 | case you can check if the devices do represent |
|
|
| 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>. |
|
|
| 441 | </p> |
697 | <p> |
| 442 | |
|
|
| 443 | <pre caption="Checking the device files"> |
|
|
| 444 | # <i>cat /dev/input/mouse0</i> |
|
|
| 445 | <comment>(Don't forget to press Ctrl-C to end this)</comment> |
|
|
| 446 | </pre> |
|
|
| 447 | |
|
|
| 448 | <p> |
|
|
| 449 | If your mouse isn't detected, verify if all the necessary modules are loaded. |
|
|
| 450 | </p> |
|
|
| 451 | |
|
|
| 452 | <p> |
|
|
| 453 | If your mouse is detected, fill in the device in the appropriate |
|
|
| 454 | <e>InputDevice</e> section. In the next example you'll see we also set two other |
|
|
| 455 | options: <c>Protocol</c> (which lists the mouse protocol to be used -- most |
|
|
| 456 | users will use PS/2 or IMPS/2) and <c>ZAxisMapping</c> (which allows for the |
|
|
| 457 | mousewheel (if applicable) to be used). |
|
|
| 458 | </p> |
|
|
| 459 | |
|
|
| 460 | <pre caption="Changing the mouse settings in Xorg"> |
|
|
| 461 | Section "InputDevice" |
|
|
| 462 | Identifier "TouchPad Mouse" |
|
|
| 463 | Driver "mouse" |
|
|
| 464 | Option "CorePointer" |
|
|
| 465 | <i>Option "Device" "/dev/input/mouse0"</i> |
|
|
| 466 | <i>Option "Protocol" "IMPS/2"</i> |
|
|
| 467 | <i>Option "ZAxisMapping" "4 5"</i> |
|
|
| 468 | EndSection |
|
|
| 469 | </pre> |
|
|
| 470 | |
|
|
| 471 | <p> |
|
|
| 472 | Run <c>startx</c> and be happy about the result :) Congratulations, you now |
698 | Run <c>startx</c> and be happy about the result. Congratulations, you now |
| 473 | (hopefully) have a working Xorg on your system. The next step is to remove this |
699 | (hopefully) have a working Xorg on your system. The next step is to install a |
| 474 | ugly lightweight window manager and use a high-feature one (or even a desktop |
700 | useful window manager or desktop environment such as KDE, GNOME, or |
| 475 | environment) such as KDE or GNOME, but that's not part of this guide :) |
701 | Xfce, but that's not part of this guide. |
| 476 | </p> |
702 | </p> |
| 477 | |
703 | |
| 478 | </body> |
704 | </body> |
| 479 | </section> |
705 | </section> |
| 480 | </chapter> |
706 | </chapter> |
|
|
707 | |
| 481 | <chapter> |
708 | <chapter> |
| 482 | <title>Resources</title> |
709 | <title>Resources</title> |
| 483 | <section> |
710 | <section> |
| 484 | <title>Creating and Tweaking xorg.conf</title> |
711 | <title>Creating and Tweaking xorg.conf</title> |
| 485 | <body> |
712 | <body> |
| 486 | |
713 | |
| 487 | <p> |
714 | <p> |
| 488 | First of all, <c>man 5 xorg.conf</c> provides a quick yet complete reference |
715 | First of all, <c>man xorg.conf</c> and <c>man evdev</c> provide quick yet |
| 489 | about the syntaxis used by the configuration file. Be sure to have it open on a |
716 | complete references about the syntax used by these configuration files. Be sure |
| 490 | terminal near you when you edit your configuration file! |
717 | to have them open on a terminal near you when you edit your configuration |
| 491 | </p> |
718 | files! |
| 492 | |
|
|
| 493 | <p> |
719 | </p> |
| 494 | A second point of resources on your system is the |
720 | |
| 495 | <path>/usr/X11R6/lib/X11/doc</path> directory with various <path>README</path>'s |
721 | <p> |
| 496 | for individual graphical chipsets. |
722 | Also, be sure to look at <path>/etc/X11/xorg.conf.example</path>; you may wish |
|
|
723 | to copy this and use it as a foundation for writing your own |
|
|
724 | <path>xorg.conf</path>. |
|
|
725 | </p> |
|
|
726 | |
|
|
727 | <p> |
|
|
728 | You may find the X.org <uri link="http://www.x.org/wiki/FAQ">FAQ</uri> provided |
|
|
729 | on their website, in addition to their other documentation. |
| 497 | </p> |
730 | </p> |
| 498 | |
731 | |
| 499 | <p> |
732 | <p> |
| 500 | There are also many online resources on editing <path>xorg.conf</path>. We only |
733 | There are also many online resources on editing <path>xorg.conf</path>. We only |
| 501 | list few of them here, be sure to <uri link="http://www.google.com">Google</uri> |
734 | list few of them here, be sure to <uri link="http://www.google.com">Google</uri> |
| 502 | for more :) As <path>xorg.conf</path> and <path>XF86Config</path> (the |
735 | for more. |
| 503 | configuration file for the XFree86 project) use the |
|
|
| 504 | same syntaxis for most configuration options and more information about |
|
|
| 505 | <path>XF86Config</path> is available, we'll list those resources as well. |
|
|
| 506 | </p> |
736 | </p> |
| 507 | |
|
|
| 508 | <ul> |
|
|
| 509 | <li> |
|
|
| 510 | <uri link="http://tldp.org/HOWTO/XFree-Local-multi-user-HOWTO/">The XFree |
|
|
| 511 | Local Multi-User HOWTO</uri> |
|
|
| 512 | </li> |
|
|
| 513 | <li> |
|
|
| 514 | <uri |
|
|
| 515 | link="http://www-106.ibm.com/developerworks/edu/os-dw-linuxxwin-i.html">An |
|
|
| 516 | Introduction to XFree 4.x</uri> by Chris Houser |
|
|
| 517 | </li> |
|
|
| 518 | </ul> |
|
|
| 519 | |
737 | |
| 520 | </body> |
738 | </body> |
| 521 | </section> |
739 | </section> |
| 522 | <section> |
740 | <section> |
| 523 | <title>Other resources</title> |
741 | <title>Other resources</title> |
| 524 | <body> |
742 | <body> |
| 525 | |
743 | |
| 526 | <p> |
744 | <p> |
| 527 | If you want to update your system from the old monolithic Xorg to the newer, |
745 | More information about installing and configuring various graphical desktop |
| 528 | modular Xorg 7, you should refer to the <uri |
746 | environments and applications can be found in the <uri |
| 529 | link="/proj/en/desktop/x/x11/modular-x-howto.xml">Migrating to Modular X |
747 | link="/doc/en/?catid=desktop">Gentoo Desktop Documentation Resources</uri> |
| 530 | HOWTO</uri>. |
748 | section of our documentation. |
| 531 | </p> |
|
|
| 532 | |
|
|
| 533 | <p> |
749 | </p> |
| 534 | More information about configuring different packages to work in X environment |
750 | |
| 535 | can be found in the <uri link="/doc/en/?catid=desktop">Gentoo Desktop |
751 | <p> |
| 536 | Documentation Resources</uri> section of our documentation. |
752 | If you're upgrading to <c>xorg-server</c> 1.8 from an earlier version, then be |
|
|
753 | sure to read the <uri |
|
|
754 | link="/proj/en/desktop/x/x11/xorg-server-1.8-upgrade-guide.xml">migration |
|
|
755 | guide</uri>. |
| 537 | </p> |
756 | </p> |
| 538 | |
757 | |
| 539 | </body> |
758 | </body> |
| 540 | </section> |
759 | </section> |
| 541 | </chapter> |
760 | </chapter> |