CL-SDL
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 http://cl-sdl.sourceforge.net/.
Using CL-SDL with CLISP
You need the above UFFI wrappers. Additionaly, 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.
Download ASDF package from http://kent.dl.sourceforge.net/sourceforge/cl-sdl/cl-sdl_0.2.2.tar.gz
heatnet doesn't seem to mirror it for now. (package "http://heanet.dl.sourceforge.net/sourceforge/cl-sdl/cl-sdl_0.2.2.tar.gz")
Page in this topic: SDL
Also linked from: Erik Winkels opengl-extensions poly-pen Screenshots UFFI
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively