[Verse-dev] "Betray" on X11

Emil Brink emil at obsession.se
Thu Jan 4 15:17:26 CET 2007


Hello.

This is just a brief note that I've committed a native X11 back-end for
Eskil's "Betray" library today. This means that on Linux (and, I guess,
on Mac OS X and any other platform where X11 is available, too), his suite
of apps can run with even fewer external dependencies, now.

For this reason, X11 is now the default back-end on Linux.

It can seem a bit silly to have another native back-end, and not just go
ahead and use SDL on all platforms, but we've been having problems with
SDL (which is why Eskil wrote b_win32.c, the Win32 native back-end). So,
I didn't want Linux/X11 users to be left without. :)

Anyway, it's not a huge amount of code, for any of the back-ends:

$ wc --lines b_sdl.c b_glut.c b_glfw.c b_win32.c b_x11.c
   270 b_sdl.c
   218 b_glut.c
   189 b_glfw.c
   318 b_win32.c
   273 b_x11.c
  1268 total

As can be seen, the X11 back-end is about the same size as the SDL one,
and quite a few lines shorter than the Win32 one. I'm not 100% sure that
these comparisons are fair, there might be things I've missed in the X11
back-end ... But the apps do run on X11.

Looking with ldd, the list of dependencies is now quite a lot shorter:

~/data/projects/quelsolaar> ldd ./connector
    linux-gate.so.1 =>  (0xffffe000)
    libGL.so.1 => //usr//lib/opengl/nvidia/lib/libGL.so.1 (0xb7f20000)
    libm.so.6 => /lib/libm.so.6 (0xb7efc000)
    libc.so.6 => /lib/libc.so.6 (0xb7de6000)
    libX11.so.6 => /usr/lib/libX11.so.6 (0xb7cf4000)
    libGLcore.so.1 => //usr//lib/opengl/nvidia/lib/libGLcore.so.1
    libnvidia-tls.so.1 =>//usr//lib/opengl/nvidia/lib/libnvidia-tls.so.1
    libXext.so.6 => /usr/lib/libXext.so.6 (0xb7372000)
    libdl.so.2 => /lib/libdl.so.2 (0xb736e000)
    /lib/ld-linux.so.2 (0xb7fc3000)
    libXau.so.6 => /usr/lib/libXau.so.6 (0xb736b000)
    libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0xb7365000)

Not sure if there is anything there left to remove. :)

Since I'm not much of an experienced X11 programmer, I very much welcome
feedback and comments on this code, if any of you out there feel like giving
it a test spin.

Regards,

/Emil


More information about the Verse-dev mailing list