Friday, March 17, 2006

Kororaa Linux Xgl LiveCD

We recently downloaded the Kororaa Project's Xgl Demo Live CD (Version 0.1) to test out the new Xgl and Compiz technologies. A LiveCD is a simple and painless way of auditioning Linux without the hassle of installation. The transparency, motion, and 3D effects looked extremely cool and we had to give it a try.

Our test machine was a 2.0 GHz Pentium 4, 512 MB RAM, GeForce4 MX 440 (64 MB) video card, Sound Blaster 16 PCI card, on-board VIA 8235 sound chip, and a Labtec 704 USB microphone. The Kororaa LiveCD booted up fine but the mouse and window responsiveness was horrifically slow. Something was definitely wrong and our 2 GHz machine seemed more like a 2 MHz machine. Restarting with the "kororaa noapic" boot options solved the problem. Our first reaction was "Wow, this is awesome!"

Next we fired up baudline, performed some testing, and the screenshots are below.

Opaque Transparency
With the Compiz window manager the Ctrl+Shift+wheel key/mouse sequence adjusts a window's transparency. Windows can be made partially opaque which can be used in a powerful way with baudline.

In the above image; the Tone Generator is creating a FM sine sweep and the aliasing makes for some interesting spectrogram patterns. The Waveform and Histogram windows are visible but since they are transparent they don't block the green spectrogram window. This is a very effective method of maximizing limited screen real estate.

In the image above; the yellow-pink-blue spectrogram takes up the entire 1024x768 screen (except for the Gnome tool bar at the bottom). The SNR, THD, ENOB, and SFDR distortion measurement windows are transparent and they don't obscure the main display.

Spinning Cube
The virtual workspace is switched by Ctrl+Alt+mouse_button or Ctrl+Alt+arrows key combinations and the green and pink baudline spectrogram sessions spin around in an animated fashion. Makes me dizzy but it is groovy!

Jiggly Jello
Shake the title bar like a Polaroid picture and the window acts like jiggly jello. Unfortunately the image below doesn't do this feature justice. The motion is clean, smooth, and fluid. Nice physics implementation of the dynamics and the Q damping factor. This feature is a lot of fun to experiment with. (:

Baudline ran extremely well on Kororaa v0.1, better than on most LiveCDs, but there were some minor quirks:

  1. Minor screen and window sizing problems. The Metacity window manager was replaced by Compiz. Some code tuning for Compiz has been added to the baudline TODO list.
  2. Only 2 audio cards were mounted and our USB audio mic could not be used We think this is a kernel setup limitation.
  3. Xgl uses an incredible amount of CPU resources and the baudline scrolling speed is slow. The screen is double buffered for the 3D engine and this adds a large overhead. Our 2 GHz machine runs baudline with very high performance (3000 FFTs/seconds with a 100+ FPS scrolling speed). With the Kororaa CD the baudline performance was equivalent to a 200 MHz x86 with a low end graphics card running a traditional X-Server. All of that fancy 3D FX are expensive.
  4. The default (-reset) baudline performance on Kororaa was 150 FFTs/second and a 30 FPS rate. Most modern machines have no problem rendering a 125 FPS rate. By restarting baudline with the "-backingstore -xslip 1" command line parameters a 50% frame rate improvement to 45 FPS was possible. Xgl uses a double buffer scheme so the -backingstore flag is just taking advantage of what is already running.

Kororaa, Xgl, and Compiz are very cool. Compiz could be a little more feature rich such as adding window raising, lowering, stay on top, and stickies. Baudline could use some minor tweaks and tuning for Compiz. Our 2 GHz Pentium 4 and GeForce4 MX 440 machine is really pushing the bottom of the performance envelope while running baudline. Kororaa with a dual core 3.4 GHz P4 and a top of the line Nvidia card would be an amazing machine to run baudline on.

For the best Kororaa Xgl performance remember to startup baudline with the following command line:

baudline -backingstore -xslip 1

1 comment:

baudline said...

Unfortunately the Kororaa Linux Xgl LiveCD project was terminated at version 0.2 because some mysterious kernel developer threatened the Kororaa project with legal action. The dispute centered on the inclusion of proprietary graphic drivers with the GPL Linux kernel on a LiveCD. Instead of fighting this claim the Kororaa team gave in and terminated the LiveCD project. This is a serious loss to the Linux world and it is sad that a rouge kernel developer would destroy an educational tool that had the potential to introduce and convert new users to the greatness of Linux.

Note that Kororaa and many other Linux distributions include the 3D Xgl desktop for hard drive installation. Only the Kororaa Xgl LiveCD was terminated. So a 3D Xgl desktop is still possible, it is just not available on a simple and easy to use LiveCD.