Content deleted Content added
→Adoption: Better source for U.R.B.A.N |
Abhijithxlr8 (talk | contribs) m I added a citation to support the stated goals of the General Graphics Interface project, particularly around portability, API integration, and security. This provides a verifiable source that confirms the technical objectives described, improving the reliability and neutrality of the article. Tags: citing a blog or free web host Visual edit |
||
(5 intermediate revisions by 4 users not shown) | |||
Line 1:
{{More citations needed|date=April 2025}}
{{Infobox software
| name = General Graphics Interface
Line 29 ⟶ 30:
| genre = [[Application programming interface]]
| license = [[MIT license]]
| website = {{URL|
}}
'''General Graphics Interface''' ('''GGI''') was a project that aimed to develop a reliable, stable and fast [[computer graphics]] system that works everywhere.<ref name="IncHall2001">{{cite book|author1=Loki Software, Inc|author2=John R. Hall|title=Programming Linux Games|url=https://books.google.com/books?id=7eAPUdU3hRUC&pg=PA56|year=2001|publisher=No Starch Press|isbn=978-1-886411-49-4|page=56}}</ref> The intent was to allow for any program using GGI to run on any [[computing platform]] supported by it, requiring at most a [[compiler|recompilation]]. GGI is [[free and open-source software]], subject to the requirements of the [[MIT License]].
The GGI project, and its related projects such as KGI, are generally acknowledged to be dead.<ref>{{Cite web|url=https://www.phoronix.com/scan.php?page=news_item&px=OTYyNg|title=The Kernel Graphics Interface (KGI) Is Effectively Dead - Phoronix|last=Larabel|first=Michael|date=3 July 2011|website=www.phoronix.com|access-date=2019-06-08}}</ref>
Line 37 ⟶ 38:
==Goals==
The project was originally started to make switching back and forth between [[Virtual console (computer user-interface)|virtual consoles]], [[svgalib]], and the X [[display server]] subsystems on [[Linux]] more reliable. The goals were:
*Portability through a flexible and extensible [[API]] for the applications. This avoids bloat in the applications by only getting what they use.{{Clarify|date=January 2009}}<ref>{{
*Portability in cross-platform and in backends{{Clarify|date=January 2009}}
*Security in the sense of requiring as few privileges as possible
Line 56 ⟶ 57:
In 1997, GGI went into a complete re-design. Many new ideas and a decision from Linux made GGI to what it became in GGI 2.0 released in August 2001 under the MIT release.
A set of talks about GGI, KGI and EvStack were given at LinuxExpo 98.
Line 68 ⟶ 65:
GGI 2.0.2 was released in December 2002. The most user visible change was from the scratch re-designed X backend. Another noticeable change was the huge documentation improvement. Last, but not least, the release cycles changed. From this release on, there was a development and a stable tree. The stable tree is open for bugfixes only, the development tree got the name, following the BSD scheme, -current.
GGI 2.1.x runs on many Operating Systems: [[GNU Hurd]], [[Linux]], [[*BSD]], [[System V]], [[Mac OS X]] and Microsoft Windows. Support for more hardware platforms has been added. [[NetBSD]] even created a binary package for NetBSD/Vax! A new GGI library on top of libgii called libgiigic has been added. It allows to combine user actions with events at run time.
Line 79 ⟶ 74:
== Adoption ==
[[Source port]]s of [[first-person shooter]]s ''[[Doom (1993 video game)|Doom]]'', ''[[Heretic (video game)|Heretic]]'', ''[[Quake (video game)|Quake]]'' and ''[[Descent (video game)|Descent]]'' were ported to use GGI,<ref>{{cite web|url=http://ibiblio.org/ggicore/links.html|title=Software using GGI|website=[[ibiblio]]|access-date=2023-12-20}}</ref><ref>{{cite web|url=https://www.linuxjournal.com/article/2998|title=LibGGI: Yet Another Graphics API|first=Andreas|last=Beck|date=1998-09-01|access-date=2023-12-20|website=[[Linux Journal]]}}</ref> with a [[Doom modding#Editing|Linux Doom Editor]] also being based on it.<ref>{{cite web|url=http://interreality.org/~tetron/technology/lde/|title=LDE - Linux Doom Editor|first=Peter|last=Amstutz|website=Interreality|date=2002-08-09|access-date=2024-01-23}}</ref> It was also supported by the [[arcade video game|arcade styled]] ''Heroes'',<ref>{{cite web|url=https://discourse.libsdl.org/t/announcing-heroes-0-7/3553|title=Announcing Heroes 0.7|first=Alexandre|last=Duret-Lutz|date=November 2000|website=[[Simple DirectMedia Layer]]}}</ref> a [[Snake (video game genre)|snake]] game, and ''Thrust'', inspired by the [[Commodore 64]] game ''[[Thrust (video game)|Thrust]]'',<ref>{{cite web|url=https://identicalsoftware.com/games/inertiablast|website=Identical Software|first=Dennis|last=Payne|title=Inertia Blast|date=2021-09-19|access-date=2024-01-21 }}</ref> as well as the [[platform game]]s ''U.R.B.A.N The Cyborg Project''<ref>{{cite web |last=Wilson |first=Hamish | date=2024-03-12 | title=Building a Retro Linux Gaming Computer Part 40: The Cyborg Project | url=https://www.gamingonlinux.com/2024/03/building-a-retro-linux-gaming-computer-part-40-the-cyborg-project/ | website=GamingOnLinux | access-date=2024-03-13}}</ref> and ''Dave Gnukem'',<ref>{{cite web|url=https://lwn.net/2000/0106/bigpage.php3|title=Software Announcements|date=2000-01-06|access-date=2024-01-21|website=Linux Weekly News}}</ref> inspired by the original ''[[Duke Nukem (video game)|Duke Nukem]]'' for [[MS-DOS]]. GGI was also available as a video driver within the [[Simple DirectMedia Layer]] until version 2x.<ref name="sdl-faq">{{cite web |title=FAQ: Using SDL |url=https://wiki.libsdl.org/FAQUsingSDL |website=wiki.libsdl.org}}</ref>
==See also==
Line 100 ⟶ 86:
{{Reflist}}
{{Refbegin}}
*[http://www.ggi.ps.pl/docs/faq.html The GGI Project Frequently Asked Questions List] {{Webarchive|url=https://web.archive.org/web/20060709013716/http://www.ggi.ps.pl/docs/faq.html |date=2006-07-09 }}
*[https://lwn.net/1998/0226/#kernel Linux Weekly News - February 26, 1998, section: Kernel]
*[http://marc.info/?l=linux-kernel&m=89089527200744&w=2 GGI Project Unhappy On Linux]
*Christopher Browne's Web Pages: [https://web.archive.org/web/20061017132732/http://cbbrowne.com/info/ggi.html The X Window System, 15. GGI - General Graphical Interface]
*Peter Amstutz: [https://web.archive.org/web/20070430133624/http://www.tfn.net/~amstpi/techoverview.html An Overview of the GGI Project] 1998
*[http://www.linuxjournal.com/article/0160 Linux-GGI Project] {{Webarchive|url=https://web.archive.org/web/20061103092544/http://www.linuxjournal.com/article/0160 |date=2006-11-03 }} LinuxJournal article by Steffen Seeger and Andreas Beck 1996
{{Refend}}
|