			==========================		Updated:
			XGGI - X server for LibGGI		981122
			==========================

Introduction
============


XGGI is an XFree86 3.3.2 based X server which uses LibGGI to do hardware
independent graphics and input. It supports 8, 15, 16, 24 and 32 bit modes
on any LibGGI target that has a pixellinear DirectBuffer, and should run
in any resolution the target supports.

XGGI has been successfully tested on the X, fbdev, svga and tile targets.

Note that even though XGGI is built from the XFree sources it is not an
XFree86 server. No code from hw/xfree86 is used, and therefore an eventual
/etc/XF86Config file is completely ignored. This is likely to change in
the future, as the XFree86 DGA, Misc and VidMode extensions and XAA are
desireable features in XGGI.


Choosing modes
==============

The easiest way is to not do it at all and let LibGGI choose a suitable mode.
GGI_DEFMODE is honored as usual here.
You can also pass the argument -ggimode WxHxBPP to XGGI to force it into
a particular mode. BPP and H may be omited, in which case the LibGGI default
will be used.


Keyboard handling
=================

Due to the fact that the X server core wants to be fed keycodes, while LibGGI
delivers key "labels" and "symbols", some special treatment is required for
the keyboard. Bascicly XGGI translates LibGGI "labels" into pseudo keycodes,
which is then mapped into X keysyms as in any other X server. The huge benefit
of this compared to the old schemes is that XGGI keymapping works identical
on all LibGGI targets.

Now, the special thing about XGGI is that it contains no default mappings from
keycodes -> X keysyms. This means you have to use xmodmap or XKB to be able
to use the keyboard at all. However this is not as bad as it seems, because
XGGI comes with pre-made keymaps which is ready to be fed to xmodmap.

These keymaps can be found in the keymaps/ directory. You should always load
the xggimap.base keymap first to get the basic things set up, and after that
you load any country specific overrides. To load a keymap file you simply type
xmodmap path_to_file
The required xmodmap commands should be put in your X server initscripts so
they always get run when XGGI starts.

IMPORTANT:
You need to have at least one X client (like an xterm or the window manager)
running when you execute the xmodmap command(s), or else xmodmap will be
ignored silently.

The reason for this seemingly "strange" behaviour is simple: If xmodmap is
the only client connected to the server, the server will reset when xmodmap
disconnects, thus resetting the keymaps as well.
You might want to run the server with "-terminate" anyway.

Currently there are three keymaps in this archive: xggimap.base which
should always be loaded first, and will give you an American keymapping,
and xggimap.se_se and xggimap.de_de, which contains the necessary overrides
to produce a Swedish and German keymapping respectively. More keymaps will
be added as I recieve them.

IMPORTANT FOR LINUX-CONSOLE BASED TARGETS:
To make AltGr work properly in XGGI you should execute
xmodmap -e "keycode 119 = Mode_switch"
_after_ you have lodaded the keymaps.


Font path
=========

As XGGI doesn't read /etc/XF86Config you have to specify the fontpath by
using the -fp argument to XGGI. Note that if you have your fonts in the
standard location /usr/X11R6/lib/X11/fonts/ you don't need to specify
a fontpath.


Hardware acceleration
=====================

Currently only the window/area moving/blitting code takes advantage of
HW acceleration in LibGGI. More acceleration is planned to be added.


Where to get XGGI
=================

The latest version can always be found at
http://www.stacken.kth.se/~mackan/ggi/xggi/
or in /afs/stacken.kth.se/home/mackan/public_html/ggi/xggi


The GGI mailing list
====================

To subscribe to the GGI mailing list, send a message with the word
"subscribe" in the Subject: field to ggi-develop-request@eskimo.com
To unsubscribe from the GGI mailing list, send a message with the word
"unsubscribe" in the Subject: field to ggi-develop-request@eskimo.com

This is a very high volume mailing list with well over 1000 messages
a month, so be prepared.


Other GGI resources
===================

Web site: http://www.ggi-project.org/
FTP site: ftp://ftp.ggi-project.org/pub/ggi


//Marcus Sundberg 	[marcus@ggi-project.org]
