Pretty much everything MSX said is correct. Just for your own info. SDL currently access DirectX 5 on Win32 and can also access GDI if you set an environment variable. So theoretically you could get your 2D game to run on quite old hw. On Un*x and the like is can either use X11 or the new Direct Video standard ( I think ) and as mentioned on all platforms for 3D it lets you use OpenGL. If using it with OpenGL then treat SDL like you would Glut, which is basically as a window and input manager.