CL-SDL is a set of Common Lisp bindings for the SDL graphics library, and OpenGL, using UFFI.

Unless you have a specific need for CL-SDL you should use lispbuilder-sdl. The CL-SDL project is not maintained anymore.

It currently runs, to some extent, on a number of platforms, such as

  • CMUCL/x86
  • ACL: Allegro/Linux/x86 and Allegro/win32
  • LispWorks/Linux/x86 and LispWorks/win32 (but only 2D so far)
  • SBCL/x86 and SBCL/PowerPC (but only certain demos don't crash)
  • OpenMCL/Darwin (it compiles/loads and hopefully might even work soon!)
  • CLISP using the UFFI wrapper macros from Sourceforge's CLISP Patches section. The demos report the same FPS rate as for CMUCL, which shows that their limiting speed factor is not bytecodes vs. native code, but probably the OpenGL/MESA libraries and hardware. It doesn't quite work. Does anyone has info how to make at least part of it work on win32? Note: There are Win32 DLLs on the project website, dated March 14, 2004.

The project page is at

Using CL-SDL with CLISP

You need the above UFFI wrappers. Additionally, I put my patches to CL-SDL on Sourceforge. That's how I got it running on Linux. I didn't try out MS-Windows. -- Jörg Höhle

Problem with the popular Nvidia proprietary binary OpenGL drivers on Linux and CL-SDL on CMUCL:

There is a problem with the "Thread Local Storage" (TLS) libraries of the nvidia drivers (and probably any other TLS libraries) in conjunction with CMUCL. A workaround is to set the environment variable LD_ASSUME_KERNEL=2.3.98 in the unix environment of your lisp process.

Upgrading to 0.6111 GNU/Linux driver version, problems related to Nvidia and TLS seem to be fixed.