In all the articles this past month about GNOME 3 and Ubuntu's Unity, video drivers have received only passing mention. Yet video drivers (or their lack) could not only determine each desktop's success, but also be the area where each has the most influence on Linux and free and open source software (FOSS).
Specifically, I'm referring to the fact that drivers with 3-D hardware acceleration are required by both GNOME 3 and Unity. Whether each development team decided on this requirement separately, or whether one decided that it must match the other in sophistication, will probably never be known. But the fact remains that two of the leading desktops now require what, for FOSS, is advanced -- at times, even bleeding edge -- technology.
This requirement is a problem for two reasons. First, in general, FOSS hardware acceleration lags behind that of other operating systems. Video drivers is an expert's field, but, Phoronix's Linux Graphics Survey in September 2010 suggests that more or less reliable hardware acceleration is available only for 72% of Linux desktops -- those using Intel, Catalyst/fglrx, and NVidia drivers. (And many would quibble about the reliability of each of these drivers).
That leaves 27% using the free drivers for ATI, Radeonhd, and Nouveau, each of which has some degree of hardware acceleration, but might be unreliable in any given combination of hardware. It also leaves about 1.5% using the long obsolete VESA driver.
Second, of the drivers that do support hardware acceleration, only the Intel ones have a free license. That leaves free software supporters (whatever their numbers might be) with the choice of either abandoning their principles and using a proprietary driver, or else of looking for an alternative to GNOME 3 or Unity.
The first issue is acknowledged indirectly by the fact that both desktops include a fallback option of a desktop based on the GNOME 2 series with less demanding hardware requirements.
At first, GNOME tended to downplay the issue, claiming that GNOME 3 uses "relatively primitive 3D capabilities that have been available from essentially all computing devices made in the last 4 or 5 years."
However, by the time GNOME 3 was released, the FAQ acknowledged the problem, adding that "The GNOME project and its partners are working hard to ensure that the complete GNOME 3 experience is available to as many people as possible, and aim to ensure that users who are initially unable to have this experience will be able to in the future."
By contrast, Ubuntu makes no mention of the requirement on its download pages, presumably assuming it is not an issue. Neither GNOME 3 nor Unity mentions the licensing problem in any prominent place on their websites.
However, neither problem disappears for users, regardless of what is officially discussed. The problems will most likely disappear in the next few years as work on free-licensed drivers continue, but, for now, requiring hardware acceleration seems premature.
The Lowest Common Denominator and Proprietary Oversights
In fact, you have to wonder whether the decision to rely on hardware acceleration was a miscalculation. Maybe both development teams over-estimated the rate of driver development, assuming that hardware acceleration would no longer be a problem by the times of the official releases.
If nothing else, it seems worth noting that, in developing Firefox 4.0, Mozilla dropped the need for hardware support for the Linux versions, describing the state of free-licensed drivers a few months ago as "disastrously buggy." But then, Mozilla has always supported free licenses, and the 3-D demands are undoubtedly greater for a browser than for a desktop.
Still, Mozilla's example brings up another question: Why is hardware acceleration needed for a desktop in the first place? Functionally, there seems no reason for it, and users hardly seem to expect it, or so many would not be considering alternatives like Xfce that lack it.
If the main purpose is eye-candy, both Unity and GNOME might have learned from the KDE 4 series. For all KDE 4's sometimes unpopular innovations, its basic functionality is available to all users, and hardware acceleration is required in the KDE 4 series only for some of the optional special effects.
Perhaps GNOME and Unity developers might dispute Phoronix's figures. Yet it is worth noting that both Phoronix's results and any that GNOME and Unity might have gleaned from testing are, if anything, skewed toward more experienced users who are more likely to participate in surveys and testing and certainly more likely to know how to install proprietary drivers.
By comparison, newer users are probably more likely to stay with the free drivers available during installation, not because they are free software supporters (probably they have never heard of the cause), but because they are unaware of alternatives. If anything, the desktops that have trouble running GNOME 3 or Unity are probably higher than the Phoronix survey suggests for this reason.
Yet even accepting the Phoronix figures, what happened to designing for the lowest common denominator? Obviously, support cannot be maintained indefinitely, and no one expects, for instance, such mainstream desktops to work on 486s. Still, when over a quarter of users either cannot run a desktop or might have problems doing so, then surely legacy support has been slashed prematurely.
In addition, there is an inconsistency in two major Linux/FOSS projects making decisions that encourage the use of proprietary drivers. Everyone in FOSS knows that many people use proprietary drivers, but the official position of major distributions has generally been to install with free drivers, and leave the use of proprietary ones to the individual conscience. Some distros, like Fedora, will not even have the proprietary ones in their package repositories.
Now, though, by defaulting to Unity, Ubuntu has shifted from leaving the decisions about proprietary drivers to individuals toward pressuring users to use them. The same will be true in Fedora 15, which, with Ubuntu defaulting to Unity, is about to become the major GNOME 3 distribution. In the rush to provide the latest innovations, distros that package GNOME 3 or Unity risk throwing away the principles they are based on.
True, not everyone is a dedicated free software user who will refuse proprietary drivers regardless of the inconvenience or cost. The Phoronix figures prove that. But if the point of FOSS is not to develop a completely free desktop, then what is it? Encouraging the use of proprietary drivers seems a strangely backward step.
Whether you are talking technology or licenses, the kindest interpretation of the decisions surrounding the required drivers seems to be that, in the excitement of building new, leading edge software, the Unity and GNOME development teams lost sight of what they were doing in the first place.
Facing the Consequences
Regardless of how the decisions about drivers happened, their consequences may be around at least until free-licensed drivers with complete hardware acceleration are the norm in FOSS.
However, just what those consequences will be is still being determined. In the short term, the driver requirements might encourage users' search for alternative desktops and distributions. If so, then GNOME 3 and Unity may have the opposite effect from what their planners intended. Instead of attracting users, their leading technology may be driving them away.
But in the long term, the effect of the decisions may be on FOSS driver development itself. In one scenario, the success of GNOME 3, Unity, or both could cause the use of proprietary drivers to spread -- although how they could be more widely used than they already are seems hard to imagine. In another scenario, the two desktops could publicize the current driver limitations, and encourage the needed development of free drivers. Right now, though, with neither released for as long as two months, it is too early to say which possibility is more likely.
In The March of Folly, Barbara Tuchman describes how world powers come to make disastrous decisions. Like the British after the American Revolution or the Americans after Vietnam, both GNOME and Ubuntu are strong enough that they will probably survive their latest releases. But, in the driver requirements for GNOME 3 and Unity, perhaps they have made miscalculations that could cause shifts in FOSS -- and not the ones that their developers anticipated.
ALSO SEE: How Ubuntu's Unity Can Be Improved