[kaffe] pure Java X Protocol implementation driven by Kaffe

jserv at linux2.cc.ntu.edu.tw jserv at linux2.cc.ntu.edu.tw
Mon Jan 31 02:24:02 PST 2005

Hello all,

  I am glad to share my progress of KMM Project[1]. The status
of KMM is still very rough, and I have to fight for the infra-
strure based on Kaffe. In the meanwhile, I was seeking for Java
binding of OpenGL, and I found many of existing binding packages
were not feasible for Kaffe due to their need of JAWT[2] and 
performance issues. In fact, we must make use of hardware 
acceleration to improve our implementation instead of more and
more JNI conventions, which is really an overhead.

  Also, I noticed that Sun's Project Looking Glass adapts the
pure Java X Protocol implementation, Escher[3]. After some
hacking enforcing on Escher, I have been successfully working 
on usable pure Java implementation based on KaffeVM. As for my
progress, the pure Java applications powered by Kaffe can use
X protocol and GLX[4] extension to activate the function of
OpenGL with proper hardware acceleration.

  Here are my screenshots showing my recent work:




  The X server I use is Xorg[5], which is the open source implemen-
tation of X Window System derived from famous XFree86. You could
notice that there are some alpha blending and translucency support
in my screenshots. Yes, I did modified Escher to let it work with
Xorg's new extensions, such as XRender, XDamaga, XComposite, etc.

  In the later screenshot, you could see the normal X11 program,
gtk-demo shipped with GTK+ 2.x, running on the desktop, and other
programs are pure Java applications acting as "X11 client" via
pure Java X Protocol, even the OpenGL demos. Of course, they are
all Kaffe powered except gtk-demo.

  I will make my progress public once the critical problem in KMM 
get fixed. and it seems to be better now. We are looking for nicer
and wider applications for Kaffe.

Jim Huang <jserv AT kaffe>

[1] http://www.kaffe.org/pipermail/kaffe/2004-April/045904.html
[2] http://java.sun.com/j2se/1.3/docs/guide/awt/AWT_Native_Interface.html
[3] http://escher.sourceforge.net/
[4] http://www.sgi.com/products/software/opensource/glx/
[5] http://xorg.freedesktop.org/wiki/

More information about the kaffe mailing list