Sunday, January 25, 2009

The KDE 4 to GNOME Switch

I was happy to see the latest news that Linus switch to GNOME--a move I made and blogged about previously.

While testing out KDE4 and deciding on GNOME, I kept thinking, "...but if Linus prefers KDE, I must be missing something."

Anyway, the word on the street is that "KDE 4.2" is the "KDE 4" we've been waiting for. I'll definitely give it a spin and see.

I think KDE 4 visually looks great--even when in non-compiz/non-accelerated mode--the widgets and desktop look good.

In order for GNOME and KDE to compete with modern OS's, they need to look and behave like other modern desktops. The non-compiz GNOME desktop is starting to look dated to me, and I just don't trust a compiz-enabled GNOME desktop to be stable enough--based on my most recent Fedora 10 testing. Sure you can run compiz and change out panels and add cool applets, but that's a lot of work especially for the non-techie desktop user. Out-of-the-box, KDE 4 just looks modern, though it's been buggy and lacking in usability.

Flash, Linux, and PixieHollow

So I decided to try a little experiment and move some household computers over to Linux. Going into it, I figured there wouldn't be too many problems. The games played by my kids are, for the most part, online games developed in Flash. With Flash 10 now readily available for Linux on 32 and 64 bit machines, Linux would be on par with Windows Flash functionality.

With the computers now happily booting into Debian, I had one of my children log in to test it out. Wouldn't you know it, the latest online Flash-based game Disney's Pixie Hollow failed to load. Everything looks fine until you get a strange error message about it losing the login information.

After trying several different combinations of Firefox and other browsers I found a solution.

Solution:Use a Flash 9 version of the Linux plugin--not the latest Flash 10 plugin. From there, everything has worked fine.

On a 64 bit Linux install, this means running a 32-bit version of Firefox with the Flash 9 plugin. Running nspluginwrapper didn't work either, so I stuck with the 32 bit Firefox / Flash 9 combination.

To date, all the online Flash games play great and are indistinguishable from their Window's counterparts on the outside. Of course, I sleep better knowing what's driving the code.

Locating older versions of Flash to download was little tricky, so here is the link.

So far, no major complaints from the family on the migration. I still have a Windows machine for iTunes and a few other Windows games floating around. My goal will be to move that functionality to Wine or VirtualBox in the very near future.

Wednesday, January 7, 2009

Linux 64 bit disk IO Performance

You may be asking yourself why I've even bothered looking at other operating systems if Linux with an accompanying distro does everything I need. The answer is that Linux has two main problems that have been driving me crazy lately--no glitch free audio and terrible responsiveness when copying large files.

The audio problem is well known, and efforts have been underway to address the issue. I think the Linux audio playback is getting better now with PulseAudio, so this issue doesn't bother me as much any more.

The disk io responsiveness issue is less known. The issue appears when copying lots of or large amounts of data on a 64-bit kernel. The kernel load escalates to the point the system is unresponsive ( the load climbs up to 9+ on a beefy machine with a single copy command running). This is the primary reason I started looking at other operating systems.

A few days ago, I came across this linux kernel bug entered over 2 years ago. Interestingly enough, the load only escalates when I boot up using a 64 bit kernel--the 32 bit kernel is fine. I'm planning to jump onto this related kernel bug and see if I can offer testing or other support here shortly.


Follow up 1/14/2009: Looks like there's some progress on the performance bug. A Slashdot article here explains more.

FreeBSD 7.1 Laptop Experience

FreeBSD 7.1 was release a few days ago. I gave it a run on my x86 laptop over the past few days, and I really liked everything I experienced. Here are a few quick bullets on what I focused on and encountered:

  • Stability -- No problems. The OS ran fine, and I never had to force a reboot. I did have to force a power off once or twice--GNOME hung on a shutdown menu command.

  • Audio -- The audio experience on FreeBSD was glitch free despite any other tasks I was running.

  • Flash 9 support -- I got flash 9 running in a native FreeBSD Firefox browser using nspluginwrapper. Flash audio worked fine too, and I didn't have any crashes or other stability issues.

  • Java Support -- I had a native JDK 6 running fine with Netbeans 6.5. I read that Glassfish would also work, but never installed it.

  • USB Yank Support -- This is a nit-pick for server usage, but I consider it a critical bug for desktop usage. If you yank out a mounted USB drive on FreeBSD and try to force an unmount, the kernel blows up and hangs. I did come across a post somewhere that this is now being addressed by the FreeBSD Foundation. Yay!!!

  • Misc. Stuff -- The only thing I really missed from Linux to FreeBSD on the laptop was the extra buttons support. OpenSUSE installed the necessary stuff to make the laptop's mute/volume/brightness buttons work out of the box. FreeBSD supplied the necessary module to control my laptop's brightness, but I would need to research on how to tie the buttons into brightness and volume control functionality. I also don't know if this is really a kernel issue or a user space program issue. My guess is I could probably make the buttons work by installing some user space programs and configuring GNOME.


FreeBSD would support all my computing needs, but there is still one major issue holding me back from full adoption--NVidia driver support on x64 architectures. It's unclear who exactly to blame for this. NVidia is waiting on FreeBSD full kernel support to handle the binary NVidia driver, and the kernel developers are not focused on making the extensive changes required to fully support the driver. While progress is being made, it's a slow process ( over 4 years now ). Just check out this nvnews thread for the ugly details.

One solution I have would be to run the 32 bit FreeBSD kernel. The problem I have here is the machine has >4GB of memory. Now, FreeBSD supports PAE to address all the memory, but FreeBSD does not support loadable kernel modules with PAE. I'm unable to convince myself to yank some memory out of the machine to make the graphics card work. I'd even be willing to sacrifice 3d support if I could get decent 2D dual headed DVI support in a 64 bit kernel. From reading the forums, this seems iffy too using either the nv or nouveau open source nvidia drivers.

It seems myself and many other "would-be" 64 bit NVidia FreeBSD users are out of luck for now.