The Moblin project was launched by Intel in 2007 with the goal of building a Linux-based platform for small form-factor mobile devices. Although the underlying technology is compelling and exhibits considerable potential, Intel's surprising degree of ambivalence on fundamental issues like hardware compatibility and open drivers could threaten Moblin's relevance.

One of the clearest examples of Intel's declining commitment is the company's cavalier disregard for concerns about the status of the Linux drivers for its GMA500 integrated graphics component. The GMA500, which is also known as Poulsbo, is shipped in popular netbooks like the Acer Aspire One and certain Dell Mini models. Unlike Intel's other integrated graphics solutions, Poulsbo is partly based on Imagination Technologies's PowerVR and is only marginally supported on Linux. The Poulsbo drivers are a complete disaster and are almost impossible for Linux vendors to support.

Watching the Poulsbo trainwreck

The open source parts of the Poulsbo driver, which are now in the "deprecated" section of the Moblin git tree, are unmaintained and haven't received improvements since March, 2008. This code won't work at all with recent versions of the Linux kernel. The drivers also require proprietary binary blobs—which apparently can't be freely redistributed—for handling things like 3D acceleration. For greater technical insight into how badly the drivers are broken, you can refer to Red Hat QA engineer Adam Williamson's detailed blog entry on the subject, Intel GMA 500 graphics on Linux: a precise and comprehensive summary as to why you're screwed.

The crappy Poulsbo Linux drivers are practically notorious by now, so these issues aren't exactly news to Linux enthusiasts who have been watching the fiasco unfold for over a year; it has been like a trainwreck in slow motion. The real problem is Intel's lack of responsiveness to the concerns expressed by the Linux community. Intel has responded to criticism with extraordinary dismissiveness and has failed to provide meaningful clarification about the extent to which it intends to provide Linux software support for the hardware that it sells to vendors.

Several well-known Linux bloggers have recently attempted to raise awareness of the issue, but Intel's response has not been very promising. Shawn Powers of Linux Journal expressed frustration about Intel in an October article, How To Kick Your Friends in the Face: GMA500.

"The folks in charge of kernel developing, X.org developing, and major distribution packaging all have the same thing to say about the GMA500 chipset—and I'm not allowed to publish those sort of words on a company blog," he wrote. "So Intel, I have to ask—what were you thinking? Don't you realize if you want to remain a powerhouse in the small form and embedded market you have to have a good relationship with Linux developers? Do you know current versions of Moblin, your very own baby, don't work with your GMA500 chipset?!"

Intel's Moblin astroturf blog: "Closed drivers? Who cares!"

In response to the Linux Journal article, Intel's MoblinZone blog published a bizarre editorial that downplays the importance of open drivers and claims that users who are dissatisfied with the lack of support for GMA500 on Linux are at fault for buying products with that hardware. The editorial was written by Henry Kingman, who argues that open drivers aren't needed in the mobile and embedded space because products in that market don't have to be user-upgradeable.

"If some of the device drivers are closed, what does it matter? The system is 'embedded'—it's tied closely to the actual hardware present on the platform—and the user is never expected to change anything about the core system, neither hardware nor software. Even the manufacturer might not ever expect to upgrade the firmware on the device, once it's shipped. Closed drivers? Who cares!" he wrote. "Not only is there no significant penalty for closed drivers in the device world, sometimes, they work out better. There's a business advantage, in terms of vendor lock-in. If I'm a chip maker, my customer has to come back to me for a new driver or source-level license (with non-disclosure agreement) when they begin working on a new product model, or a firmware upgrade."

He seems to be arguing that closed Linux drivers are a good business move because that approach to Linux support will allow the chip maker to extract recurring licensing revenue from the OEMs every time they want to make their devices work with a new version of the kernel. That kind of behavior is so egregiously antithetical to the principles of Linux development that I can't really imagine that any upstream Linux developers would consider it acceptable. If Intel and its partners want to do that kind of thing, it's their prerogative--but it's absolutely not going to help Moblin's credibility.

After seeing the MoblinZone editorial, I began trying to get clarification from Intel. I wanted to give the company an opportunity to distance itself from the claims in the blog post and provide more insight into what went wrong with Poulsbo and how the company hopes to correct the problem. Unfortunately, I didn't get much.

MoblinZone's front page lists Intel as one of its "featured partners," but does not indicate who actually operates the site. Intel's corporate address, however, appears on MoblinZone's terms of service and privacy policy. Some readers thought that the whole site smelled of astroturf. Such suspicions were apparently well-founded—Kingman openly confirmed it in a discussion about his editorial at LWN.

"Howdy, author Henry here. Yep, MoblinZone is astroturfing. But, it's also paying my bills during a career transition," he wrote.

I asked Intel several questions about the MoblinZone website and the offending blog post. They said that they play a role in funding the site, but they claim to have no direct editorial involvement with the content. They declined to answer my question about whether the content of the blog post represents Intel's position. They have also not issued a retraction, so I can only assume that they condone its claims.

Intel acknowledges problem, denies responsibility

The real question at this point is whether Intel plans to take steps to address the issues with the Poulsbo driver or ensure that future products are better supported. When we put this question to Intel, they acknowledged that their GMA500 hardware is poorly supported on Linux, but they denied that they have a responsibility to make it work.

"As an open source community effort, the Moblin project relies on commitment from various vendors in the ecosystem to deliver and support device drivers. In the case of the GMA500 series, no vendors have been able to deliver or maintain this driver for Moblin. Despite demonstrations of platforms with partial GMA500 support, a fully-tested and supported driver for the GMA500 remains unavailable," Intel told Ars. "Intel understands the frustration Moblin enthusiasts are experiencing with the lack of support and are aware of how this impacts the perception of Moblin, however the Moblin project team remains hopeful that a member of the ecosystem will choose to support GMA500 drivers in the future."

Intel has been courting the Linux community with the hope of expanding its involvement in Moblin so that they can build mindshare for their technology. The company, however, doesn't seem to feel any responsibility for making sure that the hardware that it sells to OEM's is fully compatible with the Moblin platform. That's not a good way to attract supporters.

One of the reasons that the Linux community has shown so much enthusiasm for Moblin is because the project had serious potential to boost OEM confidence in Linux hardware compatibility. That potential has evaporated in the face of evidence that Intel can't or won't provide any meaningful compatibility guarantees.

Even if Intel can't make arrangements to open the binary blobs (which are licensed from Imagination Technologies) it should at least make sure that the blobs are publicly available and that the open source wrappers are properly maintained and compatible with the latest versions of the Linux kernel. In a mailing list post written six months ago, Intel Linux engineer Richard Purdie said that he was working on making that happen. Nothing has come of it, however, and the source code is still bitrotting. Based on what their spokesman has told Ars, the company has given up on solving the problem itself and is now contending that it is up to the Moblin "vendor ecosystem" to make it work.

A light at the end of the tunnel?

What makes this entire situation so profoundly frustrating is that it is entirely out of character for Intel, a company that has historically been one of the stronger backers of the Linux platform. A lot of Intel's other integrated graphics hardware is extremely well supported on Linux, and its open source drivers are maintained directly by Intel. Some of the most important improvements to Xorg and the kernel graphics stack in recent history have been funded by Intel and implemented by the incredibly smart people that Intel employs to make Xorg work.

For that reason, I remain hopeful that Intel will eventually accept responsibility and start taking steps to address the problems with Poulsbo. If it doesn't, the company risks undermining the credibility of the Moblin initiative and could lose its reputation as a company that is committed to making Linux-compatible products.

Last month, the Linux Foundation leaked some information alleging that a new officially-supported closed-source Linux driver for Poulsbo would be coming soon and that it will be based on Gallium3D. Although another closed-source driver is far from an ideal outcome, it would be a very welcome improvement. Phoronix, which has had good ongoing coverage of the situation with Poulsbo, published a report in early November about the rumored driver overhaul.

Unfortunately, Intel has not confirmed the rumor and the new driver has still not materialized. Phoronix posted an update last week saying that Intel may have changed its mind.

"We have learned that the updated kernel and Gallium3D drivers should have premiered with Moblin 2.1 that was released in November, but at the last minute Intel apparently diverted from their plans," wrote Phoronix. "We have no update as to when the new driver may reach the general public, but hopefully we will not be waiting for Moblin 2.2 in 2010."

Intel has told Ars that it is not working on a Poulsbo fix, so I'm skeptical that the rumored driver will ever emerge. If Intel cares at all about restoring confidence in its commitment to Moblin, now would be a very good time to do something about the problem, or at least provide some transparency if they have a partial solution in progress.