A new coding effort recently folded into the next version of the Linux kernel may finally resolve the long-running problems associated with Linux on ARM processors. While devices like the Raspberry Pi have shown what can be done with Linux on the low-cost, low-power ARM processor, the burden of developing Linux on the growing number of ARM-derivative processors on the market has been, as Linus Torvalds himself has described it, "a fucking pain in the ass."

Version 3.7 of the Linux kernel will be the first to support multiple versions of the ARM processor—a starting point toward a much-needed consolidation of Linux support for the system-on-a-chip architecture. In the long run, the changes could mean broader support for ARM by popular Linux distributions, making it easier for developers to build versions for a broader variety of target devices—everything from enterprise servers based on massive arrays of ARM processors to tablets and smartphones. And other changes in the 3.7 kernel could make it more attractive for low-cost touch tablets and other mobile devices—as well as a hacker's replacement for Windows RT.

One build to rule them all

Linux's fragmented support for the many variations of ARM processor architecture has been a source of frustration for Linux developers and users. Until now, each implementation of ARM by manufacturers has had its own associated kernel code tree, creating a code management nightmare.

According to a blog post by David Rusling, the chief technical officer of the Linaro nonprofit Linux-on-ARM coalition, "each new kernel release sees about 70,000 new lines of ARM code, whereas there's roughly 5,000 lines of new x86 code added."

All of that has made Torvalds very impatient in the past. Last year, in response to yet another code change request, he ranted, "Somebody in the ARM community really needs to step up and tell people to stop dicking around. I don't know who to 'blame.' I don't care. It really doesn't matter. I realize that ARM vendors do crazy shit and haven't figured out this whole 'platform' thing yet, but you guys need to push back on the people sending you crap."

Kernel 3.7 will be the first step in getting a handle on ARM, unifying support for five different ARM architectures under a single kernel build:

Calxeda's Higbank ARM server processor, used in Hewlett-Packard's Project Moonshot servers

The Versatile Express ARM-based developer board, used for prototyping system-on-chip designs

Marvell's ARMADA SoC processors, used in everything from servers to Internet TVs

Altera's ARM processors, including the Cortex-A9—a combination SoC and field-programmable gate array, found in Samsung's Galaxy Note and Galaxy S II

Picohip's picoXcell chip for femtocells—cellular base stations for homes and businesses that connect to carriers via broadband

The changes will also lay the groundwork for merging other ARM architectures into the same line of code.

Getting all touchy

The move toward multi-platform ARM is just one way the 3.7 kernel will make it easier for Linux to be adopted for mobile. The 3.7 kernel will also add support for a number of new interface devices. The Human Interface Device additions to Linux will include improved support for multitouch interfaces on capacitive touchscreens—such as those used in tablets such Apple's iPad and Google's Nexus 7, and in tablet computers built for Microsoft's Windows 8 operating system.

While it's doubtful you'll be able to run touch-based Ubuntu on your iPad any time soon, the improved ARM and multitouch support will make it possible to go after some Windows RT tablets. Canonical and other developers of Linux distributions have been working on getting past the Unified Extensible Firmware Interface (UEFI) Secure Boot, but the additional HID features and ARM support will make it easier to support a whole range of mobile touch-based devices at a level of functionality closer to that of proprietary operating systems.

There are also additions to Kernel 3.7 that are aimed at supporting other types of devices, including Internet televisions and other embedded computing devices. The list of new devices supported includes improved support for game console remotes—the release adds support for Sony's PS3 BD remote control, and for the Nintendo Wiimote's balance board.