| 1 | <?xml version='1.0' encoding='UTF-8'?> |
1 | <?xml version='1.0' encoding='UTF-8'?> |
| 2 | <!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.44 2011/03/02 08:16:43 nightmorph Exp $ --> |
3 | <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/xorg-config.xml,v 1.45 2011/03/23 09:03:51 nightmorph Exp $ --> |
| 4 | |
4 | |
| 5 | <guide> |
5 | <guide> |
| 6 | <title>The X Server Configuration HOWTO</title> |
6 | <title>The X Server Configuration HOWTO</title> |
| 7 | |
7 | |
| 8 | <author title="Author"> |
8 | <author title="Author"> |
| … | |
… | |
| 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>6</version> |
25 | <version>7</version> |
| 26 | <date>2011-03-02</date> |
26 | <date>2011-03-23</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> |
| … | |
… | |
| 146 | <*> Framebuffer Console Support |
146 | <*> Framebuffer Console Support |
| 147 | </pre> |
147 | </pre> |
| 148 | |
148 | |
| 149 | <p> |
149 | <p> |
| 150 | Next, configure your kernel to use the proper KMS driver for your video card. |
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 |
151 | Intel, nVidia, and AMD/ATI are the most common cards, so follow code listing for |
| 152 | your card below. |
152 | your card below. |
| 153 | </p> |
153 | </p> |
| 154 | |
154 | |
| 155 | <p> |
155 | <p> |
| 156 | For Intel cards: |
156 | For Intel cards: |
| … | |
… | |
| 183 | [ ] Exclude Staging drivers from being built |
183 | [ ] Exclude Staging drivers from being built |
| 184 | <*> Nouveau (nVidia) cards |
184 | <*> Nouveau (nVidia) cards |
| 185 | </pre> |
185 | </pre> |
| 186 | |
186 | |
| 187 | <p> |
187 | <p> |
| 188 | For newer ATI cards (<uri link="/doc/en/ati-faq.xml">RadeonHD 2000 and |
188 | For newer AMD/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 |
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: |
190 | <c>radeon-ucode</c>, configure your kernel as shown: |
| 191 | </p> |
191 | </p> |
| 192 | |
192 | |
| 193 | <pre caption="ATI settings"> |
193 | <pre caption="AMD/ATI settings"> |
| 194 | <comment>(Setup the kernel to use the radeon-ucode firmware)</comment> |
194 | <comment>(Setup the kernel to use the radeon-ucode firmware)</comment> |
| 195 | Device Drivers ---> |
195 | Device Drivers ---> |
| 196 | Generic Driver Options ---> |
196 | Generic Driver Options ---> |
| 197 | [*] Include in-kernel firmware blobs in kernel binary |
197 | [*] Include in-kernel firmware blobs in kernel binary |
| 198 | <comment># RadeonHD 2000, 3000, and 4000 series cards:</comment> |
198 | <comment># RadeonHD 2000, 3000, and 4000 series cards:</comment> |
| … | |
… | |
| 250 | for ATI cards. Both have actively developed, well-supported open-source |
250 | for ATI cards. Both have actively developed, well-supported open-source |
| 251 | drivers. |
251 | drivers. |
| 252 | </p> |
252 | </p> |
| 253 | |
253 | |
| 254 | <note> |
254 | <note> |
| 255 | You may also try the proprietary drivers from nVidia and ATI, <c>nvidia</c> and |
255 | You may also try the proprietary drivers from nVidia and AMD/ATI, <c>nvidia</c> |
| 256 | <c>fglrx</c> respectively. However, setting up the proprietary drivers is |
256 | and <c>fglrx</c> respectively. However, setting up the proprietary drivers is |
| 257 | beyond the scope of this guide. Please read the <uri |
257 | beyond the scope of this guide. Please read the <uri |
| 258 | link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and <uri |
258 | link="/doc/en/nvidia-guide.xml">Gentoo Linux nVidia Guide</uri> and <uri |
| 259 | link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know which |
259 | link="/doc/en/ati-faq.xml">Gentoo Linux ATI FAQ</uri>. If you don't know which |
| 260 | drivers you should choose, refer to these guides for more information. |
260 | drivers you should choose, refer to these guides for more information. |
| 261 | </note> |
261 | </note> |
| … | |
… | |
| 286 | <pre caption="Sample make.conf entries"> |
286 | <pre caption="Sample make.conf entries"> |
| 287 | <comment>(For mouse, keyboard, and Synaptics touchpad support)</comment> |
287 | <comment>(For mouse, keyboard, and Synaptics touchpad support)</comment> |
| 288 | INPUT_DEVICES="evdev synaptics" |
288 | INPUT_DEVICES="evdev synaptics" |
| 289 | <comment>(For nVidia cards)</comment> |
289 | <comment>(For nVidia cards)</comment> |
| 290 | VIDEO_CARDS="nouveau" |
290 | VIDEO_CARDS="nouveau" |
| 291 | <comment>(OR, for ATI Radeon cards)</comment> |
291 | <comment>(For AMD/ATI cards)</comment> |
| 292 | VIDEO_CARDS="radeon" |
292 | VIDEO_CARDS="radeon" |
| 293 | </pre> |
293 | </pre> |
| 294 | |
294 | |
| 295 | <p> |
295 | <p> |
| 296 | If the suggested settings don't work for you, you should run <c>emerge -pv |
296 | If the suggested settings don't work for you, you should run <c>emerge -pv |
| … | |
… | |
| 319 | <p> |
319 | <p> |
| 320 | After setting all the necessary variables you can install the Xorg package. |
320 | After setting all the necessary variables you can install the Xorg package. |
| 321 | </p> |
321 | </p> |
| 322 | |
322 | |
| 323 | <pre caption="Installing Xorg"> |
323 | <pre caption="Installing Xorg"> |
|
|
324 | <comment>(Make sure udev is in your USE flags)</comment> |
|
|
325 | # <i>echo "x11-base/xorg-server udev" >> /etc/portage/package.use</i> |
|
|
326 | <comment>(Install Xorg)</comment> |
| 324 | # <i>emerge xorg-server</i> |
327 | # <i>emerge xorg-server</i> |
| 325 | </pre> |
328 | </pre> |
| 326 | |
329 | |
| 327 | <note> |
330 | <note> |
| 328 | You could install the <c>xorg-x11</c> metapackage instead of the more |
331 | You could install the <c>xorg-x11</c> metapackage instead of the more |
| … | |
… | |
| 332 | many different languages. They're not necessary for a working desktop. |
335 | many different languages. They're not necessary for a working desktop. |
| 333 | </note> |
336 | </note> |
| 334 | |
337 | |
| 335 | <p> |
338 | <p> |
| 336 | When the installation is finished, you will need to re-initialise some |
339 | When the installation is finished, you will need to re-initialise some |
| 337 | environment variables before you continue. Just run <c>env-update</c> followed |
340 | environment variables before you continue: |
| 338 | by <c>source /etc/profile</c> and you're all set. |
|
|
| 339 | </p> |
341 | </p> |
| 340 | |
342 | |
| 341 | <pre caption="Re-initialising the environment variables"> |
343 | <pre caption="Re-initialising the environment variables"> |
| 342 | # <i>env-update</i> |
344 | # <i>env-update</i> |
| 343 | # <i>source /etc/profile</i> |
345 | # <i>source /etc/profile</i> |
| 344 | </pre> |
346 | </pre> |
| 345 | |
347 | |
| 346 | <p> |
|
|
| 347 | Now it's time to start the Hardware Abstraction Layer (HAL) daemon and set it to |
|
|
| 348 | automatically start each time you boot. This is necessary to get a working X |
|
|
| 349 | environment, otherwise your input devices won't be detected and you'll probably |
|
|
| 350 | just get a blank screen. We'll cover HAL more in the <uri |
|
|
| 351 | link="#using_hal">next section</uri>. |
|
|
| 352 | </p> |
|
|
| 353 | |
|
|
| 354 | <pre caption="Starting HAL"> |
|
|
| 355 | # <i>/etc/init.d/hald start</i> |
|
|
| 356 | # <i>rc-update add hald default</i> |
|
|
| 357 | </pre> |
|
|
| 358 | |
|
|
| 359 | </body> |
348 | </body> |
| 360 | </section> |
349 | </section> |
| 361 | </chapter> |
350 | </chapter> |
| 362 | |
351 | |
| 363 | <chapter> |
352 | <chapter> |
| 364 | <title>Configuring Xorg</title> |
353 | <title>Configuring Xorg</title> |
| 365 | <section id="using_hal"> |
354 | <section> |
| 366 | <title>Using HAL</title> |
|
|
| 367 | <body> |
355 | <body> |
| 368 | |
356 | |
| 369 | <p> |
357 | <p> |
| 370 | The X server is designed to work out-of-the-box, with no need to manually edit |
358 | The X server is designed to work out-of-the-box, with no need to manually edit |
| 371 | Xorg's configuration files. |
359 | Xorg's configuration files. It should detect and configure devices such as |
| 372 | </p> |
360 | displays, keyboards, and mice. |
| 373 | |
|
|
| 374 | <p> |
361 | </p> |
|
|
362 | |
|
|
363 | <p> |
| 375 | You should first try <uri link="#using_startx">starting X</uri> without creating |
364 | You should first try <uri link="#using_startx">starting X</uri> without editing |
| 376 | <path>/etc/X11/xorg.conf</path>. |
365 | any configuration files. If Xorg won't start, or there's some other problem, |
| 377 | </p> |
366 | then you'll need to manually configure Xorg as shown in the next section. |
| 378 | |
|
|
| 379 | <p> |
367 | </p> |
| 380 | If Xorg won't start (if there's something wrong with the screen, or with your |
|
|
| 381 | keyboard/mouse), then you can try fixing problems by using the right |
|
|
| 382 | configuration files. |
|
|
| 383 | </p> |
|
|
| 384 | |
368 | |
| 385 | <p> |
|
|
| 386 | By default, Xorg uses HAL (Hardware Abstraction Layer) to detect and configure |
|
|
| 387 | devices such as keyboards and mice. |
|
|
| 388 | </p> |
|
|
| 389 | |
|
|
| 390 | <p> |
|
|
| 391 | HAL comes with many premade device rules, also called policies. These policy |
|
|
| 392 | files are available in <path>/usr/share/hal/fdi/policy/</path>. Just find a few |
|
|
| 393 | that suit your needs most closely and copy them to |
|
|
| 394 | <path>/etc/hal/fdi/policy/</path>. |
|
|
| 395 | </p> |
|
|
| 396 | |
|
|
| 397 | <impo> |
|
|
| 398 | Do not edit the files in <path>/usr/share/hal/fdi/</path>! Just copy the ones |
|
|
| 399 | you need, and edit them once they're placed in the proper <path>/etc</path> |
|
|
| 400 | location. |
|
|
| 401 | </impo> |
|
|
| 402 | |
|
|
| 403 | <p> |
|
|
| 404 | For example, to get a basic working keyboard/mouse combination, you could copy |
|
|
| 405 | the following files to <path>/etc/hal/fdi/policy/</path>: |
|
|
| 406 | </p> |
|
|
| 407 | |
|
|
| 408 | <pre caption="Using HAL policy files"> |
|
|
| 409 | # <i>cp /usr/share/hal/fdi/policy/10osvendor/10-input-policy.fdi /etc/hal/fdi/policy</i> |
|
|
| 410 | # <i>cp /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi /etc/hal/fdi/policy</i> |
|
|
| 411 | </pre> |
|
|
| 412 | |
|
|
| 413 | <p> |
|
|
| 414 | There are several other HAL policies in <path>/usr/share/hal/fdi/</path> that |
|
|
| 415 | may interest you, such as laptop configurations, storage device handling, power |
|
|
| 416 | management, and more. Just copy any of the policies to |
|
|
| 417 | <path>/etc/hal/fdi/policy/</path>. |
|
|
| 418 | </p> |
|
|
| 419 | |
|
|
| 420 | <impo> |
|
|
| 421 | Remember, <e>every</e> time you finish making changes to HAL policy files, you |
|
|
| 422 | need to restart the HAL daemon by running <c>/etc/init.d/hald restart</c>. |
|
|
| 423 | </impo> |
|
|
| 424 | |
|
|
| 425 | <p> |
|
|
| 426 | You can edit the policy files in <path>/etc/hal/fdi/policy</path> to your |
|
|
| 427 | liking. You may want to make a few tweaks or to expose additional |
|
|
| 428 | functionality. Let's go through an example of tweaking a HAL policy. |
|
|
| 429 | </p> |
|
|
| 430 | |
|
|
| 431 | <p> |
|
|
| 432 | One very convenient trick is to kill the X server entirely by pressing |
|
|
| 433 | Ctrl-Alt-Backspace. This is useful when your X server is malfunctioning, frozen, |
|
|
| 434 | etc. It's not as extreme as rebooting the whole machine with Ctrl-Alt-Del. |
|
|
| 435 | </p> |
|
|
| 436 | |
|
|
| 437 | <p> |
|
|
| 438 | Recent X server versions disabled this key combination by default. However, you |
|
|
| 439 | can reenable it by copying <path>10-x11-input.fdi</path> to |
|
|
| 440 | <path>/etc/hal/fdi/policy</path> and editing it. You'll need to add just one |
|
|
| 441 | line to the appropriate section, as shown below: |
|
|
| 442 | </p> |
|
|
| 443 | |
|
|
| 444 | <pre caption="Editing 10-x11-input.fdi"> |
|
|
| 445 | <comment>(Open the file in your preferred editor)</comment> |
|
|
| 446 | # <i>nano -w /etc/hal/fdi/policy/10-x11-input.fdi</i> |
|
|
| 447 | <comment>(Find the "input.keys" section)</comment> |
|
|
| 448 | <match key="info.capabilities" contains="input.keys"> |
|
|
| 449 | <comment>(Add the "terminate" merge string as shown)</comment> |
|
|
| 450 | <match key="info.capabilities" contains="input.keys"> |
|
|
| 451 | <merge key="input.x11_driver" type="string">keyboard</merge> |
|
|
| 452 | <i><merge key="input.xkb.options" type="string">terminate:ctrl_alt_bksp</merge></i> |
|
|
| 453 | <match key="/org/freedesktop/Hal/devices/computer:system.kernel.name" |
|
|
| 454 | string="Linux"> |
|
|
| 455 | <merge key="input.x11_driver" type="string">evdev<merge> |
|
|
| 456 | </match> |
|
|
| 457 | </match> |
|
|
| 458 | </pre> |
|
|
| 459 | |
|
|
| 460 | <p> |
|
|
| 461 | Once you're done, run <c>/etc/init.d/hald restart</c> so that HAL picks up your |
|
|
| 462 | changes. |
|
|
| 463 | </p> |
|
|
| 464 | |
|
|
| 465 | <p> |
|
|
| 466 | There, now you have a handy way of killing an unresponsive X server. This is |
|
|
| 467 | useful when programs have frozen your display entirely, or when configuring and |
|
|
| 468 | tweaking your Xorg environment. Be careful when killing your desktop with this |
|
|
| 469 | key combination -- most programs really don't like it when you end them this |
|
|
| 470 | way, and you may lose some (or all) of what you were working on. |
|
|
| 471 | </p> |
|
|
| 472 | |
|
|
| 473 | <p> |
|
|
| 474 | Hopefully just working with the HAL policy files results in a working X desktop. |
|
|
| 475 | If Xorg still won't start, or there's some other problem, then you'll need to |
|
|
| 476 | manually configure <path>xorg.conf</path> as shown in the next section. |
|
|
| 477 | </p> |
|
|
| 478 | |
|
|
| 479 | </body> |
369 | </body> |
| 480 | </section> |
|
|
| 481 | <section> |
370 | </section> |
|
|
371 | <section> |
| 482 | <title>The xorg.conf file</title> |
372 | <title>The xorg.conf.d directory</title> |
| 483 | <body> |
373 | <body> |
| 484 | |
374 | |
| 485 | <note> |
375 | <note> |
| 486 | Configuring <path>xorg.conf</path> should be seen as a "last resort" option. It |
376 | Configuring files in <path>xorg.conf.d</path> should be seen as a "last resort" |
| 487 | really desirable to run without one if possible, and to do all your |
377 | option. It really desirable to run without any special configuration if |
| 488 | configuration via HAL policy files. If you still can't get a working |
378 | possible. If you still can't get a working configuration, then read on. |
| 489 | configuration, then read on. |
|
|
| 490 | </note> |
379 | </note> |
| 491 | |
380 | |
| 492 | <p> |
381 | <p> |
| 493 | The configuration file of Xorg is called <path>xorg.conf</path> and it resides |
382 | The configuration files of Xorg are stored in |
| 494 | in <path>/etc/X11</path>. Xorg provides an example configuration as |
383 | <path>/etc/X11/xorg.conf.d/</path>. Each file is given a unique name and ends in |
| 495 | <path>/etc/X11/xorg.conf.example</path> which you can use to create your own |
384 | <path>.conf</path>. If the filenames start with a number, then Xorg will read |
| 496 | configuration. It is heavily commented, but if you are in need of more |
385 | the files in numeric order. <path>10-evdev.conf</path> will be read before |
| 497 | documentation regarding the syntax, don't hesitate to read the man page: |
386 | <path>20-synaptics.conf</path>, and so on. You don't <e>have</e> to give them |
| 498 | </p> |
387 | numbers, but it may help you organize them. |
| 499 | |
|
|
| 500 | <pre caption="Reading the xorg.conf man page"> |
|
|
| 501 | $ <i>man 5 xorg.conf</i> |
|
|
| 502 | </pre> |
|
|
| 503 | |
|
|
| 504 | </body> |
|
|
| 505 | </section> |
|
|
| 506 | <section> |
|
|
| 507 | <title>Automatic Generation of xorg.conf</title> |
|
|
| 508 | <body> |
|
|
| 509 | |
|
|
| 510 | <p> |
388 | </p> |
| 511 | Xorg itself is able to guess most parameters for you. In most cases, you |
|
|
| 512 | will only have to change some lines to get the resolution you want up and |
|
|
| 513 | running. If you are interested in more in-depth tweaking, be sure to check the |
|
|
| 514 | resources at the end of this chapter. But first, let us generate a (hopefully |
|
|
| 515 | working) Xorg configuration file. |
|
|
| 516 | </p> |
|
|
| 517 | |
389 | |
| 518 | <pre caption="Generating an xorg.conf file"> |
390 | <note> |
| 519 | # <i>Xorg -configure</i> |
391 | Xorg provides example configurations in |
| 520 | </pre> |
392 | <path>/usr/share/doc/xorg-server-${version}/xorg.conf.example.bz2</path>. You |
| 521 | |
393 | can use these to create your own configuration files in |
| 522 | <p> |
394 | <path>/etc/X11/xorg.conf.d/</path>. The examples are heavily commented, but if |
| 523 | Be sure to read the last lines printed on your screen when Xorg has finished |
395 | you are in need of more documentation regarding the syntax, read <c>man |
| 524 | probing your hardware. If it tells you it failed at some point, you're forced to |
396 | xorg.conf</c>. Other examples can be found in the <uri |
| 525 | manually write an <path>xorg.conf</path> file. Assuming that it didn't fail, it |
397 | link="#resources">Resources</uri> chapter at the end of this guide. |
| 526 | will have told you that it has written <path>/root/xorg.conf.new</path> ready |
398 | </note> |
| 527 | for you to test. So let's test. :) |
|
|
| 528 | </p> |
|
|
| 529 | |
|
|
| 530 | <pre caption="Testing the xorg.conf.new file"> |
|
|
| 531 | # <i>X -retro -config /root/xorg.conf.new</i> |
|
|
| 532 | </pre> |
|
|
| 533 | |
|
|
| 534 | <p> |
|
|
| 535 | If all goes well, you should see a simple black and white pattern. Verify if |
|
|
| 536 | your mouse works correctly and if the resolution is good. You might not be able |
|
|
| 537 | to deduce the exact resolution, but you should be able to see if it's too low. |
|
|
| 538 | You can exit any time by pressing Ctrl-Alt-Backspace. |
|
|
| 539 | </p> |
|
|
| 540 | |
|
|
| 541 | </body> |
|
|
| 542 | </section> |
|
|
| 543 | <section> |
|
|
| 544 | <title>Copying over xorg.conf</title> |
|
|
| 545 | <body> |
|
|
| 546 | |
|
|
| 547 | <p> |
|
|
| 548 | Let us copy over the <path>xorg.conf.new</path> to |
|
|
| 549 | <path>/etc/X11/xorg.conf</path> now, so we won't have to continuously run |
|
|
| 550 | <c>X -config</c> -- typing just <c>startx</c> is easier. :) |
|
|
| 551 | </p> |
|
|
| 552 | |
|
|
| 553 | <pre caption="Copying over xorg.conf"> |
|
|
| 554 | # <i>cp /root/xorg.conf.new /etc/X11/xorg.conf</i> |
|
|
| 555 | </pre> |
|
|
| 556 | |
399 | |
| 557 | </body> |
400 | </body> |
| 558 | </section> |
401 | </section> |
| 559 | <section id="using_startx"> |
402 | <section id="using_startx"> |
| 560 | <title>Using startx</title> |
403 | <title>Using startx</title> |
| 561 | <body> |
404 | <body> |
| 562 | |
405 | |
| 563 | <p> |
406 | <p> |
| 564 | Now try <c>startx</c> to start up your X server. <c>startx</c> is a script |
407 | Now try <c>startx</c> to start up your X server. <c>startx</c> is a script |
| 565 | that executes an <e>X session</e>, that is, it starts the X server and some |
408 | that executes an <e>X session</e>; that is, it starts the X server and some |
| 566 | graphical applications on top of it. It decides which applications to run |
409 | graphical applications on top of it. It decides which applications to run |
| 567 | using the following logic: |
410 | using the following logic: |
| 568 | </p> |
411 | </p> |
| 569 | |
412 | |
| 570 | <ul> |
413 | <ul> |
| … | |
… | |
| 588 | <pre caption="Starting X"> |
431 | <pre caption="Starting X"> |
| 589 | $ <i>startx</i> |
432 | $ <i>startx</i> |
| 590 | </pre> |
433 | </pre> |
| 591 | |
434 | |
| 592 | <p> |
435 | <p> |
| 593 | You can kill the X session by using the Ctrl-Alt-Backspace key combination. This |
|
|
| 594 | will, however, make X exit disgracefully -- something that you might not always |
|
|
| 595 | want. |
|
|
| 596 | </p> |
|
|
| 597 | |
|
|
| 598 | <p> |
|
|
| 599 | If you haven't yet installed a window manager, all you'll see is a black screen. |
436 | If you haven't yet installed a window manager, all you'll see is a black screen. |
| 600 | Since this can also be a sign that something's wrong, you may want to emerge |
437 | Since this can also be a sign that something's wrong, you may want to emerge |
| 601 | <c>twm</c> and <c>xterm</c> <e>only to test X</e>. |
438 | <c>twm</c> and <c>xterm</c> <e>only to test X</e>. |
| 602 | </p> |
439 | </p> |
| 603 | |
440 | |
| 604 | <p> |
441 | <p> |
| 605 | Once those two programs are installed, run <c>startx</c> again. A few xterm |
442 | Once those two programs are installed, run <c>startx</c> again. A few |
| 606 | windows should appear, making it easier to verify that X is working correctly. |
443 | <c>xterm</c> windows should appear, making it easier to verify that X is working |
| 607 | Once you're satisfied with the results, run <c>emerge --unmerge twm xterm</c> as |
444 | correctly. Once you're satisfied with the results, run <c>emerge --unmerge twm |
| 608 | root to get rid of the testing packages. You won't need them once you've setup a |
445 | xterm</c> as root to get rid of the testing packages. You won't need them once |
| 609 | proper desktop environment. |
446 | you've setup a proper desktop environment. |
| 610 | </p> |
447 | </p> |
| 611 | |
448 | |
| 612 | </body> |
449 | </body> |
| 613 | </section> |
450 | </section> |
| 614 | </chapter> |
451 | </chapter> |
| … | |
… | |
| 619 | <title>Setting your Resolution</title> |
456 | <title>Setting your Resolution</title> |
| 620 | <body> |
457 | <body> |
| 621 | |
458 | |
| 622 | <p> |
459 | <p> |
| 623 | If you feel that the screen resolution is wrong, you will need to check two |
460 | If you feel that the screen resolution is wrong, you will need to check two |
| 624 | sections in your <path>xorg.conf</path> configuration. First of all, you have |
461 | sections in your <path>xorg.conf.d</path> configuration. First of all, you have |
| 625 | the <e>Screen</e> section which lists the resolutions, if any that your X server |
462 | the <e>Screen</e> section which lists the resolutions that your X server will |
| 626 | will run at. By default, this section might not list any resolutions at all. If |
463 | run at. This section might not list any resolutions at all. If this is the case, |
| 627 | this is the case, Xorg will estimate the resolutions based on the information in |
464 | Xorg will estimate the resolutions based on the information in the second |
| 628 | the second section, <e>Monitor</e>. |
465 | section, <e>Monitor</e>. |
| 629 | </p> |
|
|
| 630 | |
|
|
| 631 | <p> |
466 | </p> |
| 632 | What happens is that Xorg checks the settings of <c>HorizSync</c> and |
|
|
| 633 | <c>VertRefresh</c> in the <e>Monitor</e> section to compute valid resolutions. |
|
|
| 634 | For now, leave these settings as-is. Only when the changes to the <e>Screen</e> |
|
|
| 635 | section (which we will describe in a minute) don't work, then you will need to |
|
|
| 636 | look up the specs for your monitor and fill in the correct values. |
|
|
| 637 | </p> |
|
|
| 638 | |
|
|
| 639 | <warn> |
|
|
| 640 | Do <b>not</b> "just" change the values of these two monitor related variables |
|
|
| 641 | without consulting the technical specifications of your monitor. Setting |
|
|
| 642 | incorrect values lead to out-of-sync errors at best and smoked up screens at |
|
|
| 643 | worst. |
|
|
| 644 | </warn> |
|
|
| 645 | |
467 | |
| 646 | <p> |
468 | <p> |
| 647 | Now let us change the resolution. In the next example from |
469 | Now let us change the resolution. In the next example from |
| 648 | <path>/etc/X11/xorg.conf</path> we add the <c>PreferredMode</c> line so that our |
470 | <path>/etc/X11/xorg.conf.d/40-monitor.conf</path> we add the |
| 649 | X server starts at 1440x900 by default. Don't mind the given strings -- they are |
471 | <c>PreferredMode</c> line so that our X server starts at 1440x900 by default. |
| 650 | examples and will most likely differ from the settings on your system. However, |
|
|
| 651 | the <c>Option</c> in the <c>Device</c> section must match the name of your |
472 | The <c>Option</c> in the <c>Device</c> section must match the name of your |
| 652 | monitor (<c>DVI-0</c>), which can be obtained by running <c>xrandr</c>. You'll |
473 | monitor (<c>DVI-0</c>), which can be obtained by running <c>xrandr</c>. You'll |
| 653 | need to <c>emerge xrandr</c> just long enough to get this information. The |
474 | need to <c>emerge xrandr</c> just long enough to get this information. The |
| 654 | argument after the monitor name (in the <c>Device</c> section) must match the |
475 | argument after the monitor name (in the <c>Device</c> section) must match the |
| 655 | <c>Identifier</c> in the <c>Monitor</c> section. |
476 | <c>Identifier</c> in the <c>Monitor</c> section. |
| 656 | </p> |
477 | </p> |
| 657 | |
478 | |
| 658 | <pre caption="Changing the Monitor section in /etc/X11/xorg.conf"> |
479 | <pre caption="Changing the Monitor section"> |
|
|
480 | # <i>nano -w /etc/X11/xorg.conf.d/40-monitor.conf</i> |
|
|
481 | |
| 659 | Section "Device" |
482 | Section "Device" |
| 660 | Identifier "RadeonHD 4550" |
483 | Identifier "RadeonHD 4550" |
| 661 | Option "Monitor-DVI-0" "DVI screen" |
484 | Option "Monitor-DVI-0" "DVI screen" |
| 662 | EndSection |
485 | EndSection |
| 663 | Section "Monitor" |
486 | Section "Monitor" |
| … | |
… | |
| 675 | <section> |
498 | <section> |
| 676 | <title>Multiple monitors</title> |
499 | <title>Multiple monitors</title> |
| 677 | <body> |
500 | <body> |
| 678 | |
501 | |
| 679 | <p> |
502 | <p> |
| 680 | You can configure more than one monitor in <path>/etc/X11/xorg.conf</path>. All |
503 | You can configure more than one monitor in <path>/etc/X11/xorg.conf.d/</path>. |
| 681 | you have to do is give each monitor an identifer, then list its physical |
504 | All you have to do is give each monitor an identifer, then list its physical |
| 682 | position, such as "RightOf" or "Above" another monitor. The following example |
505 | position, such as "RightOf" or "Above" another monitor. The following example |
| 683 | shows how to configure a DVI and a VGA monitor, with the VGA monitor as the |
506 | shows how to configure a DVI and a VGA monitor, with the VGA monitor as the |
| 684 | right-hand screen: |
507 | right-hand screen: |
| 685 | </p> |
508 | </p> |
| 686 | |
509 | |
| 687 | <pre caption="Configuring multiple monitors in xorg.conf"> |
510 | <pre caption="Configuring multiple monitors"> |
|
|
511 | # <i>nano -w /etc/X11/xorg.conf.d/40-monitor.conf</i> |
|
|
512 | |
| 688 | Section "Device" |
513 | Section "Device" |
| 689 | Identifier "RadeonHD 4550" |
514 | Identifier "RadeonHD 4550" |
| 690 | Option "Monitor-DVI-0" "DVI screen" |
515 | Option "Monitor-DVI-0" "DVI screen" |
| 691 | Option "Monitor-VGA-0" "VGA screen" |
516 | Option "Monitor-VGA-0" "VGA screen" |
| 692 | EndSection |
517 | EndSection |
| 693 | |
|
|
| 694 | Section "Monitor" |
518 | Section "Monitor" |
| 695 | Identifier "DVI screen" |
519 | Identifier "DVI screen" |
| 696 | EndSection |
520 | EndSection |
| 697 | |
|
|
| 698 | Section "Monitor" |
521 | Section "Monitor" |
| 699 | Identifier "VGA screen" |
522 | Identifier "VGA screen" |
| 700 | Option "RightOf" "DVI screen" |
523 | Option "RightOf" "DVI screen" |
| 701 | EndSection |
524 | EndSection |
| 702 | </pre> |
525 | </pre> |
| … | |
… | |
| 706 | <section> |
529 | <section> |
| 707 | <title>Configuring your keyboard</title> |
530 | <title>Configuring your keyboard</title> |
| 708 | <body> |
531 | <body> |
| 709 | |
532 | |
| 710 | <p> |
533 | <p> |
| 711 | To setup X to use an international keyboard, you can copy the content of |
534 | To setup X to use an international keyboard, you just have to create the |
| 712 | <path>/usr/share/doc/hal-*/*/use-estonian-layout.fdi.bz2</path> to |
535 | appropriate config file in <path>/etc/X11/xorg.conf.d/</path>. This example |
| 713 | <path>/etc/hal/fdi/policy/10-xinput-configuration.fdi</path>: |
536 | features a Czech keyboard layout: |
| 714 | </p> |
|
|
| 715 | |
|
|
| 716 | <pre caption="Using an existing config file"> |
|
|
| 717 | # <i>bzcat /usr/share/doc/hal-*/*/use-estonian-layout.fdi.bz2 > /etc/hal/fdi/policy/10-xinput-configuration.fdi</i> |
|
|
| 718 | </pre> |
|
|
| 719 | |
|
|
| 720 | <p> |
537 | </p> |
| 721 | Now you can just edit <path>10-xinput-configuration.fdi</path> and change the |
538 | |
| 722 | Estonian keyboard layout (<c>ee</c>) to your own, such as Great Britain |
539 | <pre caption="Using an international keyboard"> |
| 723 | (<b>gb</b>) or Polish (<b>pl</b>). |
540 | # <i>nano -w /etc/X11/xorg.conf.d/30-keyboard.conf</i> |
|
|
541 | |
|
|
542 | Section "InputClass" |
|
|
543 | Identifier "keyboard-all" |
|
|
544 | Driver "evdev" |
|
|
545 | Option "XkbLayout" "us,cz" |
|
|
546 | Option "XkbModel" "logitech_g15" |
|
|
547 | Option "XkbRules" "xorg" |
|
|
548 | Option "XkbOptions" "grp:alt_shift_toggle,grp:switch,grp_led:scroll,compose:rwin,terminate:ctrl_alt_bksp" |
|
|
549 | Option "XkbVariant" ",qwerty" |
|
|
550 | MatchIsKeyboard "on" |
|
|
551 | EndSection |
|
|
552 | </pre> |
|
|
553 | |
| 724 | </p> |
554 | <p> |
| 725 | |
555 | The "terminate" command (<c>terminate:ctrl_alt_bksp</c>) lets you kill the X |
| 726 | <p> |
556 | session by using the Ctrl-Alt-Backspace key combination. This will, however, |
| 727 | When you're finished, run <c>/etc/init.d/hald restart</c> as root to make sure |
557 | make X exit disgracefully -- something that you might not always want. It can be |
| 728 | that HAL picks up your configuration file changes. |
558 | useful when programs have frozen your display entirely, or when you're |
|
|
559 | configuring and tweaking your Xorg environment. Be careful when killing your |
|
|
560 | desktop with this key combination -- most programs really don't like it when you |
|
|
561 | end them this way, and you may lose some (or all) of what you were working on. |
| 729 | </p> |
562 | </p> |
| 730 | |
563 | |
| 731 | </body> |
564 | </body> |
| 732 | </section> |
565 | </section> |
| 733 | <section> |
566 | <section> |
| … | |
… | |
| 735 | <body> |
568 | <body> |
| 736 | |
569 | |
| 737 | <p> |
570 | <p> |
| 738 | Run <c>startx</c> and be happy about the result. Congratulations, you now |
571 | Run <c>startx</c> and be happy about the result. Congratulations, you now |
| 739 | (hopefully) have a working Xorg on your system. The next step is to install a |
572 | (hopefully) have a working Xorg on your system. The next step is to install a |
| 740 | useful window manager or desktop environment such as KDE, GNOME, or |
573 | useful window manager or desktop environment such as KDE, GNOME, or Xfce, but |
| 741 | Xfce, but that's not part of this guide. |
574 | that's not part of this guide. Information on installing these desktop |
|
|
575 | environments can be found in our <uri link="/doc/en/?catid=desktop">Gentoo |
|
|
576 | Desktop Documentation Resources</uri>. |
| 742 | </p> |
577 | </p> |
| 743 | |
578 | |
| 744 | </body> |
579 | </body> |
| 745 | </section> |
580 | </section> |
| 746 | </chapter> |
581 | </chapter> |
| 747 | |
582 | |
| 748 | <chapter> |
583 | <chapter id="resources"> |
| 749 | <title>Resources</title> |
584 | <title>Resources</title> |
| 750 | <section> |
585 | <section> |
| 751 | <title>Creating and Tweaking xorg.conf</title> |
586 | <title>Creating and editing config files</title> |
| 752 | <body> |
587 | <body> |
| 753 | |
588 | |
| 754 | <p> |
589 | <p> |
| 755 | First of all, <c>man xorg.conf</c> and <c>man evdev</c> provide quick yet |
590 | First of all, <c>man xorg.conf</c> and <c>man evdev</c> provide quick yet |
| 756 | complete references about the syntax used by these configuration files. Be sure |
591 | complete references about the syntax used by these configuration files. Be sure |
| 757 | to have them open on a terminal near you when you edit your configuration |
592 | to have them open on a terminal when you edit your configuration files! |
| 758 | files! |
|
|
| 759 | </p> |
|
|
| 760 | |
|
|
| 761 | <p> |
593 | </p> |
| 762 | Also, be sure to look at <path>/etc/X11/xorg.conf.example</path>; you may wish |
594 | |
| 763 | to copy this and use it as a foundation for writing your own |
|
|
| 764 | <path>xorg.conf</path>. |
|
|
| 765 | </p> |
595 | <p> |
| 766 | |
|
|
| 767 | <p> |
|
|
| 768 | You may find the X.org <uri link="http://www.x.org/wiki/FAQ">FAQ</uri> provided |
|
|
| 769 | on their website, in addition to their other documentation. |
|
|
| 770 | </p> |
|
|
| 771 | |
|
|
| 772 | <p> |
|
|
| 773 | There are also many online resources on editing <path>xorg.conf</path>. We only |
596 | There are also many online resources on editing config files in |
| 774 | list few of them here, be sure to <uri link="http://www.google.com">Google</uri> |
597 | <path>/etc/X11/</path>. We only list few of them here; be sure to <uri |
| 775 | for more. |
598 | link="http://www.google.com">Google</uri> for more. |
| 776 | </p> |
599 | </p> |
| 777 | |
600 | |
| 778 | </body> |
601 | </body> |
| 779 | </section> |
602 | </section> |
| 780 | <section> |
603 | <section> |
| … | |
… | |
| 787 | link="/doc/en/?catid=desktop">Gentoo Desktop Documentation Resources</uri> |
610 | link="/doc/en/?catid=desktop">Gentoo Desktop Documentation Resources</uri> |
| 788 | section of our documentation. |
611 | section of our documentation. |
| 789 | </p> |
612 | </p> |
| 790 | |
613 | |
| 791 | <p> |
614 | <p> |
| 792 | If you're upgrading to <c>xorg-server</c> 1.8 from an earlier version, then be |
615 | If you're upgrading to <c>xorg-server</c> 1.9 from an earlier version, then be |
| 793 | sure to read the <uri |
616 | sure to read the <uri |
| 794 | link="/proj/en/desktop/x/x11/xorg-server-1.8-upgrade-guide.xml">migration |
617 | link="/proj/en/desktop/x/x11/xorg-server-1.9-upgrade-guide.xml">migration |
| 795 | guide</uri>. |
618 | guide</uri>. |
|
|
619 | </p> |
|
|
620 | |
|
|
621 | <p> |
|
|
622 | X.org provides many <uri link="http://www.x.org/wiki/FAQ">FAQs</uri> on their |
|
|
623 | website, in addition to their other documentation. |
| 796 | </p> |
624 | </p> |
| 797 | |
625 | |
| 798 | </body> |
626 | </body> |
| 799 | </section> |
627 | </section> |
| 800 | </chapter> |
628 | </chapter> |