FAQ: Using SDL
Contents
How do I choose a specific video driver?
You can set the environment variable "SDL_VIDEODRIVER" to the name of the driver you want to use. The drivers available depend on the platform and SDL compile-time options. Here is a partial list for some platforms:
- Linux:
- x11 - (default) Use the X11 windowing system
- dga - Use XFree86 DGA 2.0 for fullscreen hardware acceleration
- fbcon - Use the framebuffer console
- directfb - Use the DirectFB API
- svgalib - Use the SVGAlib API
- ggi - Use the General Graphics Interface API
- aalib - Use the Ascii Art library
- Win32:
directx - (default) Use the DirectDraw API
- windib - Use the standard Win32 GDI
How do I choose a specific audio driver?
You can set the environment variable "SDL_AUDIODRIVER" to the name of the driver you want to use. The drivers available depend on the platform and SDL compile-time options. Here is a partial list for some platforms:
- Linux:
- dsp - (default) Use the OSS API by opening /dev/dsp
- dma - Use the OSS API to perform DMA access on /dev/dsp
- esd - Connect to the ESound audio daemon
- artsc - Connect to the ARTS audio daemon
- Win32:
dsound - (default) Use the DirectSound API
waveout - Use the Win32 MultiMedia API
What environment variables are used by SDL?
Mattias EngdegÄrd has made a partial list of the environment variables that SDL may use. Keep in mind that these environment variables are not officially supported, and may change or go away at any time. ftp://ptah.lnf.kth.se/pub/misc/sdl-env-vars
Why does SDL disable my screensaver by default?
Many applications using SDL are games or screensavers or media players where the user is either watching something for an extended period of time or using joystick input which generally does not prevent the screensaver from kicking on.
You can disable this behavior by setting the environment variable: SDL_VIDEO_ALLOW_SCREENSAVER=1 This can be set globally for the user or on a per-application basis in code.