Przed rozpoczęciem konfiguracji X11 potrzebne nam będą następujące informacje o docelowym systemie:
Parametry monitora
Rodzaj chipsetu karty graficznej
Rozmiar pamięci karty graficznej
Parametry monitora są wykorzystywane przez X11 do określenia rozdzielczości i częstotliwości odświeżania ekranu, na jakich ma pracować. Parametry te można z reguły odczytać z dokumentacji dostarczonej wraz z monitorem bądź ze strony producenta. Potrzebne są dwa przedziały liczbowe: częstotliwość odchylania poziomego oraz częstotliwość synchronizacji pionowej.
Od rodzaju chipsetu karty graficznej zależy który moduł X11 wykorzysta do komunikacji z kartą graficzną. W większości przypadków możliwe jest automatyczne wykrycie rodzaju chipsetu. Tym nie mniej warto jest go znać, na wypadek gdyby autodetekcja nie powiodła się.
Rozmiar pamięci karty graficznej wpływa bezpośrednio na rozdzielczość i głębię kolorów, przy których system będzie pracował. Informacja ta jest istotna, by użytkownik znał ograniczenia systemu w tym zakresie.
Konfiguracja X11 jest procesem składającym się z kilku kroków.
Pierwszym z nich jest przygotowanie wstępnego pliku konfiguracyjnego.
Wystarczy jako użytkownik root
wpisać:
#
Xorg -configure
Wygeneruje to szkielet konfiguracji X11 w katalogu
/root
, w pliku o nazwie
xorg.conf.new
(niezależnie czy skorzystaliśmy z su(1)
czy zalogowaliśmy się bezpośrednio na konto, plik zostanie utworzony w katalogu
zdefiniowanym w zmiennej $HOME
dla użytkownika
root
). X11 spróbuje wykryć parametry
sprzętu graficznego zainstalowanego w komputerze
i zapisać plik konfiguracyjny, by przy starcie serwera X
były ładowane właściwe sterowniki dla wykrytego sprzętu.
Kolejnym krokiem jest przetestowanie konfiguracji i sprawdzenie czy Xorg jest w stanie współpracować ze sprzętem graficznym w systemie. W tym celu należy wpisać:
#
Xorg -config xorg.conf.new
Jeśli na ekranie pojawi się siatka złożona z czarnych i szarych elementów, a także kursor myszy w kształcie litery X, oznaczać to będzie, że X11 został skonfigurowany poprawnie. By wyłączyć ekran testowy wystarczy wcisnąć kombinację klawiszy Ctrl+Alt+Backspace.
Jeśli okaże się, że kursor nie reaguje na ruchy myszy będziemy musieli wpierw ją skonfigurować. Sekcja 2.9.10, „Ustawienia myszki” rozdziału „Instalacja FreeBSD” zawiera szczegółowe informacje na ten temat.
Następnym krokiem jest dostrojenie konfiguracji pliku xorg.conf.new
do naszych upodobań. Otwórzmy plik w edytorze tekstu, np.
w emacs(1) bądź ee(1). Wpierw powinniśmy dodać częstotliwości
z jakimi może pracować nasz monitor. Z reguły określane są jako częstotliwości
synchronizacji pionowej i poziomej. Wartości te są dodawane
do pliku xorg.conf.new
w sekcji
"Monitor"
:
Section "Monitor" Identifier "Monitor0" VendorName "Monitor Vendor" ModelName "Monitor Model" HorizSync 30-107 VertRefresh 48-120 EndSection
Słów kluczowych HorizSync
i
VertRefresh
może brakować w pliku konfiguracyjnym.
Jeśli tak jest, można je śmiało dodać wpisując właściwą wartość częstotliwości
odchylania poziomego zaraz po HorizSync
oraz
wartość częstotliwości synchronizacji pionowej po VertRefresh
.
W powyższym przykładzie wartości te zostały wpisane.
X umożliwia również korzystanie z funkcji DPMS (Energy Star), jeśli dysponujemy monitorem zgodnym z tym standardem. Program xset(1) kontroluje limity czasowe i może wymusić tryb oczekiwania, zawieszenia czy tryby wyłączania. Jeśli chcemy włączyć funkcje DPMS dla naszego monitora, musimy dodać poniższy wiersz w sekcji monitora:
Option "DPMS"
Mając wciąż otwarty w edytorze plik xorg.conf.new
wybierzmy domyślną
rozdzielczość i głębię kolorów. Parametry te definiowane są w sekcji
"Screen"
:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1024x768" EndSubSection EndSection
Słowo kluczowe DefaultDepth
odnosi się do domyślnej głębi
kolorów. Opcja ta może być zmieniona za pomocą parametru
-depth
polecenia Xorg(1).
Słowo kluczowe Modes
odnosi się do rozdzielczości, w której
ma pracować serwer X dla danej głębi kolorów. Należy zwrócić uwagę, iż dostępne
są jedynie standardowe tryby VESA, zgodne ze sprzętem graficznym instalowanym w danym
systemie. W powyższym przykładzie, domyślna głębia kolorów to dwadzieścia cztery
bity na piksel. Przy tej głębi dostępna jest rozdzielczość
1024 na 768 pikseli.
Możemy w końcu zapisać plik konfiguracyjny i sprawdzić go wykorzystując podany powyżej tryb testowy.
Jednym z pomocnych narzędzi w radzeniu sobie z problemami
są pliki dzienników X11, zawierające informacje odnośnie każdego
urządzenia, do którego jest podłączony serwer X11.
Nazwy plików dzienników Xorg wykorzystują
format /var/log/Xorg.0.log
. Dokładna nazwa pliku
dziennika może być różna w zakresie od Xorg.0.log
do
Xorg.8.log
.
Jeśli test wypadł dobrze, należy zainstalować plik konfiguracyjny
w miejscu gdzie Xorg(1) będzie
w stanie go znaleźć. Z reguły jest to /etc/X11/xorg.conf
lub /usr/X11R6/etc/X11/xorg.conf
.
#
cp xorg.conf.new /etc/X11/xorg.conf
Proces konfiguracji X11 dobiegł końca. Xorg można uruchomić za pomocą pomocą polecenia startx(1). Serwer X11 może być również uruchamiany wykorzystując xdm(1).
Dostępny jest również graficzny konfigurator -
xorgcfg(1) -
dostarczany razem z dystrybucją X11. Pozwala on nam interaktywnie zdefiniować
naszą konfigurację wybierając odpowiednie sterowniki i ustawienia.
Program ten można uruchomić z konsoli wpisując polecenie
xorgcfg -textmode
. Więcej szczegółów zawiera
strona podręcznika systemowego xorgcfg(1).
Istnieje również, jako alternatywa, program xorgconfig(1), będący aplikacją konsolową, mniej przyjazną dla początkujących użytkowników, jednakże przydatną w sytuacjach gdy inne narzędzia nie działają poprawnie.
Konfiguracja ze zintegrowanym chipsetem Intel® i810 wymaga wykorzystania
interfejsu programowego AGP agpgart
do obsługi karty
w X11. Więcej informacji można znaleźć w podręczniku systemowym sterownika
agp(4).
Pozwoli to nam skonfigurować naszą kartę graficzną jak każdą inną.
W tym momencie należy zwrócić uwagę na fakt, iż w systemach bez agp(4)
wkompilowanego w jądro, próba załadowania modułu za pomocą
kldload(8) nie powiedzie się. Sterownik ten musi być obecny
w jądrze w trakcie uruchamiania systemu poprzez wkompilowanie go
bądź załadowanie za pomocą /boot/loader.conf
.
Sekcja ta zakłada, że posiadamy odrobinę wiedzy o zaawansowanej konfiguracji X11. Jeśli próby wykorzystania opisanych wyżej standardowych narzędzi konfiguracyjnych nie powiodły się, w plikach dzienników znajdziemy dostateczną ilość informacji pomocnych w uruchomieniu X z monitorem szerokokątnym. Będziemy musieli wykorzystać dowolny edytor teksu.
Obecne formaty szerokokątne (WSXGA, WSXGA+, WUXGA, WXGA, WXGA+, itd.) obsługują formaty 16:10 oraz 10:9 bądź o innych proporcjach obrazu, które mogą stworzyć problemy w trakcie konfiguracji X. Niektórymi z powszechnie wykorzystywanych rozdzielczości ekranu dla proporcji 16:10 są:
2560x1600
1920x1200
1680x1050
1440x900
1280x800
W pewnym momencie będzie to tak proste jak dodanie którejś z tych
rozdzielczości jako możliwych trybów Mode
w
Section "Screen"
, jak np.:
Section "Screen" Identifier "Screen0" Device "Card0" Monitor "Monitor0" DefaultDepth 24 SubSection "Display" Viewport 0 0 Depth 24 Modes "1680x1050" EndSubSection EndSection
Tym nie mniej Xorg jest na tyle sprytny, że potrafić pozyskać informacje o rozdzielczości ekranu monitora szerokokątnego za pomocą I2C/DDC w taki sposób, że wie jakie rozdzielczości potrafi obsłużyć monitor w kwestii częstotliwości i rozdzielczość.
Jeśli odpowiednie wpisy ModeLine
nie istnieją w sterownikach,
będziemy musieli podpowiedzieć co nieco serwerowi Xorg.
Z pliku /var/log/Xorg.0.log
możemy wydobyć dostateczną
ilość informacji, by móc ręcznie stworzyć poprawnie obsługiwany
ModeLine
. Wystarczy odnaleźć zapis podobny do:
(II) MGA(0): Supported additional Video Mode: (II) MGA(0): clock: 146.2 MHz Image Size: 433 x 271 mm (II) MGA(0): h_active: 1680 h_sync: 1784 h_sync_end 1960 h_blank_end 2240 h_border: 0 (II) MGA(0): v_active: 1050 v_sync: 1053 v_sync_end 1059 v_blanking: 1089 v_border: 0 (II) MGA(0): Ranges: V min: 48 V max: 85 Hz, H min: 30 H max: 94 kHz, PixClock max 170 MHz
Jest to tzw. informacja EDID. Stworzenie na jej podstawie
ModeLine
jest zaledwie kwestią
wpisania we właściwej kolejności kilku liczb:
ModeLine <name> <clock> <4 horiz. timings> <4 vert. timings>
Tak więc wpis ModeLine
w Section "Monitor"
dla tego przykładu wyglądałby następująco:
Section "Monitor" Identifier "Monitor1" VendorName "Bigname" ModelName "BestModel" ModeLine "1680x1050" 146.2 1680 1784 1960 2240 1050 1053 1059 1089 Option "DPMS" EndSection
Po tych kilku prostych zmianach X powinien zacząć działać poprawnie z naszym szerokokątnym monitorem.
All FreeBSD documents are available for download at http://ftp.FreeBSD.org/pub/FreeBSD/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.