SVGAlib es una biblioteca de gráficos de bajo nivel de código abierto que se ejecutaba en Linux y FreeBSD y permitía a los programas cambiar el modo de video y mostrar gráficos en pantalla completa, sin el uso de un sistema de ventanas . [3] [4] Junto con X11 y la Interfaz Gráfica General , fue una de las primeras bibliotecas que permitieron videojuegos gráficos en Linux .
La primera versión de SVGALib se basó en la versión 1.2 de otra biblioteca, VGALib de Tommy Frandsen. [5]
Varios juegos como Maelstrom de Ambrosia Software por Sam Lantinga , los juegos en primera persona Freaks! y Space Plumber [6] [7] que usan la biblioteca QDGDF, [8] [9] y el más famoso Doom de id Software (junto con una versión X11 ) y Quake (después del envío de un parche de terceros basado en el código fuente filtrado [10] ) fueron portados para usar SVGALib desde otros sistemas operativos, [11] al igual que Abuse del porter de Doom Dave Taylor .
Wolfenstein 3D también fue portado después de que su código fuente fuera lanzado en 1995, [12] así como los producidos por id Heretic , Hexen y Hexen II después de 1999, [13] y Descent y Descent II por Parallax Software después de 1998. [14] Ciertos puertos fuente para Doom , Quake y Abuse mantuvieron soporte para SVGALib. [15] La biblioteca también es compatible con elemulador MAME / MESS . [16]
Los juegos de Linux de primera parte que lo han soportado incluyen 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 (también soportado GGI ), [29] Zarch , [30] y Zblast , [31] entre otros. [32] [33] [34]
SVGALib fue popular a mediados y finales de los años 1990. [35] [36] Jay Link escribió un libro de referencia, Linux Graphics Programming with SVGAlib , en 2000. [37] Alrededor del cambio de milenio, muchas aplicaciones que lo usaban migraron a X11 y SDL , [38] que podían (hasta SDL 2.0) hacer uso de SVGAlib como controlador de video. [39] [40] Esto se debió en parte a los riesgos de escalada de privilegios debido a que SVGAlib requería que las aplicaciones se ejecutaran desde la raíz . [41] [42] [43]
como un puerto directo de xasteroids para ejecutarse con svgalib (biblioteca de gráficos super-VGA de Harm Hanemaayer)
Linux Wolf: se ejecuta en una ventana (xwolf3d) o con svgalib (swolf3d).
clon de Boulder Dash para Linux con gráficos de 256 colores y sonidos digitalizados. Requiere la biblioteca svgalib.
Hatman - The Game of Kings es un clon SVGAlib impresionante pero poco elaborado de Pacman que tiene un paquete RPM en el disco, pero lamentablemente tenía el soporte de sonido deshabilitado en la compilación. Se presentaron varios otros clones de Pacman, pero este era el que tenía más potencial.
lincity construye y mantén una ciudad/país. Debes construir y mantener una ciudad. Debes alimentar, alojar, proporcionar trabajo y bienes a tus residentes. Puedes construir una economía sostenible con la ayuda de energía renovable y reciclaje, o puedes arriesgarte y construir cohetes para escapar de un planeta contaminado y falto de recursos, tú decides. Debido a los recursos finitos disponibles en cualquier lugar, este no es un juego que puedas dejar por largos períodos de tiempo. Este juego es similar al juego de simulación comercial con un nombre similar. Este paquete proporciona archivos comunes a las versiones X y SVGALIB del juego.
Además de no estar en consonancia con la estética, la pantalla LCD también tenía la molesta costumbre de mostrar una advertencia sobre estar fuera de rango sobre lo que de otro modo parecía ser una pantalla funcional, especialmente al jugar juegos que utilizaban SVGAlib para gráficos. Podría solucionar esto iniciando ciertos juegos SVGAlib más flexibles, como la versión final de LinCity, antes de iniciar las aplicaciones ofensivas, ya que, por alguna razón, esto parecería calmar los nervios de la pantalla, pero estaba más que feliz de dejar esos dolores de cabeza atrás.
utilizando las bibliotecas QT y KDE para la versión 1.0 de KDE.
Cuando instalé Linux por primera vez, me topé con una nueva versión de Thrust. Fue brutalmente difícil, pero disfruté el juego. En ese momento lo ejecuté con svgalib, un antiguo sistema gráfico de consola que requería acceso root.
Dejando de lado las limitaciones, SVGALib ha demostrado ser una solución estable y popular para el problema de la consola y es la interfaz principal utilizada en Quake y otros juegos.
Siempre he sido un nerd de los videojuegos, por lo que para mí era importante ver cuánto podía jugar en este nuevo sistema. Recuerdo lo emocionante que fue hacer que Doom se ejecutara en pantalla completa: [la biblioteca de gráficos] svgalib era un monstruo que estoy seguro de que nadie extraña hoy en día. También me cautivó mucho Maelstrom, un puerto para Linux de un elegante clon de Asteroids para Mac.
SDL Sasteroids es una revisión importante del juego sasteroids original para permitir su ejecución en sistemas modernos. Además de proporcionar una jugabilidad muy similar a la del juego sasteroids original, se han insertado algunas sorpresas y actualizaciones para que sea divertido para los fanáticos nuevos y antiguos. :) Sasteroids fue originalmente un juego de Asteroids escrito para svgalib.
Dicho esto, probablemente publique información sobre los juegos de SVGAlib en el futuro, ya que fueron un paso fascinante y olvidado hacia SDL.
Los servidores Quake y QuakeWorld pueden ser ejecutados por cualquier usuario. Sin embargo, los clientes Quake necesitan acceso a sus tarjetas de sonido y gráficos, lo que requiere privilegios que los usuarios normales no tienen. Una (mala) forma de lidiar con esto es ejecutar siempre Quake como root. Los administradores de sistemas responsables se estremecerán ante esta sucia sugerencia. Hacer que los binarios de Quake sean setuid root es una solución más aceptable. Quake puede ser ejecutado por usuarios normales y aún así tener los privilegios que necesita para acceder a los dispositivos de sonido y gráficos. Sin embargo, setuid presenta un riesgo de seguridad. Un usuario inteligente podría explotar un error o un agujero de seguridad en Quake para obtener acceso root a su sistema. Por supuesto, si no ejecuta un sistema multiusuario, esto puede no ser una gran preocupación.