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

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.

Currently there are only two keymaps in this archive: xggimap.base which
should always be loaded first, and will give you an American keymapping,
and xggimap.se_se, which contains the necessary overrides to produce a
Swedish keymapping. 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


GGI resources
=============

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


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