SPIS TRESCI:
Kod: Zaznacz cały
1. Wstęp
2. Generowanie Modeline przy użyciu gtf
3. Zintegrowane układy Intela (855, 865, 915)
3. Podsumowanie
Jak ogólnie wiadomo praca przy ,,słabym'' odświeżaniu potrafi być strasznie męcząca (o niekorzystnym wpływie na oczy nie wspomnę). Zauważyłem, że na forum często pojawiają się pytania o odświeżanie, a w samym FAQ takowy wątek się nie znajduje. Postaram się zapchać tę dziurę.
2. Generowanie Modeline przy użyciu gtf
Serwer Xorg posiada wbudowane standardowe tryby VESA, aczkolwiek nie są one zazwyczaj wystarczające (przynajmniej na nowszych monitorach).
gtf (man gtf) to narzędzie służące do obliczania trybów VESA GTF, które następnie można użyć do wymuszenia niestandardowych trybów. Oznacza to nic innego jak to, że możemy sobie sami wybrać odświeżanie dla naszego monitora (dla każdej z wybranych rozdzielczości).
Jak to wygląda w praktyce - tzw. Modeline generujemy w sposób następujący:
Kod: Zaznacz cały
gtf h-res v-res odświeżanie -x
h-res, v-res -- rozdzielczość;
odświeżanie -- wiadome;
-x -- xorgmode; wyświetla Modeliny w formacie Xorg (istnieje opcja -f -- format wyjściowy będzie przystosowany do fbset)
Na przyklad:
*) rozdzielczość 1024x768 i odświeżanie 110Hz:
Kod: Zaznacz cały
gtf 1024 768 110 -x
Kod: Zaznacz cały
# 1024x768 @ 110.00 Hz (GTF) hsync: 90.09 kHz; pclk: 125.41 MHz
Modeline "1024x768_110.00" 125.41 1024 1096 1208 1392 768 769 772 819 -HSync +Vsync
UWAGA: Jeśli przekombinujesz z hsync, tj. użyjesz Modeline z hsync wyższym niż możliwości twojego monitora, to może on ulec uszkodzeniu (trwałemu!!!).
Kolumna w cudzysłowiach (ta bezpośrednio po Modeline) jest niczym innym jak nazwą trybu. Można tutaj stosować różne wygibasy, aczkolwiek chyba najbardziej informacyjna jest wersja podobna do tej wyrzucanej przez gtf, tj. HRESxVRES@REFRESH. Z góry przestrzegam przed ,,nadpisywaniem'' trybów VESA (używaniem nazw typu "1024x768"), powinno to działać bez problemów, ale jak się okazuje w praktyce, nie zawsze tak jest.
Jesli mamy wygenerowane interesujące nas Modeline(y), to umieszczamy je w Section "Monitor" pliku konfiguracyjnego (/etc/X11/xorg.conf). U mnie to wygląda tak:
Kod: Zaznacz cały
Section "Monitor"
Identifier "Eizo"
VendorName "DPC"
ModelName "4570"
Option "DPMS"
HorizSync 30.0 - 95.0
VertRefresh 50.0 - 160.0
Modeline "1280x1024@85" 159.36 1280 1376 1512 1744 1024 1025 1028 1075 -HSync +Vsync
Modeline "1024x768@110" 125.41 1024 1096 1208 1392 768 769 772 819 -HSync +Vsync
Modeline "800x600@140" 99.16 800 856 944 1088 600 601 604 651 -HSync +Vsync
Modeline "640x480@175" 81.93 640 688 760 880 480 481 484 532 -HSync +Vsync
EndSection
Kod: Zaznacz cały
SubSection "Display"
Viewport 0 0
Depth 24
Modes "1280x1024@85" "1024x768@110" "800x600@140" "640x480@175"
ViewPort 0 0
EndSubSection
3. Zintegrowane układy Intela (855, 865, 915)
Sprawa ze zintegrowanymi (onboard) układami graficznymi Intela wygląda troche innaczej. Mają one niekompletny VBIOS (raczej uszkodzony) i dlatego ustawienie niestandardowych rozdzielczości (odświeżania dla nich) wygląda troche innaczej. Trzeba będzie posłużyć się narzędziem 855resolution, którego autorem jest Alain Poirier.
Istnieje również bardziej zaawansowana wersja 855resolution (bazująca na tym kodzie) -- 915resolution, która jest rozszerzeniem na wszystkie układy serii 800 i 900.
Po więcej informacji na temat użycia wyżej wymienionych narzędzi odsyłam na strony domowe projektów.
3. Podsumowanie
Jak widać generowanie Modeline nie jest dramatycznie skomplikowane. Zamiast gtf można skorzystać z tej stronki (wygrzebane z postu ogro), ale nie ręcze za poprawność wygenerowanych tam Modeline (nie używałem).
autor: difrost