Monday, January 30, 2006

Moving from Metacity to a Better City

Ok. It's time. I have used my own new guide long enough I can suggest others try it too. It may not be perfect, but it works really well and I think it's the best solution to the problem for now.

But lets start at square one- what is the problem?

The problem is that Metacity is really boring. Not kinda boring. Really boring. In Breezy I begged and pleaded to make sure it was not compiled with a compositor so that excitement could be bolted on (by running Xcompmgr) easily...but that solution had a certain shelf life.

The essential problem is that Metacity was never meant to be exciting. Here is the description from the authors own words:

"Boring window manager for the adult in you. Many window managers are like Marshmallow Froot Loops; Metacity is like Cheerios."

Well I don't know about you, but I get tired of eating plain Cheerios everyday. Sure you can add some sugar and some fruit (xcompmgr) but eventually even that gets boring. After a while I want to go to the store and buy some Frosted Flakes, some Fruity Loops, or some Lucky Charms. I have a sweet tooth, I will admit it. But I am sure others do too.

Lucky Havoc Pennington brags that even though he made Metacity boring, he spent a lot of time making it easy to replace. Well....not too easy. But possible. And I thank him for that. At least he had the wisdom to see that not everyone could stand to eat Cheerios all the time and act like adults.

Heck, it's my personally belief (based on reading many mailing lists about the subject) that Metacity would not get a compositor built in for a VERY long time if it wasn't for the fact that it can possibly help usability (by having a really nice screen screen zoomer). The Kwin concept of adding this stuff for the fun of adding it seems to be lost on the Gnome community (except for the actual person making most of the Metacity compositor- Soeren Sandmann- who lucky cares enough about eye candy to include things like a minimize effect). That is what happens when you hang out with the business crowd I guess.

With many things in life you do not know what you are missing until you are actually sitting on the other side of the fence. Personally I did not know how boring Metacity was till I starting making a report for my blog about KDE eye candy (that is now so large I think I will have to do many entrys to cover it). The compositor in KDE's window manager- Kwin- could do so many amazing things by default I knew I could never live with xcompmgr again. I had to steal Kwin for my own purposes.

Some might ask “why not just KDE you freaking idiot?” And that is a good question. My official answer is:

1.I like Gnome Applications more. Firefox. Gaim. Nautilus. Gimp. etc. I hate for them to look like crap in KDE. Running gnome-settings-daemon in KDE would do the trick, but they do not play well together always. The "use QT themes on GTK apps" trick is buggy.

2. I dislike the kicker (KDE panel). I prefer the Gnome panels.

3. I like for Nautilus to draw my desktop. I prefer Gnome's automounting.

4. The Industrial theme is better than any KDE theme I have tried. In fact...I have never found a KDE theme I like (compared to GTK themes- even Clearlooks is better). Plus it's easier to install themes in Gnome.

In fact recently I found a Cairo Industrial theme that changed my life. The pure white of Industrial combined with the candy scrollbars of Clearlooks Cairo. I tried to make this myself for a month but then this one came along and blew my work away. With this in existence I will never be able to switch to KDE. Find this theme here:

5. Ubuntu is the primary distro of all the buntu's so it gets the most work done on it.

I just want KDE's window manager, so I took it. Now there is no need to switch to KDE for me and others. Its the best of both worlds.

And overall it works really well. I do not have the conflicts with mixing the two like in Hoary, even after two weeks of solid use.

And now the question is “what does Kwin offer me to make it worth the switch?” Good question and one I get a lot. Well, first is the translucent gnome- panels. Second is drop shadows in a better form- using drop shadows for a long time with Xcompmgr is painful because it has a bad memory leak. Kwin has the same leak, but it is WAY better. Third is smooth fading just like the trick xcompmgr can do.

But thats just the tip of the iceberg.

Of course, only screenshots can do it justice. So first of all here is a screenshot of how Kwin's compositor even makes the Gnome Panels translucent- notice the “CNN” shining through:

Also notice how well the blue scrollbars from Clearlooks Cairo work so well with the Smooth Blend KDE theme. It really looks like they were meant to go together.

Finally notice in that screenshot how the maximized window in the background had a maximize button next to the close button while in the smaller window that button is changed to a maximize button that looks different. That particular Kwin theme does that by itself! Maybe only people like myself notice that, but after a while it becomes really obvious how many releases Kwin is ahead of Metacity.

With Kwin you are able to make non-focused windows transparent:

Notice how the calculator and terminal are made translucent automatically when the focus is on another application (Firefox). Blends right into the Ubuntu desktop.

Yet after a while making entire windows translucent is not as cool as it seems. Some may disagree, but it got on my nerves after a while. Microsoft discovered this exact problem while making Vista- not all bling is a good thing. This is why I never messed with scripts that allowed for Xcompmgr to do such things.

Luckily Kwin can go one step further. In its options you can chose:

“Apply translucency only to decoration”

With this option checked, only the window borders are translucent. I prefer this for day to day use. I make my focused window non-translucent but make it so when I move windows or when they are not in focus they are translucent. Helps a lot with keeping track of many windows...and it's also very close to the “Aeroglass” effect that Microsoft will announce to the world as “true innovation” later this year when Vista (maybe) releases. Well here is Kwin doing its best Aeroglass imitation before Aeroglass exists:

Nice huh? Yep, I can't do without Kwin now.

Once you use it for a while, Kwin also shows gives many other benefits that Metacity can never provide. Like what you ask? Customizations. Within its many options, Kwin lets you:

1.Set edge flipping exactly how you want (edge flipping is when you move off the screen onto another virtual desktop- you need the program called Brightside to do this with Gnome)
2.Set edge resistance- very helpful for a two screen setup like mine
3.Configure the exact window actions and focus settings to an amazing degree
4.Have themes that are customizable to an amazing degree

And more. All by right clicking the titlebar and choosing the “Configure Window Behavior” option. This combined with overall less resource use (even with the compositor in Kwin off for a couple days I could tell that is it uses way less CPU than Metacity) and the fact that the horrible “draw black crap all over you screen” minimize effect from Metacity is taken away makes me recommend replacing Kwin with Metacity even for those who are not interesting in things like drop shadows and translucency.

Until Dapper comes I see no good reason to use Metacity.

Of course like most things in life replacing Metacity with Kwin will bring sacrifices. First thing is that the “run dialog” shortcut won't work- even if you add it to the gnome panel! This is painful for me, but this solution was found:

Another problem is that sometimes Kwin's compositor will have visual bugs. This is no big deal if you use xcompmgr as you are used to it. Here is a screenshot of a Kwin visual bug:

See how the right side of the window is cut off? Well...that is the worst problem you will find with this set up.

But its not the end of the world. Just grab that window by the titlebar (or where the titlebar should be) and shake it around some. That cures 99% of visual composite bugs.

Heck, even my sister's Powerbook with OSX Tiger sometimes shows me things that are definitely composite bugs:

These visual composite bugs will exist in Linuxland for a VERY long time I think (composite is a hard animal to tame) so it's better just to learn to deal with them I say. Others might think differently.

With the newest Nvidia drivers the worst Kwin has given me is these few visual bugs. No major Xserver crashes! That alone is worth throwing a party for. Here is the guide to get the newest Nvidia drivers:

So in the end I suggest everyone who likes Gnome and eye candy switch from Metacity to Kwin. Finally, here is my guide to tell you how to do all this:

Please leaves comments in that thread, in my email box, or on my blog if you have problems. Its worth a shot at least.

Some might notice it looks a lot like my old Enlightened Gnome guide:

So I might as well say now that I advise using Kwin over E17 or E16. E16 is far too primitive to be using in 2006, and E17 does not play well with Gnome. This is why I never updated this guide for Breezy. The Knome Guide is the newest fun trick on the block, so that is where the new party is. You are welcome to try it if you want.

Now for some other issues before I end this blog entry. First of all I found a screenshot showing work done to move OSX Dashboard widgets to Gnome:

I think thats pretty cool myself. The code can be found here:

Its worth messing with for those that like those sorts of things. For those of us who prefer a Gnome solution, Gdesklets had an update:

This update seems to bring bugfixes- and we all know that the last version of gdesklets needed plenty of that! So its well worth trying out.

Also someone was nice enough to make an Xgl guide for Breezy:

I have not tried it (shock!) as I am waiting for the release of the new compositor related to it in February to try it out. Xgl without a compositor to take advantage of it is a waste for someone like me that changes video cards in a blink of an eye to get better eye candy (the benefit of Xgl to others is that with it stable more people could get eye candy as long as their driver has decent Opengl support)....the glxcompositor does exist in the wild but it needs CVS Xserver to work with a patch to mesa, so that's out. The first month of the year is almost over, I can wait. If you can't then start compiling and tell me how it goes!

Finally I want to point out some Firefox eye candy. I recently ran across this extension:

Which takes the most innovative thing Internet Explorer 7 will do in the future when it is released and adds it to Firefox. Poor IE- it can never win at being the best with a disadvantage like that! Luckily it has other advantages (similar to why a stone rolling down a hill does not stop) that means that it does not need to be the best to succeed.

This extension even gives a tutorial on its first use. I recommend it even for the most timid of users. Note that you need the newest Firefox release (1.5) for it to work well. Use Automatix to get that in Ubuntu if you lack it.

Well that is all for this entry. Enjoy freedom from the city of Meta, and stay tuned for my next rant///////blog entry!

Wednesday, January 18, 2006

Drivers Wanted

I recently got a really good email with a very good question that I wanted to share with all my readers. I hope you all enjoy.


first of all I want to say I like your blog about eye candy. Really nice to know there is someone who really gives useful tips and is there to represent eye-candy.

While reading you're blog I noticed that you really believe opensource drivers for cards from nVidia and ATI are needed. I never knew that was needed and trusted on the company's, I thought the closed source drivers did their work good enough. Apparantly they don't do enough to get the maximum out of their hardware.

But why wouldn't these company's make their drivers open source? The money is after all made with selling the hardware. Is it because they have to release specs of the cards they don't want to be know by the competition? Or is there a whole other reason? And if big studios are starting to use blender and the linux desktop, can't there be some pressure coming from those studios towards the card manufacturers? Maybe there should be an action group for this that makes clear to the manufacturers how much better it would be to open source their drivers. With constructive criticism and reasons for opensourcing their drivers...

Just wanted to know you're thaught about this

Kindley regards

Meulemeester Jan Dante

btw: keep up the great work!"

This is my response:

Thanks for the compliments. You are very kind.

There are many reasons why Nvidia and ATI refuse to open source all of their drivers (or even give away the specs so drivers can be made without reverse engineering). I will list a few:

- Some suspect that both Nvidia and ATI currently use technology in their closed drivers that is owned by another company. Basically they don't have full legal right to their drivers, so they can't free them. This alone does not explain why they do not work with open driver creators more though.

-Linux/Open Source is not a big enough market yet. A high end market (blender), but not a large one (Desktop use). When that changes, attitudes might change.

-It takes a lot of work to make good drivers….and labor is limited. It seems like they don't want to do the work of maintaining a "community," even if that is minimal... Also I think they do not trust such a situation (open drivers) with high end customers (blender) so I don't think they see that as a benefit (as they should).

-Some (I think Nvidia at least) seem to believe they can do a better job. And sometimes its hard to argue. The Nvidia closed source driver is the best driver (performance and featurewise) in the entire Linux landscape. Nvidia made a kind of EXA a year before open source driver makes did. Desktop *nix is a niche so there are not THAT many Xorg hackers….so Nvidia (and ATI if they would use them) seems to have more resources to make a better driver. Plus they make the hardware to make a better driver. So they continue to call the shots.

-They don't "get it." They don't know why open sourcing the drivers is such a big deal. ATI is better with this, as I hear they kinda help with reverse engineering the high end cards. The ATI 9250 is the best open source card because ATI released the specs for it. But overall they don't get it.

It's an interesting situation. Because of the state of things I have a Nvidia card. It what allows for the best eye candy. But one day soon I will buy a 9250 to play with. Yet….the Nvidia drivers do SO much that many of the open drivers can't do (which is kinda bad because Nvidia uses specific Xorg.conf extensions that no other driver uses…so a GUI to configure the Xorg.conf is almost impossible to make). Its give and take.

One good thing is that Intel "gets it." They open source their video drivers, and they are the largest seller of graphics cards. All on the low end….but hey, it's the best hope of the open source world. Intel mostly "gets it." Really. I think part of it is that they have a huge problem with MS recently.

Why? Because MS stopped releasing Operating Systems every two years (that often times required a computer upgrade) like in the good old days and because MS (well…the market really…but MS nailed the coffin shut) picked AMD's 64bit extensions over the Itanium in the long term. Plus if computer customers spend on software then they might spend more on hardware. For these reasons and more Intel is a great ally of open source for now….

Of course, I could be wrong about the entire thing...

I hope I answered your question well enough, and I hope you have a nice day.


Friday, January 06, 2006

As Seen On A Linux Box Near You

Hello eye candy lovers! This is an exciting time of year for our sport with all the huge code releases recently so I have been REALLY busy trying to play with everything I can.

I gave up trying to compile the newly released Xgl code- I decided to wait until it hits the CVS. Apparently a lot of cleanups will come with that migration. Plus when it’s in the CVS maybe we can bug Daniel Stone again and get him to package it for Ubuntu.

I HAVE played with the glxcompmgr some….but its hard to get working too. Here is a screenshot of my using xcompmgr in Xgl for those who love screenshots:

But lets talk about some stuff we ALL can use! But first I must admit something to you all. Recently I after some soul searching I realized that most of my ideas for eye candy to play with in Linux were things that tried to copy stunts I use on OSX (my sister has a Powerbook). Since OSX is the top eye candy OS right now its tempting to see them as king of the mountain, but then I would miss some Linux exclusive tricks that even OSX can’t (that I know of) do!

So today’s entry focuses on Linux only eye candy. So basically what I should have been blogging about the whole time!

First up is an application that I have known about for some time: xdesktopwaves. This is a REALLY cool little application that places a pan of virtual water on your desktop.

Here is a description from the author:

" xdesktopwaves is a cellular automata setting the background of your X Windows desktop under water. Windows and mouse are like ships on the sea. Each movement of these ends up in moving water waves. You can even have rain and/or storm stirring up the water."

Sounds neat eh? It is. Here is some screenshots:

It seems to work ok in Gnome AND KDE (but not Enlightenment). If you want this neat trick just go to the home page and install it the old fashioned way:

Or install it with apt-get in Ubuntu/Debian or portage in Gentoo. Here is a guide I made just for the blog:

That explains how to use it and gives a cool script to easily turn it off and on. This eye candy eats up some CPU power (at a quality of 9 it completely pegged one of the two cores in my 3800+ X2) but at a setting of 7 or 8 its not that bad but looks nice.

Best part about it is that it’s stable!!!! Which is rare with eye candy. In fact it plays well with other kinds of eye candy like compositors and such. There is really nothing to lose except some time, so I hope everyone can try it out. It’s a great way to WOW your Windows friends (I know we should be above that but its SOOO fun to do sometimes).

Yet when it comes to wowing Windows users AND OSX users nothing beats this next trick: 3ddesktop. I’m sure many readers of this blog know of it, but I have to mention it because I think it’s the coolest eye candy we have now that does not rely on experimental stuff. It makes use of the thing us Linux users have by default that the other OSes lack- multiple desktops.

Basically this trick presents the multiple desktops in a 3D mode. I have to show a screenshot since explaining is hard:

That page also has a cool video to show off the effect. This little program is a GREAT way to show new Linux users what a virtual desktop actually IS (since it can be confusing if you have never seen it before). Most distros have it in their repositories. Here is a guide to install and use it in Ubuntu:

One problem you will find is that it gives you grey desktops the first time you use it. Follow the advice in this post to get around that problem:

Armed with this knowledge you can now switch desktops like a pro! I have found that this piece of eye candy above all others is the best for making Windows friends jealous (again I know we should not care but if you can’t have fun in life why live?). And unlike most other eye candies its useful.

I find it to be pretty stable by itself and I personally can get it to work with xcompmgr without problems but I hear from others that the two do not work so well together for them. I know it DOES require some form of hardware acceleration so make sure that your computer can do some Opengl before you try. If it does not work for you this is most likely the reason….now that I think of it I have only gotten it to work on ATI and Nvidia cards with the official drivers. But I can’t say that’s all it will work on- try and see.

So there you have it- the best of Linux exclusive candy. I mean…besides that one March Ubuntu Calendar from last year:

I want to finish today with a short story from my vacation. Over my break I was able to convert two users to Ubuntu- my mom and my cousin. In order to get them to switch I had to convince them that Ubuntu was better and so I tried many angles. Funny thing is that the same thing hooked them both.

So what switched them?

The lack of security problems? No, but that might have been a bonus. The free (both kinds) software? No, they didn’t mind paying for software. The famous Ubuntu community? No, they will never get on the forums or on IRC. The ease of use? No, the both just basically needed a Firefox/Thunderbird box and Windows can do that. So what switched them then?

The Gdesklets Starterbar. I am not joking. Both of them upon seeing the little icon jump when you click on it on that bar demanded that they be able to use Ubuntu that instant. Everything else was just a bonus. The freaking gdesklets starterbar (and any of you who know how gimmicky it is are probably laughing right now) was THE killer Linux app:

Yes. THAT starterbar. The one that copies the dock from OSX badly. That is what switched them. This taught me three things.:

1. Eye Candy matters to normal people FAR more than most distro makers will admit (many are still in the “Linux is serious, Linux is for the server” mode).

2. Never hate on an eye candy program (I have been known to rant in the past about how gdesklets is bloatware) because for someone else that might be THE most important application.

2. Maybe the lag behind the desktops of OSX and Vista are not that big of deal. Sure we might not be able to use our 3D cards to render our entire desktop for a few years after these other OSes can do it but that might not matter. What matters is what the user can actually see. Give a new Linux user 3ddesktop and far as they are concerned the Linux Desktop IS 3D. It makes me have more faith in the hacks I often like to use (skippy comes to mind).

Here is a guide for more gdesklets information:

One last small note: with the new Nvidia drivers xcompmgr is stable for me. And in it does not crash unless I do something I new beforehand will make it crash (like moving a playing Xine video under the Gnome Panel). No more random crashes for me and many on the Ubuntu Forums. So if you have been waiting to try it again….now is the time!

Well…that’s it for today. Till next time Linuxland!

Wednesday, January 04, 2006

Happy GNU Year

I just got back from my annual vacation to my home town (New Orleans) where I was incredibly busy either looking at the destruction or fixing computers. My grandmother's house (she is ok) was only two blocks away from the largest levee breach, and the scene of destruction in her house and around her neighborhood was the exact opposite of "eye candy." After that experiance I was glad to come home and resume the fun hacking upon my Linux box again.

And the welcome party had exactly what I wanted for the Holidays- a new version of Xgl! This is the coolest code release in the eye candy world of Linux for a while. When Aaron Siego of KDE originally complained about the closed nature of Xgl my greatest hope is that it would lead to the release of the Xgl code. The Xgl (in case you do not know) is a dependent ( as in it needs the old xserver to help it) server that will allow the Linux desktop to use Opengl to (eventually) draw the desktop using 3D hardware. Eventually it could get to the point that the Xgl has a later independent version that can draw the entire desktop using the 3D hardware of modern graphics cards. This will make it all faster and will lead to pretty effects like OSX has and Vista will have.

And now upon my return I find that my wishes were granted and David Reveman has released the newest code.

And what code it is.
Listen to the changes:

"Compared to the xserver module code in freedesktop CVS a lot have
changed. The new code contains an uncounted number of bug fixes, some
major restructuring and a few additional features.

Sounds tasty. I have tried for hours and I cannot get it to compile yet, but I'm sure that after its soon merged with the CVS then most distro will have packages of it (Dapper already has an older Xgl in the repos so its not a big deal for Daniel Stone to upgrade it). I will keep trying and I really want to try it with all the composite manager.

But no matter what this is a big deal. This is the future. The reward of a modular Xorg.

Of course, its not ready yet. And its not the end solution. But this is a HUGE jump and the first real positive news on the Xgl in a long time.

Now I know some people are saying "show me the money" so here is all the Xgl goodies I can find. Here is a GREAT video of it:

And an older video:

And here is a few screenshots of
Xgl in action:

Its Amazing Stuff. Hope to have my own screenshots soon.