# HG changeset patch # User Sam Lantinga # Date 992655129 0 # Node ID 3647c809813d1bd04581de7c501550a34b8fcb38 # Parent 7c26b77e610d337cb7e1e3bed8e4293ef686e65c Support for SVGALib 2.0, thanks to Benjamin Joel Stover diff -r 7c26b77e610d -r 3647c809813d src/video/svga/SDL_svgavideo.c --- a/src/video/svga/SDL_svgavideo.c Sat Jun 16 01:03:49 2001 +0000 +++ b/src/video/svga/SDL_svgavideo.c Sat Jun 16 01:32:09 2001 +0000 @@ -32,6 +32,9 @@ #include #include #include +#include +#include +#include #if defined(linux) #include @@ -77,7 +80,11 @@ { /* Check to see if we are root and stdin is a virtual console */ int console; + + /* SVGALib 1.9.x+ doesn't require root (via /dev/svga) */ + int svgalib2 = -1; + /* See if we are connected to a virtual terminal */ console = STDIN_FILENO; if ( console >= 0 ) { struct stat sb; @@ -88,7 +95,14 @@ console = -1; } } - return((geteuid() == 0) && (console >= 0)); + + /* See if SVGAlib 2.0 is available */ + svgalib2 = open("/dev/svga", O_RDONLY); + if (svgalib2 != -1) { + close(svgalib2); + } + + return(((svgalib2 != -1) || (geteuid() == 0)) && (console >= 0)); } static void SVGA_DeleteDevice(SDL_VideoDevice *device)