2002-01-01 23:51:00 +00:00
|
|
|
<refentry id="gtk-framebuffer" revision="1 Jan 2002">
|
2001-02-09 06:14:34 +00:00
|
|
|
<refmeta>
|
2002-01-19 18:51:48 +00:00
|
|
|
<refentrytitle>Using GTK+ on the Framebuffer</refentrytitle>
|
2001-02-09 06:14:34 +00:00
|
|
|
<manvolnum>3</manvolnum>
|
|
|
|
<refmiscinfo>GTK Library</refmiscinfo>
|
|
|
|
</refmeta>
|
|
|
|
|
|
|
|
<refnamediv>
|
2002-01-01 23:51:00 +00:00
|
|
|
<refname>Using GTK+ on the Framebuffer</refname>
|
2001-02-09 06:14:34 +00:00
|
|
|
<refpurpose>
|
2002-01-19 18:51:48 +00:00
|
|
|
Linux framebuffer aspects of using GTK+
|
2001-02-09 06:14:34 +00:00
|
|
|
</refpurpose>
|
|
|
|
</refnamediv>
|
|
|
|
|
|
|
|
<refsect1>
|
2002-01-01 23:51:00 +00:00
|
|
|
<title>GTK+ for the Linux Framebuffer</title>
|
2001-02-09 06:14:34 +00:00
|
|
|
|
|
|
|
<para>
|
2002-01-01 23:51:00 +00:00
|
|
|
The linux-fb port of GTK+, also known as GtkFB is an implementation of
|
2002-01-03 00:36:09 +00:00
|
|
|
GDK (and therefore GTK+) that runs on the Linux framebuffer. It runs in
|
2002-01-01 23:51:00 +00:00
|
|
|
a single process that doesn't need X. It should run most GTK+ programs
|
|
|
|
without any changes to the source.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<refsect2><title>Build requirements</title>
|
|
|
|
<para>
|
|
|
|
You need GTK+ 2.0; the 1.2.x series does not have framebuffer support.
|
2002-12-15 05:47:24 +00:00
|
|
|
To compile GTK+ with framebuffer support you will need FreeType 2; we
|
2002-01-01 23:51:00 +00:00
|
|
|
recommend FreeType 2.0.1 or later, as there was some problems with
|
2002-01-03 00:36:09 +00:00
|
|
|
<command>freetype-config</command> in 2.0. Make sure that you install
|
|
|
|
FreeType before Pango, since Pango also needs it. FreeType can be found at
|
2002-12-15 05:47:24 +00:00
|
|
|
<ulink url="ftp://ftp.freetype.org">ftp://ftp.freetype.org</ulink>. You also
|
|
|
|
need fontconfig in order to properly use the FreeType 2 backend in Pango.
|
|
|
|
Fontconfig depends on FreeType as well. Fontconfig can be found at
|
|
|
|
<ulink url="http://fontconfig.org">http://fontconfig.org</ulink>.
|
2002-01-01 23:51:00 +00:00
|
|
|
</para>
|
|
|
|
</refsect2>
|
|
|
|
|
|
|
|
<refsect2><title>Hardware requirements</title>
|
|
|
|
<para>
|
2002-01-03 00:36:09 +00:00
|
|
|
You need a graphics card with an available framebuffer driver that can
|
2002-01-01 23:51:00 +00:00
|
|
|
run in 8, 16, 24 or 32 bpp, such as matroxfb or vesafb. You also need
|
|
|
|
a supported mouse. GTK+ currently supports the ps2 mouse, ms serial
|
|
|
|
mouse and fidmour touchscreen. Additional hardware support should
|
|
|
|
be simple to add.
|
|
|
|
</para>
|
|
|
|
</refsect2>
|
|
|
|
|
|
|
|
<refsect2><title>Building and installing</title>
|
|
|
|
<para>
|
2002-12-15 05:47:24 +00:00
|
|
|
First build and install GLib, ATK and Pango as usual, in that order.
|
2002-01-01 23:51:00 +00:00
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
Then configure GTK+ by running <command>configure</command> (or
|
|
|
|
<command>autogen.sh</command> if running from
|
|
|
|
CVS) with <option>--with-gdktarget=linux-fb</option>.
|
2002-01-01 23:51:00 +00:00
|
|
|
</para>
|
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<para>Then compile as usual: <command>make; make install</command></para>
|
2002-01-01 23:51:00 +00:00
|
|
|
</refsect2>
|
2001-02-09 06:14:34 +00:00
|
|
|
|
2002-01-01 23:51:00 +00:00
|
|
|
<refsect2><title>Fonts</title>
|
|
|
|
<para>
|
2002-01-03 00:36:09 +00:00
|
|
|
Since GtkFB uses FreeType 2 to render fonts it can render TrueType and
|
|
|
|
Postscript type 1 antialiased fonts.
|
2002-01-01 23:51:00 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2002-12-15 05:47:24 +00:00
|
|
|
GtkFB uses fontconfig for configuration of font information, including
|
|
|
|
directories and aliases. Make sure that you have your fonts.conf file
|
|
|
|
configured with where your TrueType and Type1 fonts are. Please refer to the
|
|
|
|
fontconfig documentation for more information.
|
2002-01-01 23:51:00 +00:00
|
|
|
</para>
|
|
|
|
</refsect2>
|
|
|
|
|
|
|
|
<refsect2><title>Running</title>
|
|
|
|
<para>
|
|
|
|
To run a program you should only need to start it, but there are some
|
|
|
|
things that can cause problems, and some things that can be controlled
|
2002-01-03 00:36:09 +00:00
|
|
|
by environment variables. Try <application>gtk-demo</application> distributed
|
|
|
|
with GTK+ to test if things work.
|
2002-01-01 23:51:00 +00:00
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
2002-01-03 00:36:09 +00:00
|
|
|
If you use a ps2 mouse, make sure that <filename>/dev/psaux</filename> is
|
|
|
|
readable and writable.
|
2002-01-01 23:51:00 +00:00
|
|
|
</para>
|
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<para>Make sure <command>gpm</command> is not running.</para>
|
2002-01-01 23:51:00 +00:00
|
|
|
|
|
|
|
<para>If you don't specify anything GtkFB will start up in the current
|
|
|
|
virtual console in the current resolution and bit-depth. This can be
|
|
|
|
changed by specifying environment variables:
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<para>
|
|
|
|
<programlisting>
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_VT</envar>:
|
2002-01-01 23:51:00 +00:00
|
|
|
unset means open on the current VT.
|
|
|
|
0-9: open on the specified VT. Make sure you have read/write rights
|
|
|
|
there.
|
|
|
|
new: Allocate a new VT after the last currently used one.
|
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_DISPLAY_MODE</envar>:
|
|
|
|
Specifies the name of a mode in <filename>/etc/fb.modes</filename> that you
|
|
|
|
want to use.
|
2002-01-01 23:51:00 +00:00
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_DISPLAY_DEPTH</envar>:
|
2002-01-01 23:51:00 +00:00
|
|
|
Specify the desired bit depth of the framebuffer.
|
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_DISPLAY_WIDTH</envar>:
|
2002-01-01 23:51:00 +00:00
|
|
|
Specify the desired width of the framebuffer.
|
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_DISPLAY_HEIGHT</envar>:
|
2002-01-01 23:51:00 +00:00
|
|
|
Specify the desired height of the framebuffer.
|
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_DISPLAY</envar>:
|
|
|
|
Specify the framebuffer device to use. Default is <filename>/dev/fb0</filename>.
|
2002-01-01 23:51:00 +00:00
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_MOUSE_TYPE</envar>:
|
2002-01-01 23:51:00 +00:00
|
|
|
Specify mouse type. Currently supported is:
|
|
|
|
ps2 - PS/2 mouse
|
|
|
|
imps2 - PS/2 intellimouse (wheelmouse)
|
|
|
|
ms - Microsoft serial mouse
|
|
|
|
fidmour - touch screen
|
|
|
|
Default is ps2.
|
|
|
|
|
2002-01-03 00:36:09 +00:00
|
|
|
<envar>GDK_KEYBOARD_TYPE</envar>:
|
2002-01-01 23:51:00 +00:00
|
|
|
Specify keyboard type. Currently supported is
|
|
|
|
xlate - normal tty mode keyboard.
|
|
|
|
Quite limited, cannot detect key up/key down events. Doesn't
|
|
|
|
handle ctrl/alt/shift for all keys. This is the default driver,
|
|
|
|
but should not be used in "production" use.
|
|
|
|
raw - read from the tty in RAW mode.
|
|
|
|
Sets the keyboard in RAW mode and handles all the keycodes. This
|
|
|
|
gives correct handling of modifiers and key up/down events. You
|
|
|
|
must be root to use this. If you use this for development or
|
|
|
|
debugging it is recommended to enable magic sysrq handling in the
|
|
|
|
kernel. Then you can use ALT-SysRQ-r to turn the keyboard back to
|
|
|
|
normal mode.
|
|
|
|
Default is xlate.
|
|
|
|
</programlisting>
|
|
|
|
</para>
|
|
|
|
</refsect2>
|
|
|
|
|
|
|
|
<refsect2><title>Debug features</title>
|
|
|
|
<para>Pressing Ctrl-Alt-Return repaints the whole screen.
|
|
|
|
Unfortunately this cannot be pressed when using the xlate keyboard
|
|
|
|
driver, so instead you can use shift-F1 instead when using this
|
|
|
|
driver.
|
|
|
|
</para>
|
|
|
|
|
2002-12-15 05:47:24 +00:00
|
|
|
<para>Pressing Ctrl-Alt-BackSpace kills the GtkFB program. (This can't be
|
|
|
|
pressed in the xlate driver, so instead you can use shift-F8.)</para>
|
2002-01-01 23:51:00 +00:00
|
|
|
</refsect2>
|
|
|
|
|
2001-02-09 06:14:34 +00:00
|
|
|
</refsect1>
|
|
|
|
|
|
|
|
</refentry>
|