Dienstag, 7. Dezember 2010


Flights and Hotels are booked (thanks Lisi!), see you at Fosdem 2011 :)

Samstag, 13. November 2010


I really wonder what was the idea (or who had it) behind ommiting the width/height parameters from XShmGetImage:
Status XShmGetImage(Display* dpy ,Drawable d, XImage* image, int x, int y, unsigned long plane_mask)
Those two parameters where in XGetImage, even although an XImage is really cheap to construct client-side.
If you have to read back a certain area using XShmGetImage, either you create a fresh ShmImage (quite expensive) or you read back a too large area (also expensive, and sometimes not even possible).

I've been revently working a bit in OpenJDK's surface readback mechanism and this descision causes great pain there. Omiting those two parameters makes ShmGetImage only half as useful and efficient as it could be.

Samstag, 26. Juni 2010

IE9 to be GPU accalerated - Firefox-2.0+ too ;)

There seems to be quite a hype caused by the fact that the IE9 preview builds use Direct2D to accelerated HTML/SVG/Canvas rendering.
I always wonder why people didn't hype Firefox the same way, when FireFox-2.0 was released in Oct. 2006 it did exactly the same thing - using Cairo on top of XRender.
That was 4 years before Microsoft will release IE9 :P

FireFox-3.6 does even well on the IE9 canvas/svg demos:

(Granted, I had to scale down the background image, my weak intel-IGP has limited texture size of 2048x2048px)

Its also a good demonstration why the usual QT/KDE-Statement "we won't work on our XRender backend, the raster engine is faster anyway" isn't that clever.

Samstag, 12. Juni 2010

Xrender pipeline now in JDK7 master :)

The XRender pipeline has been integrated into the jdk7 workspace:

Thanks a lot to Phil Race who led the review-process and did many corrections and enhancements himself as I was/am rather busy right now.

This means from now on OpenJDK7/JDK7 will be shipped with the xrender pipeline included, but disabled by default for now.
The code integrated is the rewritten/new version, including the java-part of the "Jules" rasterizer-plugin which uses cairo for antialised rendering. I'll soon provide pre-built binaries of Jules for x86/amd64 as well as up-to-date sources. Whats missing is the pure-java protocol generator, its not ready yet.

In order to use the xrender pipeline simply grab a recent enough OpenJDK-7 build, or Sun's closed source JDK7-b97+ and pass -Dsun.java2d.xrender=True to the runtime.
Should work on recent Linux and Solaris distributions.

So whats next:
- Bug fixing, so grab a build and cu on OpenJDK's Bugzilla ;)
- Porting Jules to Cairo-1.10 (should improve performance when used as AATileGenerator for BufferedImage targets)
- JDK7u10 enables the pipeline by default ;)

Freitag, 14. Mai 2010

Linux Desktop Experience

Today I decided to update the Fedora-10 installation on my father's PC.
Its an old Athlon-600 with 384mb ram, KDE4.2 was way too heavy and the proprietary nvidia driver didn't accelerate 2D stuff well - the overall desktop experience wasn't so pretty.
I thought installing a modern distribution using the lxde desktop would help here, and nouveau would provide descent EXA/2D support.

1. Installation of Fedora-13-Rc3 LXDE spin live cd failed, "Install to Disk" simply aborted.
2. Downloaded Fedora-12 LXDE spin live cd, didn't boot at all.
3. Downloaded Ubuntu-10.04. Azureus crashed on my Laptop in Hotspot's server JIT.
Installation worked well, however only used fbdev - nouveau backtraces in dmesg.
4. Went to Ubuntu Launchpad, registered for an account, filed a bug and .... launchpad reported timeouts.

So of course, I can make Linux work on Desktop, however to be honest ... I doubt an average PC user would be able to solve the problems mentioned above. This is a boring, old computer without any fancy hardware.

OK here's another one:
5. Tried Fedora-13 Netinstall, refuses to start graphical mode because too little ram (384mb + 1gb swap)
6. Anaconda in text mode is *crap*. Partition manager non existent (and buggy!), ugly LVM based default partitioning, no package selection.
7. Install Lubuntu 10.4 + proprietary nvidia driver. Works well (horray!)

Donnerstag, 22. April 2010

Prebuilt jre-image available

For testing-purposes I've created pre-built jre packages for x86 available at:

To try it, simply pass -Dsun.java2d.xrender=True to java, e.g.
> bin/java -Dsun.java2d.xrender=True -jar demo/jfc/Java2D/Java2Demo.jar

Those OpenJDK based builds contain the latest xrender sources, as well as the Jules rasterizer.
I'll try to keep those builds in sync with jdk7 master as far as possible.

Have a lot of fun :)

Samstag, 20. Februar 2010

Fglrx to get XRender hw acceleration

According to Phoronix fglrx (AMD's closed-source graphic driver) has experimental support for accelerating 2D, I guess that means XRender (too?). I've been told for a long time by an AMD guy they are working on this, however after waiting for over a year I already gave up hoping for improvements.

Basically this is really great (if they produce something useable), because now *all* drivers have solid XRender support:
  • NVidia's proprietary drivers are best in class, doing even Trapezoids on the GPU (for GTX260++)
  • All major open-source drivers (intel, radeon, nouveau) support XRender quite well
  • Hopefully soon fglrx will accelerate it soon too.

So basically 95% of hw in use has drivers with quite good XRender support :)
And even on hardware/driver combos that don't accelerate it well, pixman fallbacks shouldn't be much slower than what java does with its X11 pipeline.

I would love to see it enabled in JDK7 by default, even it that would mean a lot of work + compatibility testing. JDK7 is still early enough to get serious testing. As optional pipeline, it seems notbody uses it (or it just works) ;)

Mittwoch, 3. Februar 2010

vServer troubles

me: Hi, my vServer has been shut down. Could please start it again?
Support: You were running tor. This is not permitted.
me: I only found paragraphs about IRC. Where is tor mentioned?
Support: In the AGB.
me: I made a copy of the contract and it only says IRC servers are forbidden.
Support: Another machine has been hacked from your tor server.
That was the reason we took you offline. We will sue you.
me: My tor is configured as relay only, its not an exit node. Therefor no hacks are possible.
Support: I won't discuss that any further. Please send an email to support@ ......

Bottom line is my vServer is up again, nobody has been hacked, and nobody will sue me ;)