GGI steht kurz für "General Graphics Interface". Das Team des GGI-Projekts arbeitet an einer Art freiem "DirectX" für Linux und andere UNIXe, wobei sie den Vergleich mit DirectX wahrscheinlich als Beleidigung auffassen würden. Dennoch charakterisiert er GGI recht gut:Die Realisierung von Grafikdarstellung unter Linux wurde bis dato zweigleisig gefahren: Einmal die svgalib - Bibliotheken, die für einige Grafikkarten Grafik auf der Konsole ermöglichen, andererseits die XServer für X, die aber unterschiedliche Karten/Chipsätze unterstützen.
GGI will nun beides vereinen und schnelle, hardwarenahe Grafik unter einer einheitlichen Schnittstelle (API) bieten. Für GGI-Programme ist es unerheblich, wie und wo angezeigt wird, was es den GGI-Bibliotheken übergibt, denn nur diese kümmern sich darum, es dort darzustellen, wo der Benutzer es gewählt hat:Diese Ziele der Grafikdarstellung nennt GGI "Targets". Targets können auch verknüpft werden (Beispiel: Ausgabe erfolgt gleichzeitig auf Bildschirm und in Datei); es lassen sich Farbfilter zwischenschalten, die Bilder auf andere Auflösungen oder Farbtiefe umrechnen.auf dem vorhandenen X. Das Programm läuft dann in einem "ganz normalen" Fenster unter KDE, GNOME, ... über die vorhandene svgalib über die vorhandene aalib. AA ("ASCII Arts") versucht, die Grafik in ein Gemege aus Textzeichen umzuwandeln, das der ursprünglichen Grafik ähnelt, so daß auch auf nicht grafikfähigen Endgeräten eine Darstellung möglich ist. über das neue Framebuffer-Device (/dev/fbcon) der neuen 2.2.x - Kernel, das endlich große Hardwarenähe und entsprechende Leistung verspricht in eine Datei. Auf diese Weise können auf einfachstem Wege Screenshots und Screen-Filme (!) erzeugt werden. ... <
Dasselbe Programm kann so ohne Umstände auf der Konsole oder unter X betrieben werden.Zu guter Letzt enthält GGI auch noch eine Architektur für Eingabegeräte, die libgii (General Input Interface).
GGI hat derzeit die letzten Phasen vor dem Release der zweiten Version mit dem Codenamen "Degas" erreicht. Die Entwickler raten von der Benutzung der Vorgängerversion ab, deshalb möge man sich von der GGI-Homepage die frischen Quellcodes (~2,5 MB) laden, die unter "Development" zu finden sind.
Interessante Entwicklungen:
Zahlreiche Spiele, allen voran DOOM, QUAKE und Konsorten finden für Linux endlich brauchbare Grafik. Es existiert ein XServer für GGI. X delegiert so die Grafikdarstellung an GGI und profitiert von dessen Vorteilen. Dies macht nicht nur die doppelte und dreifache Ausfertigung von Linux-"Treibern" für neue Grafikkarten überflüssig (XServer, SVGALib, GGI), sondern läßt X auch vom Framebuffer-Device profitieren.
Ein Textmodus-X ist mit dem GGI-Xserver und AA ebenfalls denkbar.Berlin ist eine neuartige GUI, die auf GGI basiert.
Auch Dave GNUkem setzt auf GGI. Am einfachsten fällt dies unter X, da GGI dann selber merkt, daß das einzig sinnvolle Target eben X ist. Es sollte sich beim Aufruf von djg ein Fenster öffnen mit dem Titel "GGI-on-X", und das Spiel sollte laufen.
Falls nicht, öffne man ein xterm oder ein KDE Terminal oder ..., wechsele in das entsprechende Verzeichnis und starte das Spiel per Hand: ./djg
Nun sind Fehler- und Debughinweise sichtbar.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.