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.)