New release: Haiku R1 Alpha 1

21 September 2009

The Haiku Project, whom I wrote about earlier this year, have released version R1 Alpha 1 of their operating system.

It’s a very exciting milestone, both for me as a fan, and for them as developers. Despite being usable for a couple of years now, and having the ability to run many legacy BeOS applications, it has had no major milestones or releases made. Now that they have made a release, I hope the momentum they create will help them to follow the old adage, Release Early, Release Often.

If you haven’t heard of or tried Haiku yet, I would highly recommend it. The OS isn’t packed with bling; nor does it run the latest games with the highest FPS. What it is, though, is an awesome OS with a simple easy-to-use GUI, with a POSIX-compatible shell, built on top of a hybrid kernel (very microkernel-like), which means it always remains responsive, even under heavy load. Haiku can give you responsiveness and real-time-ness that you will never see under Linux, nor OS X or Windows.

R1 Alpha 1 release images have been built with GCC 2.95.3, not the more modern GCC 4. This has been done to ensure binary compatibility with legacy BeOS applications. It comes as a CD image, a raw image (for writing straight to a hard disk or USB flash drive), and a VMware/VirtualBox VM for those that only like to get their toes wet (see the downloads page).

Playing with Haiku

10 March 2009

A good many years ago, I played around with BeOS R5 Personal Edition, which was a fun and different little operating system from the late ’90s and early ’00s. I first encountered this operating system when it was bundled on a free CD that came with an issue of the PC PowerPlay magazine.

BeOS R5 Personal Edition was fun to play with, but rather limited, owing to the fact that it installed itself into a 512MB loop partition, of which the size couldn’t be adjusted. Also, unfortunately, the hardware on which I ran it wasn’t supported very well (in particular, I had no networking), so I stopped using it after a while.

A couple of years ago, I heard about the Haiku project, which is an open source clone of BeOS that aims to be binary compatible with its applications. Back then, it was quite unstable, had absymal hardware support, and didn’t run very well under virtualisation.

Well, that’s all changed. Though Haiku hasn’t reached 1.0 yet, its daily builds are very impressive. I have been testing Haiku during the last couple of days, doing my usual hacking, and it has not crashed once. Seriously — my Haiku system has not crashed yet. The same could not be said of it two years ago, or even one year ago.

Apparently BeOS (and thus Haiku) uses a microkernel architecture, which is quite cool. They also appear to be the starters (PDF) of the *Kit fad.

Even my Hackintosh system gets unstable after about 18 hours of use (I suspect memory corruption from the video driver), and my Gentoo system will regularly refuse to launch applications (I suspect something is blocking in klauncher) or shut down (udev likes to hang). Haiku has now met the bar in terms of stability, in my opinion.

Haiku supports 2D acceleration on my GeForce 7600GT (also tested on a GeForce 8600, which does not support acceleration yet), and supports my nForce network adapter (it currently uses a driver ported from FreeBSD, although there is also a previous port of forcedeth) brilliantly. One bug forces me to jump through a hoop to get DVI video working, however. The video resolution (GMA950, 1024×600) and Atheros network of my Eee 901 were also supported out-of-the-box, although Haiku has no wireless LAN support yet.

Getting up and running is child’s play. Haiku is distributed in raw HDD images and VMware images. The raw images can be dd‘ed straight to a USB flash drive or hard drive partition and booted, or run in QEMU.

Yep, booting Haiku off a flash drive is as easy as dd‘ing the image onto the drive. (Haiku only supports USB 2.0, not 1.1 at this present time, but I doubt there are many computers with USB 1.1 around that can boot off USB.)

Haiku natively supports SMP (Symmetric Multi Processing), which BeOS also had way back as long ago as 1995. (The BeBox sold between 1995 and 1996 shipped with dual PowerPC processors.)

I’m not sure if it’s just a gimmick, but you can turn off one or more of your processors using the ProcessController applet. If you try and turn off all your processors, however, you are chided:

"This is the last active processor...you can't turn it off!" (Button is captioned "That's no fun!")

That’s an improvement over the original BeOS, where if you turned off all your processors, the system would instantly lock!

Haiku ships with Firefox 2.0 and VLC 0.8.6c, and is fairly POSIX-compliant. Most stock-standard Unix apps should compile fine on Haiku. Haiku is currently shipped as being compiled with GCC 2.95.3, but GCC 4.1.2 and 4.4.3 versions can be compiled from source.

Standard UI font family is good old DejaVu, which I have grown to know and love, and uses FreeType for rendering and hinting. (Binary distributions are shipped without subpixel font rendering, for fear of patent infringement, but support can be compiled in manually.)

The one area which I have had no success in yet is audio. When running under VirtualBox or QEMU, I can emulate an AC’97 audio card. I can play music files, but the resulting audio are garbled and barely recognisable. On my physical systems (Intel HDA), the sound card is not detected at all. Update: If you compile OSS 4.1rc4, audio then works.

Still, it is very fun to play with. Oh, one tip for those of you trying out Haiku: hold down Shift as you drag on the title bar of an application.