Although most people thought of last Thursday as being Christmas, it seems the Linux Kernel developers thought of it as being the perfect day for a fresh kernel launch: 2.6.28. Codenamed “Erotic Pickled Herring”, the updated kernel brings a lot of changes and updates that we were expecting, including a stable ext4, improved GPU memory manager, disk shock protection, ultra-wide band support and more.
One of the biggest additions is the ext4 file system, and although it’s been available inside the kernel for a little while, this is the first time it’s been marked stable. Because ext4 is backwards compatible with ext3, you don’t need to have the latter compiled, which is nice. The downside, though, if there is one, is that ext2 has been removed, and from my experience, that is not backwards compatible with ext4. So if you have an old partition using it, or a boot partition, the time to upgrade might be now.
Another major inclusion is the “Graphics Execution Manager”, which improves the kernel’s graphics memory-handling efficiency. GEM was introduced and is still developed by Intel, and currently will only work with i915, but I’d expect we’d see support for other GPU drivers in the near-future as well. “Ultra Wide Band” support also makes an entry here, which serves as a transport layer for various wireless technologies, including Wireless USB and the WiMedia Link Protocol.
For audiophiles, you might be happy to know that the kernel also adds support for ASUS’ Xonar HDAV 1.3 Deluxe audio card, in addition to a few other audio peripherals. This is of course not all that’s included in the new kernel, so check out the Kernel Newbies link below and find out all of what’s relevent to you.
There has been a lot of work in the latest years to modernize the Linux graphics stack so that it’s both well designed and also ready to use the full power of modern and future GPUs. In 2.6.28, Linux is adding one of the most important pieces of the stack: A memory manager for the GPU memory, called GEM (“Graphic Execution Manager”). The purpose is to have a central manager for buffer object placement, caching, mapping and synchronization.