decoration Tag "fbi" decoration

decoration
decoration
16.02 2007
11:39

Framebuffer w Linuksie


Podkreśliłem tutaj specjalnie Linuksa, gdyż nie wiem jak sprawa się ma w innych systemach unix'owych, ale podejrzewam, że też mogą być wyposażone w urządzenia tego typu. W przypadku innych systemów niż Linux poniższa metoda nie zadziała, gdyż wymagana jest tutaj modyfikacja jądra Linuksa.


Do najpopularniejszych zastosowań framebuffer używany jest by zmienić rozdzielczość konsoli systemowej. Dzięki temu użytkownik otrzymuje większą wygodę w poruszaniu się po systemie właśnie poprzez konsolę. Framebuffer wykorzystywany również może być do przeglądania plików graficznych, pdf'ów, czy klipów wideo.

 

 

Wybór sterownika


Aby przygotować system do obsługi framebuffer należy odpowiednio skompilować jądro. Przedstawię tutaj sposób kompilacji jądra ze sterownikiem vesafb-tng.


W pierwszej kolejności należy pobrać patch'a do jądra, który umożliwi obsługę tego steronika. Vesafb-tng jest projektem rozwijanym przez polskiego dewelopera Gentoo Linux - Michała Januszewskiego. Dzięki temu sterownikowi można uzyskać w konsoli rozdzielczości niestandardowe (m.in. dla monitorów panoramicznych), których domyślny sterownik vesafb nie obsługuje.


Plik można pobrać ze strony: http://dev.gentoo.org/~spock/projects/vesafb-tng/ nazwa pliku: vesafb-tng-***.patch. Aby vesafb-tng działała poprawnie należy pobrać patch odpowiedni do wersji skompilowanego w systemie jądra.

 

Przygotowanie jądra


Po pobraniu pliku przechodzimy do miejsca przechowywania źródeł jądra i aktualizujemy je patchem wydając polecenie:

cat scieżka/do/vesafb-tng.patch | patch -p1

Aby w kompilować w jądro sterownik wpisujemy:

make menuconfig

i przechodzimy do Device Drivers > Graphics support. Jeśli nie mamy jeszcze w kompilowanego w jądro obsługi framebuffer zaznaczamy Support for frame buffer devices, a następnie VESA VGA graphics support i wybieramy sterownik vesafb-tng, zmieniając przy okazji rozdzielczość konsoli:

 


po czym wychodzimy i kompilujemy jądro poleceniem make. Skompilowanym jądrem zastępujemy aktualne i uruchamiamy ponownie komputer.


Poniżej przykład z obsługa framebuffer:

 

 

Pliki graficzne


Jednym z programów umożliwiających przeglądanie plików graficznych jest fbi. Znaleźć go można pod adresem: http://linux.bytesex.org/fbida/. Po skompilowaniu programu i wszystkich wymaganych bibliotek będzie można przeglądać grafiki m.in. w formatach jpg, gif, png. Do działania programu wymagana jest obsługa framebuffer, w przeciwnym wypadku nic z tego nie będzie. Poniżej przykładowe zdjęcie wyświetlane w konsoli systemowej.

 

 

 

Pliki wideo


Jeżeli można wyświetlić w konsoli pliki graficzne, to można również wyświetlić pliki wideo. Jednym z programów, który to umożliwia jest znany chyba wszystkim użytkownikom linuksa MPlayer. Aby była możliwość odtwarzania plików wideo w konsoli należy skompilować program z obsługą directfb. Uruchomienie pliku video odbywa sie standardowo: mplayer plik.avi Poniżej przykład jak działa obsługa wideo pod konsolą linuksa:

 


Na koniec dołączam jeszcze kilka stron, gdzie można znaleźć informacjie o obsłudze framebuffer:



Copyleft (C) tom000.info 2004-2010. Some rights reserved.