The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Программирование, языки" / Оглавление документа

Prev

Up

Home

GTK+ Reference Manual

Next

Использование GTK+ на Framebuffer

GTK+ на Framebuffer Linux framebuffer аспект использования GTK+

GTK+ for the Linux Framebuffer

Внимание

Linux-fb GDK не поддерживается и может не работать или даже не скомпилироваться. Информация приведенная ниже всё-же может быть полезной; к тому же есть несколько заплаток в bugzilla которые помогают сделать код linux-fb пригодным для компиляции (compilable).

Linux-fb порт GTK+, так же известный как GtkFB - реализация GDK (а значит и GTK+) для выполнения в Linux framebuffer. Выполняется как одиночный процесс не нуждающийся в X. Это позволяет использовать большинство GTK+ программ не изменяя исходного кода.

Требования для сборки

Вам нужна GTK+ 2.0; версии из серии 1.2.x не поддерживают framebuffer. Для компиляции GTK+ с поддержкой framebuffer вам потребуется FreeType 2; мы рекомендуем FreeType 2.0.1 или более поздние версии, так как есть некоторые проблемы с freetype-config в 2.0. Убедитесь что вы устанавливаете библиотеку FreeType после установки библиотеки Pango, так как Pango тоже нуждается в ней. FreeType может быть найдена на ftp://ftp.freetype.org. Вам также потребуется fontconfig который обеспечивает использование внутреннего интерфейса FreeType 2 в Pango. Fontconfig также зависит от FreeType. Fontconfig можно найти на http://fontconfig.org.


Требование к оборудованию

Вам нужна видеокарта, которая позволяет использовать framebuffer driver в режимах 8, 16, 24 или 32 bpp, такой как matroxfb или vesafb. Вам также нужна поддержка мышки. GTK+ в данное время корректно поддерживает ps2 мыши, ms serial мыши и fidmour touchscreen. Дополнительная аппаратная поддержка должна быть простой в добавлении.


Сборка и установка

Сначала соберите и установите GLib, ATK и Pango как обычно, в соответствующем порядке. Сконфигурируйте GTK+ выполнив configure (или autogen.sh если вы работаете с CVS) с опцией --with-gdktarget=linux-fb.

Компилируется как обычно: make; make install


Шрифты

Так как GtkFB использует FreeType 2 для визуализирования шрифтов, она может визуализировать TrueType и Postscript type 1 сглаженные шрифты.

GtkFB использует fontconfig для конфигурирования информации о шрифтах, включая справочники и псевдонимы. Убедитесь что у вас есть файл fonts.conf в котором указано где находятся ваши TrueType и Type1 шрифты. Пожалуйста обратитесь к документации по fontconfig для получения более подробной информации.


Выполнение

Для выполнения программы вы должны просто запустить её, но есть некоторые проблемы которыми можно управлять используя переменные окруженияя. Попробуйте выполнить gtk-demo, которая поставляется вместе с GTK+, чтобы проверить некоторые нюансы.

Если вы используете ps2 мышь, убедитесь что доступно чтение и запись в устройство /dev/psaux.

Убедитесь что не запущен gpm.

Если вы не определили всё что угодно при старте GtkFB, текущую виртуальную консоль, текущеме разрешение и глубину цвета. Всё это может быть определено переменными окруженияя:

GDK_VT:
 сбрасывает текущий открытый VT.
 0-9: открывает на указанном VT. Убедитесь что у вас достаточно прав на чтение/запись.
 new: размещает новый VT после последнего, используемого в текущеме время.

GDK_DISPLAY_MODE:
 Определяет имя режима в /etc/fb.modes который вы хотите использовать.

GDK_DISPLAY_DEPTH:
 Определяет желательную битовую глубину framebuffer.
 
GDK_DISPLAY_WIDTH:
 Определяет желательную ширину framebuffer.
 
GDK_DISPLAY_HEIGHT:
 Определяет желательную высоту framebuffer.

GDK_DISPLAY:
 Определяет устройство framebuffer для использования. По умолчанию /dev/fb0.

GDK_MOUSE_TYPE:
 Определяет тип мыши. В данное время поддерживаются:
  ps2 - PS/2 mouse
  imps2 - PS/2 intellimouse (wheelmouse)
  ms - Microsoft serial mouse
  fidmour - touch screen
 По умолчанию используется ps2.

GDK_KEYBOARD_TYPE:
 Определяет тип клавиатуры. В настоящее время поддерживаются
  xlate  нормальный режим клавиатуры tty.
    Весьма ограниченный, не может обнаружить многие события. Не может
    обработать ctrl/alt/shift для любых ключей. Это драйвер по умолчанию,
    но не должен применяться при "production" использовании.
  raw  чтение tty в режиме RAW mode.
    Устанавливает клавиатуру в режим RAW mode и обрабатывает все keycodes. Это
    даёт корректную обработку модификаторов и клавиш up/down событий. Вы
    должны быть root чтобы использовать это. Если вы используете это для разработки или
    отладки то рекомендуется включить магический sysrq обработчик в
    ядре. Тогда вы сможете нажав ALT-SysRQ-r на клавиатуре вернуться в
    нормальный режим.
 По умолчанию используется xlate.

Особенности отладки

Нажатие Ctrl-Alt-Return перерисовывает весь экран. К сожалению это не может быть использовано с драйвером клавиатуры xlate, но в этом случае вы можете использовать shift-F1.

Нажатие Ctrl-Alt-BackSpace уничтожает GtkFB программу. (При использовании xlate драйвера, используйте shift-F8.)




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру