Ars Technica logo. Serving the PC enthusiast for over 5x10-2 centuries  

Subscribe to Ars Technica!

Have news? Send it in.

 
Ars Guides.
  Buyer's Guide
  How-To's & Tweaks
  Product Reviews
  Ars Shopping Engine

Technopaedia.
  Technical Blackpapers
  CPU Theory & Praxis
  Ars OpenForum
  Search Ars

Columnar Edifice.
  Wankerdesk
  AskArs!
  Diary of a Geek
  Game.Ars Report   Mac.Ars takes on...
  Linux.Ars

Site Info.
  Subscribe to Ars
  Ars Merchandise
  Who We Ars
  Advertising
  Links



Logo by Spungy

   by Jorge "whiprush" Castro

 

 8/25/2004 Edition

 

One of the most difficult ideas for new Linux users to grasp is the seemingly esoteric means by which graphics get displayed on the screen. Indeed, the concept of different window managers and its architecture are utterly foreign to many new users. Terms like X, X11, XFree, X.org, Xwin, and Composite get thrown around, adding to the confusion. As Linux and other free operating systems continue to evolve on the desktop, X continues to be an enigma to new users. While we have looked at how both KDE and GNOME interact with X during our last reviews, there has not been a real central point of authority that dictates how the "Free Desktop" should take shape.

Enter freedesktop.org. A conglomeration of developers from multiple vendors, sponsors, and independent desktop developers representing multiple projects, freedesktop.org — spanning nearly 50 projects — has quickly established itself as the clearinghouse for interoperability in the Open Source landscape.

Earlier this year, a license change in the defacto X project, XFree86, forced developers to look elsewhere for graphical support. Originally based on a fork of the original XFree86 code, X.org's first "monolithic" release was embraced by many distributions. Version 6.8, which is due next week, will be the last of its kind, as X.org transitions to a more modular architecture.

This new modular architecture will allow the X.org team to release components on a much more independent basis. The impact for end users will be a more robust, and up to date graphical subsystem that will be flexible enough to meet the demands of the modern *nix desktop. Confused yet? Don't worry, we've snagged freedesktop.org's Release Manager, Daniel Stone, to break it down for us.

Ars Technica: Who are you and what do you do? How did you get involved?

Daniel Stone: I'm a 18-year old first-year university student from Melbourne, Australia; I'm currently on a break from my Arts/Engineering (Software Engineering) double-degree. To try and balance out all the geek in my life, I'm taking Arts, majoring in Indonesian — it's good fun, if really hard.

Back in 2002, Trinity College started funding me to work on XFree86 4.3 debs, a while before its release. That took quite some time, and I got involved with the community somewhat then. When xwin.org started (remember that?), I was one of the admins there, and got involved when we merged with freedesktop.org; and thus began my fd.o involvement.

At the conference dinner at linux.conf.au 2004, I was asked to do an xlibs release (later to be the fd.o release manager), and was later gently prodded into code. A couple of months later and I'm hacking X servers; it's a slippery slope, seemingly.

Within freedesktop.org, my main interest has been modularising X. While I've not had as much time in the last couple of weeks to work on it as I would like, my baby right now is debrix (see below). I've also worked on the modular xlibs distribution a fair bit.

Can you explain how freedesktop.org, X.org, and their respective subprojects interact? Who's in charge over there?

While freedesktop.org is, in many ways, a fairly loosely organized community project, we're all really minions of Havoc; he's kind of a guiding hand around the project. Most of the work within the project is done within smaller, unitary project groups, such as X, Cairo, D-BUS, et al; there isn't actually much work here that touches the project as a whole.

The platform comes close to that, but aside from that, it's basically administration-type stuff.

X.Org, on the other hand, is far more structured; they have a Board of Directors, an Architecture Board, and frequently have conference calls for both these two groups, and a release group. This is also probably a reflection of the fact that X.Org are very much a single group with a single direction.

freedesktop.org and X.Org have massive overlap in both goals and developer base, so we interact fairly often. However, we're pretty much on the same page on everything, so we rarely come up against one another as organizations.

In addition, we also spend a lot of time coordinating with various projects such as desktop environments. One or all of myself, Havoc, Keith, Jim and others have been present at this year's linux.conf.au (myself, Havoc, Keith Packard), FOSDEM (Keith), GVADEC (Havoc, Jim, Keith), OLS (all), and aKademy (myself); that's a fairly good record. We're always looking to get together and get some good communication together with all the desktop guys, and try to discuss moving forward with the desktop.

A while back, you mapped out how different X trees related to each other and what was what. Can you update us on the latest developments in each of these areas? What about "new" things like Debrix/glitz/cairo? Can you break down the alphabet soup for us?

Hard ask!

  • xlibs: No change, except for the fact that more libraries have been modularized.
  • Xizzle: This is now dead code. The DIX used in fd.o's xserver project and the DIX used in the X.Org codebase was quite radically different, so building a X.Org server on top of the xserver DIX was deemed too difficult. Thus was born...
  • debrix: debrix is an autotooled X.Org server, using the X.Org DIX as well as DDX. As well as having made the server modular, we've also thrown out the old ELF loader, which was a horror to maintain, and replaced it with a more simplistic wrapper around libdl. For approximately zero loss in functionality, we were able to throw away 12,200 lines of code. debrix is also maintained in tla (Tom Lord's Arch) instead of CVS.
  • tla: Arch is a distributed source code management system. While projects like Subversion aim to be a "better CVS," arch has a different model (arch is the "protocol" as such, and tla is an implementation of a client). tla's models revolve around many developer branches diverging and later being merged back into a single canonical branch, rather than many developers working off the same branch. See http://www.gnuarch.org for more information (as well as http://debrix.freedesktop.org).
  • Cairo: Cairo is a backend-independent, 2D vector graphics library.
  • Glitz: Glitz is a backend for Cairo based on OpenGL, which means that all Cairo apps can be drawn as GL textures.
  • XGL: XGL is a server which renders to an OpenGL library; unfortunately X on GL is not my area of expertise, so I don't know too much more about the status.

Next: X.Org

 

 


Dual 2.5GHz Power Mac G5 review

The Sims 2 review

Pipelining: an overview (Part II)

System Guide: September edition

Pipelining: an overview (Part I)

Chris Sawyer's Locomotion review

Multicore, dual-core, and the future of Intel

System Guide: gaming boxes

TrackIR3 Pro review

Doom 3: the review

PowerPC on Apple: An Architectural History, Part I

Virtual machine shootout: Virtual PC vs. VMware

The Pentium: An Architectural History � Part II

Joint Operations: Typhoon Rising game review

AirPort Express review

The Pentium: An Architectural History � Part I

The Ars guide to PCI Express

Beyond Divinity game review

The future of Prescott

Interview with Mozilla.org's Scott Collins

Thief: Deadly Shadows game review

USB 2.0 Hi-Speed Flash drive review

A closer look at Intel's processor numbers and 2004 road map

Far Cry game review

Dell Latitude D800 laptop review

HP Compaq nc6000 laptop review

Hitman: Contracts game review

Deploying a small business Windows 2003 network

Alternative AIM clients for Windows

Inside GNOME 2.6

/etc

OpenForum

Distributed Computing

Take the Poll Technica

FAQ: Celeron overclocking

 

Copyright © 1998-2004 Ars Technica, LLC