Thursday, December 22, 2005

'A Tale Of Two Skippies'

I have some interesting things to blog about today: a flamefest about the Xgl, the seeming death of Xcompmgr, new Xorg, and my efforts to try to get better task switching in Linux.

I'm going to start with the information on Xcompmgr. In my guide the other day someone asked me where the CVS for Xcompmgr is. I finally found it due to Google's superpowers....but what I found kinda depressed me! I thought that EXA testing and the fact that an open source way to accerate Xcompmgr would lead to a growth in its development. Part of this assumption was due to the fact that at the end of October the first real update to Xcompmgr since January was made. Yet now looking into it seems that it was just a small patch to Xcompmgr in the new release, and just like before development of this fun toy is over.

But there is good news too. First is that Xcompmgr is no longer needed: soon every major DE will have a compositor. KDE's Kwin has a compositor that is the most advanced of them all (well....maybe not more than Luminocity....but it is workable and Luminocity is not). XFCE has that crappy compositor that has shipped with it since spring, and now finally the Metacity compositor is starting to do something:

What interests me the most about this new compositor is this:

“There is a disabled genie type minimize effect.”

As soon as a grok the code enough to undisable it I plan to compile a Metacity that uses this compositor. If its worth a darn I will make a guide....but it seems really early. I'm really glad to see this is being worked on though- the current minimize effect in Metacity (or as I call it “the thing that draws all those ugly black lines on your screen” ) needed to be replaced as soon as it was created! Personally though what I really want is Luminocity's “wobble” effects- what was the point of the whole project if the coolest part does not get back into Metacity?

Next year will be exciting for compositors.....I am really starting to think that KDE 4 will bring with it the first stable composited Linux desktop!

The next issue I want to talk about is the release of Xorg 7. Here is what I posted on Slashdot concerning this huge upgrade:

And here is the changelog:

Beyond EXA this release also brought huge updates in the Savage driver, and Intel driver and it was the start of the open source ATI driver (for newer cards).

I see this release being huge in two ways:

1. Since the drivers are cut from Xorg they can improve faster- no waiting for the next Xorg release to get new drivers.

2. Since the drivers are separate ATI might do a better job (its easier for the one guy at ATI who makes the Linux drivers to do his job now).

Of course, don't get too excited. As was said on Lug radio modularizing Xorg is step one of a twelve step process to a modern xserver. The worst thing one could do is raise personal expectations too much- I predict it will still take a few years for all the benefits of this release to “trickle” down to users.

Next of the agenda is the biggest part of today's blog: Me vs. the two Skippies.

It all started this summer when my sister got a Powerbook and I noticed (after an hour of playing) that it has the neatest task switching known to man- Expose:

Later this semster at school I was using an iMac (and old 800mhz one with a VERY weak graphics card) and I noticed that not only did Expose give you little thumbnails of each screen instantly, it gave you “live” thumbnails: a page I was loading continued to load while thumbnail size in Expose.

I thought to myself “if this weak Mac can do this, surely my powerful desktop can.” And my quest to lose the taskbar began.

After some research I noticed that there are three Expose copies in Linuxland: Skippy, Kompose, and Expocity. Kompose is KDE's version of Expose. Its probably the best one seeing as how it does corners by default (aka you can make it like on the Mac where when you mouse moves out a certain corner of the screen than Kompose does its magic). But in Gnome it gives a blah grey as the backround, its widgets look ugly no matter what KDE theme I use, and it seems to suffer from the same problem Expocity and Skippy suffer from (well...the Kompose in the repos does). I will talk more about that later.

Next is Expocity. This one is by far the coolest because unlike the other two when you use it the thumbnails windows dance onto your screen like on a Mac. Its fun as hell to use....but it has three huge problems! First its tied to Metacity, so currently the only way to get it is to force a pre-Hoary version of Metacity thats on Daniel Stone's website into Dapper (an act which is negated by the next dist-upgrade). Here is the files for those that want to try, and a guide of how to do it (the guide will say to use other files...use the ones here instead- this is my contribution...Mr. Stone tried to hide this from us Ubuntu nuts):

His comment on it:

As you can tell...this is not a good solution. I would personally just make a newer version of Metacity with Expocity added, but I won't because of the second problem- it does not pay attention to Xinerama. At home (I'm on vacation) I use two screens and Expocity does not take that into account, which is a pain. The final problem with Expocity is the problem that they all share that I will talk about at the end.

So that leaves me with one left: Skippy. And it so happens that Skippy is the most exciting one! Here is a screenshot:
Skippy seems near perfect: its has Xinerama support (very good dual head support in fact), it has cool transparencies that shows your desktop, and it is VERY customizable. There is a version of Skippy in the repos for Breezy users. Please note 64 bit users like myself that the Skippy in the repos won't work for you- I had to hack the source code in a few places in a way that I found on the forum of the site that Skippy is hosted on to get it to work in 64 bit Linux. Since it is indeed faster in 64 bit Ubuntu once you get it to work, I plan to host the file I made as soon as I learn enough about check install to make it into a deb (if you are good at that and you want to help email me at poofyhairguy at gmail dot com).

I even found a way to trigger Skippy to work with the same corner thing that Expose and Kompose do using Brightside and xmacro (both in repos). There is an angel on my shoulder that says I should make a guide telling how to do such (I also make it so one of my corners shows the desktop like in a Mac)- would anybody want one?

But still skippy has two problems. First problem is that it seems to be abandoned: the author must have just broke down and bought a Mac because nothing has happened since September. No big deal....its about as good as it can get as it is. So its other big problem is the problem is shares with all the other Expose copies I have talked about: they are all just hacks!

What do I mean by that? I mean instead of using the power of the Xserver to produce live thumbnails, Skippy, Expocity and the version of Kompose in the repos use a visual trick to make you think you are getting the same thing. What they do it rise each application to the top for an instant, take a screenshot of that app, and use that screenshot to make the thumbnails. You can actually see this happening if you use any of these programs like ten times in a row (aka your computer slows down to a point were you actually see each open program rising to the top).

This way of doing it can have two problems. One is that the screenshots might not show what your windows currently looks like- you might see for instance a Firefox page you were browsing an hour ago! The newest version of Skippy fixes this problem by having an option in the config file to redo the screenshots after a few seconds. Again and angel is saying I should share this file is a skippy guide.

The other problem is that sometimes the Expose copies cannot actually pull all the windows to the top in time...and then it all messes up. I included a screenshot here of skippy messing up in this way:

So while Skippy provides the best option, its still far from Expose. And thats why the Skippy author made Skippy-xd. This is a version of Skippy to use Xcompmgr to create the same effect that the Macs get- live thumbnails. I could never get this version to work in Breezy before, but two nights ago in a drunken haze I got inspired by a fellow Ubuntuer to hack at the code some (I do not know C at all!) and by hacking away the parts that would not allow me to compile it I finally got it to work! Yay! And just like promised, the thumbnails by default are live like on the Mac. I will post a deb for this too in time.

But Skippy-xd has two problems. (yeah I know, lots of two problems). One is that its slow. I have a 6600 GT, an AMD 64 3800 X2 and with its default settings Skippy-xd is as slow as can be! I turned off some of the features (such as constantly updating the thumbnails and mouse over hints) and its still slower than normal Skippy the first time you use it. This tells me that Xcompmgr is nowhere cool as I though it was and that my bad ass new computer is not all its cracked up to be (its CPU bound as it is- I know because its the same speed with Nvidia's render accel turned off....its actually a little faster). But I plan to hack away features from the source code until its of tolerable speed (after a night of work I am close).

The second problem is that unlike the other Skippy, Skippy-xd does not give you the entire contents of the windows- the tops and bottoms and sides are cut off! Its a noticeable problem....
In the end I will use regular Skippy for now, and if the newest Nvidia driver clear up the problems with renderaccel I have been having this week (three crashes) and I can get back to using Xcompmgr 24/7 I will hack down Skippy-xd till its usuable and use it. Also at the beginning of January I'm moving to KDE for a month, so I will compile the newest Kompose and give updates on it. I hear it can use Kwin;s composite manager to give live thumbnails like Skippy-xd can....I wonder if its as slow though.

This whole deal taught me three things:

1.The Apple developers eat magic dust for breakfast. I better stop noticing what OSX can do or I will live with a constant inferiority complex!

2.The newest fun stuff in the Xserver world is still years behind the closed competition. Oh well, thats life.

3.C makes more sense than one would think – I had stuff hacked to the point of working in one night. I might teach myself some so I can improve Skippy-xd now that the author has left it alone. Maybe fix the cut off the edges bug.

I hope that little story was enlightening to someone. On to the last topic of interest: the big flamefest over Xgl.

It all started when Aaron J. Seigo (the most vocal KDE guy) complained in his blog that Novell was developing the very important Xgl behind closed doors. Here is the link and a quote:

“The development of XGL has been largely removed from the community and is being done behind closed doors. when i first heard about this state of things i figured there must be more to it but ... nope. it's pretty much the situation.

So instead of getting as many people working on it as possible, instead of allowing other projects to test their software and play with its capabilities, instead of going through the peer-review process that keeps things healthy ... one company has decided that it would be a better idea to hire a few of the developers and put the development into a source repository that only they have access to.”

This lead to flamefest in forums all over the net and it lead to the most uniformed rant I have read at OSNews. Here is it, but please don't read it as the author does not really grok the situation (my opinion):

One good thing to come of it (and why I gave that above link) is that the flamefest brought back Jon Smirl- the man that once worked on the Xegl. His opinion (as far as I can tell) was that everyone had their chance for an public Xgl, but many important developers liked EXA more and Novell had to take the project inside to keep it from dying. I'm a big fan of Mr. Smirl (his write ups on the Linux Desktop are VERY informative for eye candy nuts like me) and in the comments for that horrible OSNews “article” I got to ask him some tough questions about the Xgl. Its a good read for all interested- he answered every question more than sufficiently.

Just so I can be semi-balanced, here is the other side of the story from another hero of mine, Adam Jackson:

And the response from the guy that started it all:

My personal thoughts on the matter are honestly kinda selfish. I hope that this blog entry gets Novell to release a newer version of Xgl into CVS, but only because then I can compile and use it and make a guide so other eye candy nuts can compile and use it.

I don't know what development model is better....I don't know who is right. I am happy with Novell for pouring resources into Xgl when no one else is at this point, but I don't know which result will bring about the best product.

I will tell you this: the whole deal brought me hope. When Mr. Smirl announced he quit the Xegl, it seemed no one cared. Slashdot only had like 50 comments on that story, and the only people whining in public were users like myself that hated seeing what was going on. The guy who made EXA said he was going to finish it, but then he turned around and went back to school- dropping all his OSS projects for a little while. No one seemed ready to pick of the Xegl ball......

I mean...when that all happened I KNEW what it meant. It meant that Vista would be sitting on the shelf for two or three years before Linux had something even close to Aeroglass. I know its wrong to define the world in that way....but I'm an eye candy nut. Its going to be REALLY tempting to just install and use Vista in the time it takes for the xserver to catch up. I tried a build of Vista a month ago and it had everything I could want eye candy wise: a grown up theme, live thumbnails, and as windows minimized they faded Xcompmgr style. Everything. Its going to be hard to not install Vista when it comes for these reasons.....really hard. Really, really hard. I will do my best though.

What will be even harder is when it comes and all the Windows zealots (I'm amazed they exist honestly) will troll on every site saying “ and Aeroglass is years beyond what Linux has....EXA and the like is pathetic in comparison.” And they will be right....they will be right....sigh.

Back in September that was the point Mr. Smirl tried to make. The other big developers (rightly maybe) told him basically “screw what MS does, we are not in competition. Its an insult that you compare the hard work done on Xorg to something closed like Windows.” And I see their point....but I don't know if they see mine. I bought an Nvidia card because I wanted what gave me the best eye candy, even with the closed driver. Open source is great....but when its behind its behind. And in the case of the xserver....its behind.

But this new little flamefest brings back hope. Obviously a few people that are important (aka developers that can finish it) care about Xgl. And that means that now that Xorg 7 is out the door maybe, just maybe, someone else will pick up where Mr. Smirl left off.

As a final thought I will say that the Xgl is the primary reason why I wished a site existed that would allow users to post bounties for open source projects they want (like Codeweavers does with Crossover Office or Mark and Google did with the "Summer of Code" thing). I would donate $100 or two towards the finishing of Xgl....if only because then the temptation to spend that money on Vista in the future would go away!

Well thats it for now....have a nice day Linuxland!

'Clearlooks Cairo and Company'

I'm not the blogging type (if only because a blog forces me to see how boring my life is, lol) but recently I was asked to blog about my experiances with Linux and eye candy. Since I play with this every week (and will have tons of time this month to play with my box) I decided this was a good time to start.

I'm doing this blog in the doc site for a reason- I want people to leave their own experiences as well. Not comments on some blog specific site where you have to sign in (to a site you will never go to again) to post. I want you to add to the end of my entries your own experiences please.

Ok, so what have I been up to lately? Lots actually.

First of all I built a new computer. The power usage of my old Intel Pentium 4 made me feel bad, and I have been waiting for dual cores for years (perfect for a multitasker like me). At first I was just going to run 32 bit Ubuntu- in fact my old install “just worked” with my new machine without any tweaking! But I had some stability problems, wanted a clean install and thought “why not go to 64 bitness?”

Well....I was shocked by the result. 64 bit Ubuntu IS faster (for me). It boots faster (by a few secs), Gnome starts faster, apps are more responsive (especially Firefox- in 64 bit Ubuntu Firefox 1.07 felt like the 1.5 I had in my 32 bit version!) I don't think it was the placebo effect- it feels too much of a difference. So I will stick with 64 bit Ubuntu. I would be REALLY happy if I could get a 32 bit chroot of Hoary to work (my favorite PSOne emulator won't work in Breezy), but thats what free time is for.

64 bit Xcompmgr from the repo worked out of the box for me once I got the Nvidia drivers installed. It seemed like the fading was even smoother than before! (but that is hard to judge) For an introduction on Xcompmgr and how to use it look at my guide:

I will talk about Xcompmgr a lot because its my favorite compositor. Honestly the program is probably worth about $500+ to me (because without it I would have recently bought a Powermac instead of a homebuilt system and the price difference would be at least that). Its what makes Linux fun for me. So expect to hear a lot about it!

I have not compiled a 64 bit version of the newest Xcompmgr yet- I will do that and maybe even try to make a deb for it. But the version thats in the repos has not crashed on me, but I have not tried to duplicate bugs I have found in the past.

First thing I did with my new system is try out the newest Clearlooks Cairo. Cairo is very interesting to me because it shows true innovation on the Linux desktop- nothing else is quite like it! Also I love eye candy and if Gnome is ever going to have some by default it will be because of Cairo.

I once tried an older 32 bit version of Cairo when Breezy first released, but to call it slow and buggy would be nice. Yet this time the Clearlooks package I installed, found here:

32 bit version here:

Worked like a charm! The only problem I had was that it did not handle Gnome Panel's fake transparency well, but thats understandable seeing as how its all beta stuff. Well.....and I had one hard lock, but I think that was because (from what I read) Nvidia's renderaccel and this theme don't see eye to eye yet. At the bottom of my blog I talk about this problem.

The checkmark animations are clever! I was disappointed to find out that the coolest animations -tab animation and slider animation- for Clearlooks Cairo have been axed:

This of course will force me to compile a version of Clearlooks with this built in! But I can understand why its left out. Clearlooks is the premier Gnome theme, and since Gnome 2.x is unofficially THE corporate desktop some of the fun stuff will find the cutting floor to please the pointy headed bosses of the world. To quote:

“We should keep clearlooks clean and dont overload it.”

Even without the animation Clearlooks Cairo has displaced a combination of the Brace 2 Metacity Theme and the Industrial GTK Theme I thought I would never replace. What did it for me is the new Metacity Cairo theme-

There is the square version I use (thats a little hard to install but I hate pixelated corners). If someone needs help installing it leave a note at the end of this entry and I will try to help.

Best. Metacity. Theme. Ever. And since the best part about Metacity is the themes, well....its all good. I can declare that Clearlooks Cairo is the best part of the near future Gnome desktop.

Of course, Gnome is not the home of all (or even most) of Linux eye candy so today I started a new project- to partially switch to KDE. I want to honestly evaluate what Kwin (KDE's window manager) DOES with its great built in compositor so for the next few weeks I will be examining KDE and its Kandy. On the first day I can tell you that it will be a fun ride! I have had a bias against KDE in the past (mostly because I dislike almost every KDE theme out there especially the “big” ones), but I will put that aside for the sake of eye candy. KDE will be the DE with the first fully composited desktop, so I want to see how far it has to go in 3.5.

Tonight I will go through the process of trying Nvidia's newest drivers- I hear they are most stable with composite so I want to find out for sure. I like the repo ones the most (because they are SOOOO easy to install) but they are getting a little out of date. Plus I hope the newest drivers will stop my new favorite Clearlooks theme from fighting renderaccel. I will soon evaluate if its worth it to advise others to change their drivers on my Compositor Guide. If it makes drop shadows stable enough for use with Xcompgr it will all be worth it (once you use shadows its hard to go back).

Later this week I will for the first time hand compile the newest Xorg. I want to see how well it actually works and if composite is more stable. I don't trust Dapper's Xorg to give me the best evaluation of this (as it is the playground of the great Mr. Stone- for better of worse). Plus the Xorg CVS gives a good guide. If its easy to do, I might make an Ubuntu specific guide for when Xorg 7 is released.

When Xorg 7 is released my hobby will pick up steam! I plan to buy an ATI 9250 to REALLY hammer on EXA. The great Rasterman (hero of every eye candier and maker of the Enightenment) says that composite has RAM problems so I might get a 256 mb one:

I would have gotten one already but I read it has problems with DVI and the open drivers- that is a fatal flaw for me! But maybe Xorg 7 will fix that- or at least I can apply this patch to fix it:

Also when it is released I plan to try to compile Luminocity again (the guide on the wiki is mine) to see if its more stable. If it is just a little, my crazy self will try to live in it for a week full screen.

Last but not least, I want to try E17 on 64 bit Ubuntu. I assume debs exist nowhere so its a compile for me. Currently I am waiting for a theme I like to appear on the E17 site before I go through that pain (I LOVED the Slate theme but it no longer works). When I get around to doing this, I will also update my Enlightened Gnome guide to Breezy ( I should have done that a month ago but I have been busy).

Well....thanks for reading if you did. I will try to keep this page updated with my exploits in eye-candyland and will try to show where I read important things about the future of the Linux Desktop.

Till next time!