>LibNSFB: "The overall idea of the library is to provide a<p><i>generic abstraction to a linear section of memory which corresponds to a visible array of pixel elements on a display [surface, context, software abstraction layer or] device</i><p>Different colour depths are supported and the library provides routines for tasks such as drawing onto the framebuffer and rectangle copy operations.<p>LibNSFB currently supports the following as framebuffer providers:<p>Linux framebuffer<p>X<p>SDL<p>VNC<p>ABLE framebuffer"<p>Absolutely beautiful -- and necessary!<p>I was looking for a library like this that was not tightly coupled to other extraneous and unnecessary software (aka "bloatware") but could work across multiple graphics context providers, providing the same abstraction to each (i.e., software that is written for one software stack, i.e., X, automatically works for another software stack, i.e., SDL).<p>Here we're not trying to be a game engine or a sound engine or anything else.<p>We (by which I mean the developers!) are only trying to do one thing and do it right, and that's to abstract a graphical drawing surface, a bitmap, a "graphical viewport on the screen" across all of the above lower-level implementations.<p>So, I was looking for something like this for some time...<p>Well done!