Fedora Core 5

So my HD ran out of space, due to bad guesses when I partitioned the drive the last time. I took this as an opportunity to wipe out everything (after a backup of /home and /etc of course) and install another distro for a change, this time Fedora Core (after a journey from Suse (1997), Debian (2000), FreeBSD/NetBSD (2004) to Ubuntu (2005)). Fedora is outstanding in that it seems to be the only distro that takes a strong stand against non free or patent encumbered software. Debian and Ubuntu also highlight freedom in their ‘social contract’ and ‘philosophy’ but still maintain ‘non-free’ (Debian) and ‘restricted’, ‘multiverse’ and lately even ‘commercial’ (Ubunut) software repositories. Fedora’s repositories contain only free software. And for those who really need non free software there are certainly 3rd party repos out there.

Installation

.. was reasonably easy, at least the standard options. I wanted to do a netinstall to avoid downloading 5 ISOs. After digging around a little I found the boot and host options required for that only to find that the bare install took >4 hours. Maybe it’s better to download the ISOs then. Apart from that I’ve been quite pleased with Anaconda. I appreciated that it sets up the partitions with / already in an LVM, so if my partitioning scheme turns out to be wrong once again, I can easily move around the LVM volumes to fix this. I was also surprised that Fedora incorporates and enables a couple of interesting security technologies by default (Exec-shield, PIE, Elf Data Hardening and SELinux).

First boot

Wow. After a stylish Grub screen and having loaded the kernel, one of the first thing that init does is starting an X server. The remaing boot procedure is then presented in full resolution and color. Wasn’t that obvious? I mean there’s already bootsplash and usplash out there, which use more or less ugly framebuffer hacks to make low-res/low-color boot screens while the X server can support the full bandwidth of your graphics card right after the kernel and udev have been started. It seems unfortunate however that GDM starts the X server again. BTW, the Fedora look and feel is very pleasing to me. This blue bubbly theme is really nice, especially when having such a hot summer. And it is consequently realized, from grub over the boot sequence, GDM, Gnome, screensaver and probably other details that I haven’t seen yet. Ubuntu has a reputation to be very polished, which might be true when comparing against Debian, but it can’t compete with Fedora’s eye candy yet. IMO.

My personal key requirements

  • Software suspend. Works right out of the box. No swsusp2 yet, but the older swsusp seems to work perfectly well. (which wasn’t the case for Ubuntu, +1 for Fedora).
  • Graphics card. I need the same hack as in Ubuntu (and presumably all other distros right now), which is installing a custom ACPI DSDT (requires a kernel rebuild, vs dropping a file somewhere in Ubuntu) and building the Mesa driver from Mesa CVS. I think this will be resolved when Mesa does another release. Dunno about the DSDT stuff though. It makes me wonder, buggy DSDTs seem to be the source of many problems, from USB over graphics cards to powersave functions and more, installing a custom DSDT (from http://acpi.sf.net) seems to fix hardware driver problems for many folks out there, why can’t this be included somehow into the mainline kernel, together with some motherboard detection this should not be too difficult. But then again I’m not a kernel hacker and completely naive in this regard.
  • Package handling. Well, one reason why I sticked to Debian and Ubuntu for so long was that I’ve been branded by Suse with a very bad experience with RPM. Sure it must have been evolved over the years, but in the back of my HEAD it still was as bad as it has been around 1999 or so, which really was a mess. After all, yum seems to be compare quite well to apt-get now. The real stress test will be the upgrade to FC6 I guess. Let’s see how it turns out. I really liked how one could upgrade a running system from one release to another in Debian and Ubuntu.

So I think this might be the beginning of a beautiful friendship. Let’s see how it works out in real life.

Advertisements

faster faster faster!

After some more tweaking in Escher and Twisti implementing a shiny new feature in CacaoVM (disabling assertion checking with -dsa/-ese,THANKS Twisti!) the Escher graphics performance could be nearly doubled again, coming closer to the JDK performance. Lesson learned: when putting asserts in performance critical code, make sure you disable them when doing real stuff. And never do assert read() == bla, or something similar, you can’t be sure that the read() is actually executed. Find updated useless stats here. For the sake of at least some fairness I also updated the Cairo results to account for the new CacaoVM. It doesn’t have such a great impact there though.

Pimping up the Escher

In the last couple of days I rewrote some core parts of Escher, making it much faster than before. I changed the way how Escher dispatches the X commands to the X server, and according to these AWT 1.1 Graphics benchmark results, it is now ~3 times faster than before. Also included in this benchmark are results for JDK and Cairo based peers for comparison. This shows that the Escher peers are ~3 times slower than JDK, and the Cairo based peers are again ~5 times slower than Escher. This comparison is not quite fair though, because JDK and the Cairo based peers implement Graphics2D which works differently than the AWT1.1 style Graphics. However, first tests with Graphics2D on Escher/GLX show that it is very likely to be faster than the current AWT 1.1 style implementation. Well, no surprise really, it’s OpenGL accelerated…

Anti blog spam

As my blog was plagued by spam I was looking for a spam catching solution and found Bad Behaviour which acts as a plugin for WordPress and blocks spam quite effectively. It implements an interesting approach in blocking spam by not filtering the posted comments but instead analyzing the ‘surfing pattern’ of spambots and not ‘showing’ them your site at all.

Installation was as easy as dropping the contents of a zip in WordPress’ plugins dir. It is also available for other blog, wiki and CMS software. I really recommend this.