SVGALib

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search
SVGAlib
Original authorHarm Hanemaayer[1]
DeveloperMatan Ziv-Av
Stable release
1.4.3 / June 2, 2001; 24 years ago (2001-06-02)[2]
Preview release
1.9.25[2]
Repository
  • {{URL|example.com|optional display text}}Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
Written inC
Engine
    Lua error in Module:EditAtWikidata at line 29: attempt to index field 'wikibase' (a nil value).
    Operating systemAmigaOS, Linux, FreeBSD
    PlatformPPC, x86, x86-64
    TypeLibrary
    Websitewww.svgalib.org

    SVGAlib is an open-source low-level graphics library which ran on AmigaOS, Linux and FreeBSD and allowed programs to change video mode and display full-screen graphics, without the use of a windowing system.[3][4] Alongside X11 and the General Graphics Interface, it was one of the earliest libraries allowing graphical video games on Linux.

    History

    [edit | edit source]

    The first version of SVGALib was based on version 1.2 of another library, VGALib by Tommy Frandsen.[5]

    Several games like Ambrosia Software's Maelstrom by Sam Lantinga, the first-person games Freaks! and Space Plumber[6][7] using the QDGDF library,[8][9] and most famously id Software's Doom (alongside an X11 version) and Quake (after the submission of a third-party patch based on leaked source code[10]) were ported to use SVGALib from other operating systems,[11] as was Doom porter Dave Taylor's Abuse.

    Wolfenstein 3D was also ported following its source code being released in 1995,[12] as well as the id produced Heretic, Hexen and Hexen II after 1999,[13] and Descent and Descent II by Parallax Software after 1998.[14] Certain source ports for Doom, Quake, and Abuse maintained support for SVGALib.[15] The library is also supported by the MAME/MESS emulator.[16]

    First party Linux games that have supported it include Alizarin Tetris,[17] Bdash,[18] Fleuch,[19] Hatman,[20] Intelligent FRAC,[21] Koules,[22] LinCity,[23][24] Linberto,[25] Quadra,[26] Repton,[27] SABRE,[28] Thrust (also supported GGI),[29] Zarch,[30] and Zblast,[31] among others.[32][33][34]

    SVGALib was popular in the mid to late 1990s.[35][36] A reference book, Linux Graphics Programming with SVGAlib, was authored by Jay Link in 2000.[37] Around the turn of the millennium, many applications that used it migrated to X11 and SDL,[38] which could (until SDL 2.0) make use of SVGAlib as a video driver.[39][40] This was in part due to the risks of privilege escalation due to SVGAlib requiring applications to run from root.[41][42][43]

    References

    [edit | edit source]
    1. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    2. ^ a b Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    3. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    4. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    5. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    6. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    7. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    8. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    9. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    10. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    11. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    12. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    13. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    14. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    15. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    16. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    17. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    18. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    19. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    20. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    21. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    22. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    23. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    24. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    25. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    26. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    27. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    28. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    29. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    30. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    31. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    32. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    33. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    34. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    35. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    36. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    37. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    38. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    39. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    40. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    41. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    42. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    43. ^ Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).
    [edit | edit source]