Saturday, November 28, 2009

GNOME Composting in OpenSolaris

If your graphics card supports it, OpenSolaris will turn on the 3D effects when you login. It does this by enabling the compiz window manager which replaces the default GNOME window manager, metacity.

I only recently discovered that metacity also supports composting. It doesn't offer the feature list of compiz, but, it does provide nice drop shadows and task switcher.

To use composting in metacity, set Visual Effect to None in the System/Preferences/Appearance dialog box. Apply the changes and your desktop will be running metacity.

Next, run this command to enable composting in metacity:

gconftool-2 -s /apps/metacity/general/compositing_manager  -t bool  true

and you can run this command to turn it off:

gconftool-2 -s /apps/metacity/general/compositing_manager  -t bool  false

Here's a simple snapshot showing the shadows:

If you really like tweaking your desktop, compiz works very well and provides lots of features. If you're happy with drop shadows and a nice tab switcher, metacity+compositing will do the job nicely.

Sunday, October 11, 2009

OpenSolaris Performance Issues Resolved

I've been playing with some soon-to-be-released operating systems--notably Open Suse 11.2 and OpenSolaris 2010.02. I always really enjoy OpenSolaris when I run it in a virtual machine under Linux and I enjoy working on Solaris workstations at my employment. I've tried OpenSolaris on and off over the past several months on my home computers. When I've installed it directly onto a partition and run it directly on bare metal, I've noticed performance issues and I've gone back to Linux as the primary OS.

In my latest endeavors of running OpenSolaris, I noticed that the disk io seemed to be the performance killing culprit. Doing simple disk io tests under both Linux and OpenSolaris, Linux was just destroying the io numbers I was getting under OpenSolaris. My test was a simple "dd if=/dev/zero of=test bs=4048 count=100000 conv=fsync"--nothing fancy, but enough to demonstrate an issue. Linux numbers were around 60 MB/s while OpenSolaris numbers were in the 15-20 MB/s. No settings helped out the OpenSolaris numbers--dd block sizes, file system block sizes, zfs settings, etc. Interestingly enough, on an older computer, the disk io was just fine under OpenSolaris, so why was it so slow on newer/faster computer?

I was almost ready to give up and wipe the OpenSolaris partition once more, but I had one last area I had not tried. I remembered the SATA settings that are within the bios settings of my Intel motherboard. I changed the SATA mode from Legacy to AHCI. Sure enough, my OpenSolaris hard drive speeds were now on par with Linux. Inspection of the loaded modules showed that OpenSolaris had loaded the ahci driver. Additional online research shows that one should set the mode to AHCI for OpenSolaris.

I'm definitely happy with the results on all 4 home machines. 3 diverse desktop models and 1 laptop are running very smoothly. I'll plan on detailing some lessons learned and tutorials in the near future.

Wednesday, July 1, 2009

OpenSolaris 2009.06 Progressing Quickly

Previously, I spoke of my OpenSolaris experiences. Over the past week, I've been on vacation, and I decided to try the latest release out to see how it's moving along. I installed version 2009.06 over my laptops Fedora installation. Installation was once again very simple--just a few questions, and it was off installing. I typically choose to use the entire drive as a single ZFS pool. OpenSolaris does not support disk encryption out of the box like Fedora or other Linux distributions, but work is underway in this area.

After the initial install, I immediately upgraded to the development repositories to bring in the more more bleeding-edge stuff( Fedora is pretty bleeding edge too ). An update and a reboot into the new boot environment, and I was up and running.

I discovered there are a few really nice new features and surprises in the latest builds.

First off is the integration of the new sound system--Boomer for OpenSolaris. This is now all integrated with the latest development builds. Sound playback worked wonderfully on my Laptop. In flash videos and playback in general under the previous sound system, sliding the volume control up and down caused serious pauses and stutter. The new sound system works much more smoothly and I noticed no more pauses or stutters while changing the volume. I have noticed that I get no headphone sound right now on my laptop, but overall, the new sound system is a nice improvement.

The next thing I noticed was the brightness control finally works on my laptop. The hotkeys don't work, but the Gnome brightness applet allows me to control the brightness. This was a major drawback of previous builds, since the only solution seemed to be a Linux live cd boot to fix the brightness.

Just a few days ago, I notice that my other major gripe has been fixed too--drivers for my two home computers wireless cards are now available! I'll be testing this out soon, since this means I have the option to put OpenSolaris on two home computers without hardware upgrades.

As I've moved around to different Wifi points, the Network Manager has had no problems connecting up to the different access points automatically using WPA2 and WEP encryption. I've had fewer issues with the automated OpenSolaris Network manager than the Fedora network manager.

As far as usability, my laptop experience has been far more pleasant than previous versions of OpenSolaris. With Eclipse Galileo builds supporting OpenSolaris ( 32 bit ) as a first class citizen, my development IDE needs are met.

Off the top of my head, there are three areas still lacking when comparing OpenSolaris to modern Linux distributions.

The first area is one I mentioned earlier--ZFS/filesystem encryption. I prefer, and many companies now require laptops to have encrypted hard drives. At the rate things are moving in the OpenSolaris development, I suspect this will no longer be an issue in the months to come.

The second area lacking is multimedia support. The issue here is a licensing issue where OpenSolaris can not ship with codecs to provide mp3 playback or encrypted dvd playback support. Attempting to play such media pops up an information box allowing one to get the mp3 from Fluendo for free or to pay for the suite of codecs ( I'm not even sure if this package will allow dvd playback). An alternative solution is to download the latest MPlayer source code and compile the code. There were a few issues getting MPlayer to compile, but drop me a line if you need help. Once MPlayer was compiled with Xv support, I was able to play back some dvd's though I did see an annoying video stutter happen every few seconds. I suspect one should also be able to compile the gstreamer plugins that provide the proper mp3 and video codecs too, though I've not gotten to try that yet.

The final area is performance. Linux has made great strides in the last year in performance. Boot time races between Ubuntu and Fedora have made a very noticeable difference for Linux users who run laptops or desktops and pay attention to the boot up time. OpenSolaris is not quite there on startup time. It still takes a bit longer to get to a login screen compared to Fedora 11 or Ubuntu 9.04, however, it's not terrible. The first OpenSolaris bootup after install is a lot longer than subsequent boot times, so don't give up right away if startup times are important to you. Shutdowns are fast enough to not be an issue for me. The desktop is very responsive, though I do see some waits when say trying to open a new terminal while un-tarring a large file. Linux has been tuned to provide a snappy desktop response in most distributions now, I suspect there are some kernel knobs in the OpenSolaris kernel or ZFS settings to help out here too. For the most part though, I find OpenSolaris as responsive now as I find Linux, but I think Linux still has a slight out-of-the-box advantage here.

OpenSolaris 2009.06+ is already much better that the 2008.11 version I tried earlier. Six months has brought in new drivers and new functionality for the desktop. As Oracle hopefully continues to support the effort, I think the future is holding a definite spot for OpenSolaris. Give it a shot and try it out.

Thursday, April 30, 2009

Linux Kernel 2.6.30 Fixes Filesystem Latency Issues

After reading the post Kernel-Log-What-s-coming-in-2-6-30-File-systems-New-and-revamped-file-systems--/news/113157, I saw improvements were made to problems with the Linux kernel regarding slowness under heavy disk I/O.

After running 2.6.30-rc3, my computer no longer grinds to a halt under large amounts of disk I/O.

My only legitimate reason to abandon Linux for another OS ( BSD, Solaris ) has been resolved.

Friday, February 27, 2009

Pixie Hollow Flash Problems With Linux Return

It seems the folks at Disney's Pixie Hollow site now force everyone to use the Flash 10 player to hit the site. Since the combination of Flash 10 and Linux fail on this site ( see my earlier post here, my kids are out of luck until this is resolved.

This is the only site I have ever seen that fails to be cross-platform/Flash compliant. If I were real ambitious, I'd investigate it further. But for now, telling my kids to play on another site works just fine.

OpenSolaris Wireless Disappoints

In yet another attempt to play with the latest OpenSolaris builds, I was sorely disappointed when I went to get the wireless card working.

A desktop had been giving me hard freezes with the latest Debian install, so I threw on OpenSolaris to see if that would help. Only after a complete install did I come to find out the Linksys WMP54G ( RT2561/RT61Chipset ) is not supported under OpenSolaris. This is a few common card I've picked up at my local Best Buy.

In one last attempt to fix the freezing system, I threw on Ubuntu. Ubuntu is a little nicer about discovering and automatically installing proprietary drivers, so it put on the Nvidia drivers. I noticed it was using a different version of the drivers.

A re-install of Debian Lenny with the legacy 173.14.xx Nvidia drivers and I have yet to have a freeze.

Linux wins again.

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.