GGI is short for "General Graphics Interface". The GGI-Project team is working on a sort of free "DirectX" for Linux. I hope this comparison does not offend them, but it´s a short characterization of GGI:Realising graphics under Linux was divided in two up to now. svgalib on the one hand, which allowed graphics on the console for several graphic chipsets, the XServers on the other hand using a different technique.
GGI aims to unite both to provide fast, hardware-accelerated graphics under a good API. GGI-programs won´t matter how and where is displayed what they asked the GGI libraries to do so. The latter try to display where the user wants it to:Two or more of these displaying targets can be used at the same time(eg: Displaying on monitor and file simultaneously.); filters can be inserted that compute graphics data to other resolutions or dither to other colour depths. The same program can be run on console or under X this way.on the existing X. A program would run in a normal window in KDE, GNOME, ... on the existing svgalib on the existing aalib. AA ("ASCII Arts") tries to do graphics on devices that are not capable of doing it using text characters. on the new framebuffer device (/dev/fbcon) coming with the 2.2.x series kernel into a file. This way one can easily create screenshots and screenfilms. ... <Last but not least there is also an API for input devices such as joysticks: libgii (General Input Interface).
GGI is in the latest phase of development and aims for a second release (Codename "Degas"). You should download the fresh sourcecodes found under "Development" instead of using the first release: GGI-Homepage (~2,5 MB)
Interessante Entwicklungen:
Many games, notably DOOM, QUAKE and consorts are ported to Linux/GGI.
There is an XServer for GGI. X asks GGI to display everything and takes advatage of it´s features. Writing two or three "drivers" for new graphic chipsets is not needed any more (XServer, SVGALib, GGI); X also takes advantage of the framebuffer device. One could also think of a textmode X using the GGI-XServer on AA.Berlin is a new GUI on top of GGI.
Dave GNUkem also uses GGI. Run under X, the GGI libs know that they should use the X target and a window titled "GGI-on-X" should pop up.
If not open a xterm or a KDE Terminal or ..., and start the game from the commandline: ./djg
Now you can see error and debugging messages
Die zwei häufigsten Fehler:
- could not load library: libggi.so.2 File not found
(oder so:): Die GGI-Bibliotheken konnten nicht gefunden werden.
In der Datei /etc/ld.so.conf sind die Suchpfade aufgelistet, in denen Bibliotheken gesucht werden. GGI installiert sich meist unter /usr/local/lib.
Dieser Eintrag muß noch mit einem Editor nachgeholt werden. Danach sorgt ein simpler Aufruf des Programms /sbin/ldconfig dafür, daß die neuen Informationen aufbereitet und in der Datei /etc/ld.so.cache abgelegt werden. Nun sollten alle Programme die Bibliotheken in diesem Verzeichnis benutzen können.- Der Grafikmodus kann nicht initialisiert werden. Dave GNUkem benutzt wie das Original nur 256 Farben, das entspricht einer Farbtiefe von 8 bit, und versucht, einen Darstellungsbereich von 320x200 Pixeln zu bekommen.
Versuchen Sie - falls es nicht automatisch beim Hochfahren gestartet wird, X mit startx -8bpp zu starten, andernfalls müssen Sie vielleicht die Standard-Farbtiefe in X auf 8 zu setzen. Dies können Sie per Hand in /etc/X11/XF86Config (Einträge "DefaultColorDepth") oder mit dem Programm XF86Config bewerkstelligen.