Волшебное слово framebuffer
Для начала набольшое вступление:
Все началось, когда у меня еще не было reaver linux и я даже не знал, что такое lfs. Тогда у меня стояли redhat и suse.
Один основной, другой для игр и распечатывания документов на притере(ну очень легко это конфигурируется в suse). И вроде бы не так
много различий я в них видел, но одно сразу бросалось в глаза - в suse буквы в консоли (в текстовом режиме я имею ввиду) были поменьше
да и гораздо больше помещалось на экран, чем в redhat. Я сразу понял, что разница в разрешении, но не сразу нашел причину изменения
этого разрешения, которой оказался параметр ядру vga=0x0317 . Я этим делом особенно не интересовался, просто знал это и пользовался.
Но когда потребовалось изменить разрешение с 1024х768 (0x0317) на 1280х1024 , то я начал этим интересоваться.
Но начнем с того что такое framebuffer - это абстракция для графических устройств. Это позволяет общаться приложениям с
аппаратурой, через удобный интерфейс, при этом ничего не зная о самой аппаратуре. К тому же на платформах отличных от x86 - это
единственный способ использования графической аппаратуры. Но что это дает пользователю? А вот что :
Вы наверное любите консоль, ну это естественно и конечно вы хотите что-бы все радости жизни были и в консоли тоже а не только в иксах.
Если с проигрыванием музики проблем не возникает(поставьте mp3blaster), то с просмотром видео и картинок не так все гладко. Скорее всего
именно из-за этого вы стартуете иксы. Не надо так мучаться, при помощи fremebuffer можно просматривать видео, картинки прямо в консоли,
не это ли ваша давняя мечта?
Итак поехали ... в /usr/src/linux ;) make menuconfig
Переходми на закладочку console drivers и все активируем (НЕ МОДУЛЯМИ) после этого переходим в framebuffer support Советую почитать
там хелпы - узнаете много нового и интересного. Выбирайте
framebuffer support
vesa vga console
vga16 console
плюс, то что вам надо (какая у вас видеокарта).
собираем ядро и проверяем его соответствующей опцией. Если вы хотите увидеть список режимов - можно просто вопользоваться параметром
ядру vga=ask . Если у вас установлен в качестве загрузчика grub , то можно получить информацию о видео режимах командами testvbe и vbeprobe
в командной строке grub. Опция 0x0317 равнозначна опции 0x0117. Для разрешения 1280x1024 нужно указать опцию 0x031a или 0x011a . В общем
с настройкой закончили, переходим к софту. Естественно все консольные программы будет удобнее юзать, например в lynx можно
будет посмотреть сразу страницу польностью, а не третью ее часть.
Первое что очень хочется - видео в консоли, тем более, что все сейчас об этом говорят. Нам понадобится программа MPlayer естественно
как и все остальное в исходниках. После сборки и установки нужно проверить работоспособность
mplayer -vo help | grep fbdev
вот что он должен сказать:
Available video output drivers:
fbdev Framebuffer Device
После этого можно спокойно смотреть фильмы с консоли при этом запуская mplayer с пареметром -vo fbdev
Конечно видео - это хорошо, но хочется и картинки иногда посмотреть - для этого существует программа fbi - FrameBuffer Imageviewer.
Т.к. она писалась для просмотра фотодисков вам поторебуется libpcd для установки.
Ну и верх блаженства можно достигнуть просматривая сайты с картинками в консоли. Для этого нам понадобится links версии 2.1 (можно
взять с моего сайта в разделе программы) Но надо собрать его следущим образом
./configure --enable-graphics --with-fb
make
make install
конечно лучше добавить поддрежку javascript и кое-чего еще (с.м. ./configure --help) .
После этого можно запускать в консоли links с параметром -g и наслажнаться жизнию. Но осторожно! Х-сервер и framebuffer по разному
успользуют одну и ту же видеокарту! При запущенном Х-сервере не переключайтесь из links на framebuffer в иксы - эт может повесить систему, ну
не совсем повесить(нажав кнопку на джойстике, я возвращаюсь обратно в консоль, но я не уверен что у всех есть джойстики для таких целей).
Правда можно это дело вылечить - после выхода из links на этом же терминале посмотрите любую картинку, и можете почти спокойно переключаться
в иксы.
Есть еще нескольно игр(например armagetron) которые могут работать в консоли.
Еще есть интересная библиотека DirectFB. На сайте directfb.org можно подробно ознакомится с ней и с проэктами, использующими эту
библиотеку. Среди проэктов стоит выделить: DFBSee - очень красивый и удобный просмотрщик грфических файлов, правда он поддерживает
меньше форматов, чем fbi ; DirectFBGL - opengl игры в консоли; gtk+directfb и qingy - запуск gnome и qt приложений в консоли.
Если честно, то отлично работает только DFBSee, остальные собираются с проблемами или не собираются вообще, я пока еще работаю над
этой проблемой. Это того стоит. Вот хороший пример - многие(и я в том числе) любят xchat больше, чем bitchx, и естественно хочется это дело
еще и в консоли. Так вот теперь это возможно с gtk+-directfb.
Да и не забывайте it`s still experimentall Удачи!
|