# Konfiguracja Xorg

## SlashBeast

Wersja bardzo robocza. Dyskusja do tego tematu odbywa sie w innym temacie.

Xorg nie potrzebuje xorg.conf.

Wiekszosc dodatkowej konfiguracji umieszczasz w plikach w /etc/X11/xorg.conf.d/. To, czego sie w nich nie znajdzie, Xorg sam sobie dorobi. Dlatego tez nie ma potrzeby tworzenia calego xorg.conf jezeli tylko chcemy dodac jedna opcje dla karty graficnej.

Proste srodowisko do testow.

Jezeli masz problem z Xami, najpierw postaraj sie je doprowadzic do uzywalnosci z czyms prostym, jak sam manager okien i np. terminal. Nie staraj sie odrazu odpalic KDE czy Gnome i potem sie zastanawiac, dlaczego mapa klawiszy jest zla, czy to wina konfiguracji Xow, czy Gnome po prostu sam sobie to przestawil.

Czarny ekran po 'startx' wcale nie oznacza, ze Xy nie dzialaja.

Kiedys xorg mial domyslnie szare tlo po starcie, na ten moment jest to czarne. Jezeli po startx masz czarny ekran i nie masz kursora, bardzo prawdopodobne, ze wystartowaly Xy natomiast nie ma zadnych inputow (myszka, klawiatura, touchscreen czy touchpad). To, co istotne, to /var/log/Xorg.0.log, tam bedzie wszystko napisane.

Sterowniki

Z najbardziej podstawowych inputow to potrzebny nam bedzie evdev (zapewnia wsparcie dla klawiatur i myszek) i np. synaptics dla touchpada, jezeli takowego posiadamy. Z kart graficznych to juz raczej wiecie co macie. Jezeli macie komputer z Nvidia Optimus i w biosie nie mozecie wybrac 'nvidia only' (malo jaki bios na to pozwala) to musicie zaopatrzyc sie w sterowniki intela bo na nim beda startowaly Xy. Przyklad dla netbooka z Optimusem, w ktorym w ogole karta nvidii nie bedzie uzyta (potem wylaczona bedzie przez acpi_call). Do make.conf dodac nalezy:

```
VIDEO_CARDS="intel"

INPUT_DEVICES="synaptics evdev"
```

I zbudowac podstawowy zestaw testowy:

```
emerge xorg-server xterm fluxbox
```

Tworzymy katalog /etc/X11/xorg.conf.d a w nim nastepujace pliki konfiguracyjne

keyboard.conf z polska mapa klawiatury:

```
Section "InputClass"

   Identifier   "keyboard-all"

   Option      "XkbOptions"  "lv3:ralt_switch_multikey" 

   Driver      "evdev"

   Option      "XkbRules"  "xorg"

   Option      "XkbModel"  "pc105"

   Option      "XkbLayout" "pl"

   MatchIsKeyboard   "on"

EndSection
```

Note: jezeli masz problem z wprowadzaniem polskich znakow, upewnij sie, ze locale nie zwraca 'C'. Dla przykladu jezeli ustawisz lokale na dowolne ktore pozwala na polskie znaki np. en_US.UTF-8 polskie znaki beda dzialac.

mouse.conf z wylaczona akceleracja:

```
Section "InputClass"

   Identifier   "mouse-all"

   Driver      "evdev"

   Option      "AccelerationProfile"   "-1"

   Option      "AccelerationScheme"   "none"

   MatchIsPointer "on"

EndSection

```

synaptics.conf konfiguracja touchpada z two finger scrolling i tak dalej.

```
Section "InputClass"

   Identifier   "touchpad catchall"

   Driver      "synaptics"

   Option      "LeftEdge"      "1700"

   Option      "RightEdge"      "5300"

        Option      "TopEdge"      "1700"

        Option      "BottomEdge"      "4200"

        Option      "FingerLow"      "25"

        Option      "FingerHigh"      "30"

        Option      "MaxTapTime"      "180"

        Option      "MaxTapMove"      "220"

        Option      "VertScrollDelta"   "100"

        Option      "MinSpeed"      "0.7"

        Option      "MaxSpeed"      "0.8"

        Option      "AccelFactor"      "0.0010"

        Option      "SHMConfig"      "on"

        Option      "VertTwoFingerScroll"   "1"

        Option      "HorizTwoFingerScroll"   "1"

        Option      "TapButton1"      "1"

   MatchIsTouchpad   "on"

   MatchDevicePath   "/dev/input/event*"

EndSection
```

I to wszystko, co jest potrzebne. Nazwy plikow w xorg.conf.d nie maja znaczenia, grunt, by konczyly sie na .conf.

Jak testowac?

Ja najczesciej loguje sobie root'a na drugiej wirtualnej konsoli (tty2) i wpisuje tam:

```
sleep 30; killall X
```

Po czym wracam na tty 1 i daje startx. Jezeli Xy wystartuja ale bez inputow i nie bede wstanie wylaczyc ich, po 30 sekundach zostana zabite a ja wroce do konsoli.

Do testow polecam przygotowac sobie np. openboksa czy fluxboksa i xterm. w ~/.xinitrc wrzucic:

```
xterm &

fluxbox
```

Teraz 'startx' i ogien, powodzenia.

----------

