November 14, 2006

Ubuntu Developer Summit report: X.org improvements, driver controversy, and bling

Author: JT Smith

X.org received a lot of attention and discussion at UDS, which is appropriate for such a desktop-focused distro. Binary drivers were a hot topic at the summit. Ubuntu developers also discussed how to provide a more robust configuration system for X.org, and what to do when problems arise with X.

Right now, Ubuntu "just works" on a lot of hardware. However, when X.org fails, it's possible for users to run into a unrecoverable failure. Developers discussed how to fall back to a mode that's likely to work on all hardware, and talked about providing a GRUB boot option to allow users to activate a "safe" mode -- like VESA 800x600 at 256 colors -- that will allow them to try to configure X.org in a more pleasing mode.

One of the possible configuration tools that was given serious consideration was SUSE's SaX2, which was acknowledged as a comprehensive tool for munging X configurations -- particularly dual-head configs.

What's coming in X.org

However, that may only be an interim solution. X.org's Keith Packard turned up for several of the X.org discussions, and he indicated that X.org will be solving some of these problems upstream in the 7.3 timeframe. According to Packard, X.org 7.3 shouldn't even require an xorg.conf -- everything should be autodetected at run time. X.org will receive information about new devices dynamically from D-Bus. X.org will also be moving to fontconfig to make fonts more dynamic.

Keith Packard talks about upcoming X.org releases - click to view video

If all goes as planned, X.org will be able to deal with configuration changes on the fly by the time Feisty+1 is released. X.org's development cycle is out of sync with Ubuntu's. Ubuntu releases typically land in April and October, while X.org's biannual cycle puts its releases almost squarely between Ubuntu releases.

This means that the Ubuntu developers only need implement a stopgap solution for Feisty, as 7.3 is expected to be released between Feisty and Feisty+1. There's little sense in Ubuntu developers putting a lot of effort into a tool that will be made obsolete in less than a year.

Packard says that 7.2 will be a "modest" release, mostly driver fixes and portability work. At this point, because 7.2 is close to release, Packard says that they're more focused on the 7.3 release.

In addition to better dynamic configuration of input devices, Packard says that X.org X11R7.3 should also feature better output support. He says that X.org is in discussions with card vendors on getting better hotplug support for adding monitors and such on the fly. This will be a nice addition for Linux users who give presentations and need to be able to connect a projector to a laptop and have it "just work" while X.org is running.

Binary drivers

The announcement that Ubuntu will ship binary drivers by default in Feisty is getting a lot of negative commentary from users and Ubuntu members alike. Of course, there's also a vocal contingent that complains that Ubuntu and other distros are unsuitable for general users because they don't ship with Nvidia or other binary drivers enabled. There's no position here that will satisfy all users.

At any rate, Shuttleworth pointed out that this is not a new policy. Ubuntu has shipped binary drivers, enabled by default, for wireless devices. For those users who are set up to get online via a Wi-Fi connection, this is the only way to allow them to get online and get updates at install time.

However, Shuttleworth says that "Feisty will actually warn you that you're running proprietary drivers and point you to alternative hardware ... so you're better educated for your next hardware decision. I don't expect this to be very popular with Nvidia or ATI, or with manufacturers of proprietary-only Wi-Fi cards, but of course the easiest solution for them is to open source their drivers."

Easiest? Perhaps not. One thing that many users forget is that a company like ATI may not own all of the intellectual property for its drivers outright. In one of the sessions to discuss X.org in Feisty, Packard mentioned that it was unlikely that ATI would be able to open source its drivers, but, he did say that they were trying to find ways to open source the documentation for the devices to allow the open source community to write better drivers for ATI cards.

Quinn Storm talks about X.org - click to view

Owners of Nvidia cards may have a better option for 3-D in the not-too-distant future. The open source nv driver is suitable for 2-D but not 3-D work, and the proprietary Nvidia drivers are widely considered a Bad Thing™ for licensing reasons as well as practical concerns about security. Therefore, the Nouveau project is developing an open source 3-D driver for Nvidia cards.

The project is still in its early stages, but Packard suggested that it might be ready in time for the X.org 7.3 release. If that happens, the general consensus seems to be that Nouveau would not be on par with the binary Nvidia drivers, but would be able to provide sufficient performance for 3-D desktop effects.

Shuttleworth says that he thinks that shipping proprietary drivers is the best way to allow users to experience the rest of the free software stack. "Is the 3-D functionality a necessity, or a nice to have? My view is that it's a fundamental chunk of the hardware that we haven't been taking advantage of.... Now we'll enable them [binary drivers] and let the free software guys innovate on top of that."

You ain't got a thing, if you ain't got that bling

The innovation that Shuttleworth is referring to is, of course, the work going on with Compiz and the Beryl project.

Ubuntu Feisty will almost certainly ship with desktop effects available by default, but the question is whether Feisty will ship with Beryl or Compiz. It seemed that developers were leaning toward Beryl, but that remains to be decided at the closed meetings being held by Canonical employees and Ubuntu developers this week to go through all of the specs from the UDS and decide what will and won't be included in Feisty.

Beryl was originally a fork of Compiz, but lead developer Quinn Storm was clear on the fact that the Beryl project members bear no animosity toward the Compiz project, and that they're not trying to "kill" Compiz. However, the Beryl developers felt that Compiz was not open enough to accepting work from outside developers, and they felt it was necessary to fork Compiz to be able to innovate at their own pace.

Storm says that Beryl has a similar relationship now to Compiz as Ubuntu does to Debian. "We have gone our own way because we want to do things that are a bit more fresh, that are a bit more, perhaps, exciting. Compiz has their own goals and their own path, and so do we."

One of the biggest goals for Beryl, according to Storm, is to listen to the wishes of users and keep a "fuzzy line between those who are involved with development and those who aren't, so anyone who wants to come and help out our project can."

The Beryl developers put on a demo of their desktop effects on Wednesday morning. In addition to the usual wobbly window and spinning cube effects, they showed a "burn" feature that would burn down a window when it was minimized (Shuttleworth joked he'd like to make that the default on April 1) and accessibility tools like full and partial screen magnification, color inversion, and other features to make the screen easier to read -- which is a fairly compelling argument for enabling "bling" on the desktop, if it also provides a demonstrable benefit for accessibility.

Storm says that the 0.2 release of Beryl is scheduled for February, and even if it is not the default compositing and window manager, it should be available in the Ubuntu repositories.

Click Here!