previous next

In World Domination 201, Eric and I identified a number of capabilities the new 64-bit OS would have to achieve in order to gain widespread acceptance. The five categories were device drivers, legacy API support, preinstalls, killer apps, and data file formats (especially multimedia).

Which ones remain blocking issues, and which ones have been solved? We'll look at the current status of each one.

Things have changed for the better since 2006, and Linux support for 3D hardware is now "good enough" with fully open source drivers from two of the three main 3D chipsets, and the holdout has the smallest market share.

Open Source Device Drivers and 3D

At the time of the paper, Linux had everything but 3D support (and some 802.11g stragglers already in the process of being fixed). Neither one is a significant problem for Linux anymore.

The 3D support issue was fixed thanks to Intel's leadership, which put pressure on AMD/ATI. Intel led by hiring Keith Packard himself to develop and release fully open source drivers for Intel's new i965 chipset. A few months later, ATI (now owned by AMD) responded by releasing open documentation for its 3D chips (although they took so long that the community had already reverse engineered a driver for the chipset in question).

Remember that a year ago Intel had 40%, ATI 28%, and Nvidia 20% of the graphics chipset market (by unit volume). This means that Linux now has open source drivers for the two largest vendors in this market, which by themselves supply more than 2/3 of graphics hardware for personal computers. Depending on how the 12% in the "other" category is distributed, we might have support for as closer to 80% of the total.

Only Nvidia remains as a signicant (now isolated) holdout, and Nvidia's 1/5 of the market is small enough that Linux can essentially ignore it during the 64-bit transition. Hardware manufacturers looking to preinstall Linux are unlikely to be significantly inconvenicned by having to choose between the largest and second largest vendor. Despite this, the Noveau Project is making good progress reverse engineering drivers for Nvidia's 3D chips anyway (with active support from Ubuntu).

Although Nvidia has fought for the high end of the market, Moore's Law still means that a brand new low-end chip will usually outperform a cutting edge chip from two or three years earlier. With the game market increasingly dominated by consoles, Nvidia's high-end niche positioning just isn't relevant to the remaining influential PC games, such as the latest Sims 2 expansion pack or Burning Crusade. Some upcoming big PC releases such as Spore have been delayed until after 2008. Possibly in part due to uncertainty about deployment platform: it's unlikely to sell well on Vista, and maybe it should target the Wii? The 3D high end has little relevance to watching video or animated 3D desktops, even on the largest displays. For mainstream users, Intel and ATI chipsets are quite sufficient; that's why they sell so well.

Pressure from Intel and ATI is much less likely to force Nvidia to open its drivers the way Intel forced AMD's hand, because Nvidia doesn't manufacture x86-64 CPUs. The way Intel's graphics chipset only works with Intel's processors could have cost AMD significant processor market share in the Linux world, which is already significant in the server market and in the small but important niche of developer workstations. Buying ATI and releasing specifications for the chips made sense as a defensive move for AMD, but Nvidia doesn't play in that space. If anything, pressure from Linux might make Nvidia move away from the PC to focus even more on the lucrative game console market. It's too early to tell.

Meanwhile, MacOS X continues to support only Apple's hardware, and is not an option on PC hardware from any other manufacturer. Microsoft's current tar baby, Vista, has significant driver problems even on 32-bit platforms. Driver support (3D and otherwise) is regularly cited as one of the many factors impeding Vista adoption. On the driver support front, Linux is noticeably farther ahead of Vista than it was ahead of XP.

In both cases, Linux benefits from restrictions the alternatives have placed on themselves. Both sets of restrictions are instances of bundling: Apple's bundling of hardware with its software, and Microsoft's bundling of various flavors of DRM (on content, drivers, and product activation) with its new OS. (In Microsoft's case Vista also bundles new APIs, new look and feel, new licensing terms impeding virtualization...) Linux can tackle the transition from 32-bits to 64-bits as an isolated problem to be solved independently. This could be a significant advantage in managing a smooth transition.