This summer I used Ubuntu Linux as a development environment for my coding escapades. I’ve long had a subliminal fear of the command line. I don’t trust things that I don’t understand. However, once I was finally thrown into the operating system out of necessity, I discovered that I actually like it quite a bit. The “just works” meter was giving off its highest readings ever for a Linux system I have used.
After that positive experience, I decided that I would dual boot my desktop with Ubuntu as well and start the process of migrating myself completely over to Linux. I’ve been dragging my feet, but it’s a necessity that’s lately becoming even more unavoidable. In fact, after reading a string of articles like this one, I made a pact with myself that I won’t be purchasing a copy of Vista for personal use. I’ll limp along with XP for games and start the transition.
But I was still dragging my feet. That is, until I saw this.
Xgl and Compiz dropped like the fly ball I could never catch in little league. Apparently it’s been around for a while, but for some reason I’ve never been aware of it. Oh well. Being the looks-obsessed person that I am, I finally had my silver bullet of motivation.
Only one problem: I actually had to get it working. Which isn’t an easy task. But it’s so worth it.
Xgl and Compiz - New Hotness
So, what are Xgl and Compiz? Basically, when you run Linux, all you’ve really got is a command line. An ugly black and white (or maybe green) command line like the nerds use in the movies (only it’s not as easy to hack NATO.) However, some clever coders wrote a graphical windowing environment that runs on top of the command line and draws the nice windows. There are lots of levels, all built up on top of each other (GDM, Xorg, Gnome, etc.)
Well, Xgl is a new layer on the pile: a windowing system that takes advantage of OpenGL 3D acceleration from your graphics card. Compiz is a compositing window manager that sits on top of that and provides neat compositing effects (alpha transparency, shape transforms, etc.) Since each window has it’s own surface to draw to and the surfaces are combined with the help of hardware into the output, you can have crazy effects like deforming videos playing on the sides of cubes at reasonable speeds. Think Mac OSX or what Windows Vista Aero is trying to be.
Translation: your Linux just got a lot more exciting.
Let’s See Some Screenshots
Long story short: after much pain, suffering, and digging through random forums and the odd IRC channel, I eventually produced a working installation of Xgl/Compiz on my desktop. (AMD64, NForce3, ATI Radeon 9800 Pro.) You really need to see this in motion to truly appreciate the smoothness and liquidity of the interface, but I’ll include a few screenshots anyway:
Right away you notice the nice transparency and fading effects on windows.
Desktop switching is done on the sides of a cube, and everything animates in realtime. Cooooool.
If you’ve ever used a Mac, you’ll feel right at home. Mousing to the top-right or bottom-left triggers an Expose-like effect. Very handy.
Maximized windows can be tugged at to see what’s behind them. Tug them too far and they pop out of their mooring and become draggable again. In general, most windows deform fluidly when you move them and then solidify again when you’re done. It’s hard to describe.
So What?
So what? Who cares about fancy effects that eat up power and GPU cycles? Well, I think this is cool and important for several reasons:
-
I think we’re finally starting to see a shift away from the status quo in user interface paradigms that are available to the general public. We’ve been with simple windows for how many years? It’s about time we shook things up around here!
-
Making the UI less rigid makes it seem more human and forgiving. Maybe the inexperienced will feel more comfortable jumping in and trying things if they get actual visual feedback that stuff won’t break if they touch it.
-
The open source community has managed to produce a hardware-accelerated windowing system that arguably rivals those of both major commercial developers, even though the open-sourcers are dealing with a lack of resources and connections in comparison. This is awesome and (I think) points to important trends in the software industry.
I’m really excited to see where this project goes in the coming months. I feel that my week was well spent.





1
From what I’ve heard though, you’ll want a rather fancy graphics card to experience them at full effect and no lag. It’s great to see this stuff on Linux though — Mac OS X already has some (only some) of these, but Windows Vista is… behind.
2
I might just have to really learn how to use Linux now… that was extremely hot.
3
Sean McBride on Linux at long last. Whoooo
Xgl / Compiz is very pretty. Looks like Edgy (Dapper+1) will have Aiglx in it, which achieves many of the same things in a different way. I’m looking forward to it…
Also - WTF is up with the AlwaysBeta error message for submitting comments with no email? Ugly, and doesn’t even bring you to a page to fix it… Get on that
4
(Post Author)
@shorty: Actually, you don’t have to have THAT fancy of graphics card. I’ve just got a Radeon 9800 Pro (which can be had for very reasonable prices these days) and everything runs nice and snappy. The Aiglx thing that Chris is talking about means that you can use even older cards (I think…)
@Chris: I dunno man. It’s a Wordpress thing, and probably not worth the time to fix. What, are you afraid we’ll submit you to spam lists?
I’m curious about Aiglx and how it works. I might want to switch over from Xgl since I’ve discovered that Xgl renders a dual-screen desktop as one giant texture and my Radeon card only supports up to 2048×2048 textures. Since my monitors are 1280×1024, this precludes the possibility of dual-monitor Compiz goodness.