Tekst ten w żaden
sposób nie jest czymś na wzór HOWTO. Powstał on na potrzeby
autora i
opisuje w jaki sposób autor uzyskał wyższą rozdzielczość na
swojej maszynie (i nie tylko), na przykładzie FreeBSD 4.8-S,
posiadając karty graficzne: RivaTNT2 (jedna maszyna), GeForce
(druga maszyna). Dlatego też (starym
zwyczajem), autor nie bierze na siebie żadnej
odpowiedzialności za ewentuale problemy wynikające z
przeczytania niniejszego txt..;>
Należy także dodać,
że autor nie przypisuje sobie do niego żadnych praw
autorskich (i podobnych), gdyż powstał on na podstawie
trzydziestominutowego goglania. Jest to naturalna kolej rzeczy - nie
wiesz czegoś to szukasz..;]
Bufor ramki znany
także jako framebuffer pozwala zwiększyć rozdzielczość
konsoli ze standardowej 640x480 na większą. Zaletą tego
rozwiązania jest "zaoszczędzenie" miejsca na monitorze dzięki
czemu widzimy znacznie więcej niż przy trybie 80 na 25 znaków
(ma to niewątpliwie swoje zalety - choćby klikanie pod irssi ze znajomymi). Należy dodać, iż
sposób wkompilowania go w jądro nie nastręcza większych
problemów, a ilość kart graficznych potrafiących obsłużyć
bufor ramki jest bardzo duża co sprawia, że tylko nieliczni -
mający starsze karty - będą mieć problemy.
Do osiągnięcia
zamierzonego celu musimy poddać edycji plik naszego jądra po
czym je ponownie zainstalować. Samego procesu kompilacji
jądra nie będę tu opisywał, gdyż jest tego dużo w Sieci.
Jeden z wielu opisów znajduje się pod tym adresem. Tak jak powyżej, edytujemy plik
konfiguracyjny jądra dodając następujące wpisy:
|
junior# vi
BARTEK
|
|
options
VGA_WIDTH90
|
|
options VESA
|
|
options
SC_PIXEL_MODE
|
Jeśli jesteś
ciekawy za co poszczególne opcje odpowiadają częściową
odpowiedź znajdziesz w pliku o nazwie LINT. Zapisujemy
zedytowany plik i przystępujemy do kompilacji. Nie powinno to
zająć zbyt wiele czasu (w zależności jaką maszyną
dysponujemy). Po zakończonym procesie instalacji nowego
kernela robimy shutdown -r now, czekamy aż maszyna
"powstanie", logujemy się i sprawdzamy czy to co robiliśmy
powyżej faktycznie działa. Wykonujemy to pisząc z linii
komend:
|
junior# vidcontrol -c
destructive -g 100x37 VESA_800x600
|
Jeśli wszystko
poszło po myśli nie pozostaje nam nic innego jak zainicjować
obslugiwanie framebuffer-a na wszystkich dostępnych konsolach
podczas startu systemu. W /etc/rc.conf dodajemy
wpis:
|
allscreen_flags="-c
destructive -g 100x37 VESA_800x600"
|
i cieszymy się
dobrodziejstwami bufora ramki.
Jeśli coś poszło nie tak...
Jak pisałem wyżej -
fb zapodałem sobie na dwóch komputerach mających w miarę nowe
karty graficzne: NVIDIA RIVA TNT2 Model 64 i GeForce4 Ti
4200. Za każdym razem cały proces opisywany powyżej
przebiegał szybko i bezboleśnie, a kończył się pełnym
sukcesem. Kiedyś próbowałem zrobić to pod grafą ATI MACH 64 -
bez rezultatów. W ostatnim czasie będąc u znajomego chcąc
zapodać mu przyjemnego spash screen-a także poniosłem porażkę
- jego grafa ATI - powiedziała nie.