Please note Jules is more or less proof-of-concept, especially the native code is ugly, full of dirty assumptions and its probably not 64-bit clean.
However it runs Java2Demo quite well, and usually is a good deal faster than pisces even when rendering to software-surfaces. (and a *lot* faster when rendering to XRender surfaces), especially with the client-jvm.
Because of the need for a modified version of cairo and its complex build-system, I've seperated the native components and build them indepent from OpenJDK - falling back to pisces when loading fails.
Howto:
1.) Download
The webrev can be downloaded from:
http://93.83.133.214/webrev-
The native jules/cairo code is located at:
http://93.83.133.214/jules-0.
2.) Patch
To patch your local jdk7 repository, just do
> hg import ~/webrev/jdk.patch
or if your hg has that option:
> hg import --no-commit ~/webrev/*.patch
3.) Build
- Build your JDK as usual
- Compile Jules by running build_jules.sh (some makefile guru here?) ;)
- Copy libjules.so into build/linux-i586/lib/i386 or elsewhere, where it can be found by the JVM
4. Use it
Simply adding "-Dsun.java2d.renderer=sun.java2d.jules.JulesRenderingEngine" should do the trick :)
In addition you can enable the xrender-backend too, "-Dsun.java2d.xrender=True".
If everything works you should see:
XRender pipeline enabled
Jules library successfully loaded
Known problems:
- Some clipping problems when rendering to software surfaces
- Paints get wrong transformation when rendering to XRender surfaces
Last but not least the usual screenshot:

Update: Unfourtunatly my Nokia-770 where the stuff is hosted went down. Its up&running again.

Kommentare:
Yay cool!
Hi, i made a first attempt of building Jules for Icedtea7/ARM: http://mail.openjdk.java.net/pipermail/xrender-dev/2009-December/000033.html
Kommentar veröffentlichen