Intel Haswell Graphics Code Begins Appearing
The open-source Intel Linux graphics driver code for Intel's 2013 platform, Haswell, has begun to surface.
Last month I mentioned that Intel Haswell graphics driver code would soon surface, it's taken a bit longer than anticipated, but the Intel Open-Source Technology Center developers are beginning to push the code publicly so that the hardware enablement can land in Linux distributions ahead of the hardware's availability a year from now.
Due to varying Linux release schedules and development cycles, plus that the open-source Linux graphics drivers can't be easily updated by end-users without updating most of the system's core components, Intel's OTC developers are left to push out their new hardware support code quite early. Both Sandy Bridge and Ivy Bridge Linux driver code began appearing a year in advance, so it's that time of the year for Haswell graphics code to begin appearing for the Linux kernel, Mesa, libdrm, and the xf86-video-intel DDX.
Haswell is Intel's successor to the yet-to-be-launched Ivy Bridge processors and the architectural successor to Sandy Bridge. Intel Haswell CPUs are expected in the first half of 2013 and will be built from a 22nm process with 3D tri-gate transistors, and introduce new goodies like the "stacked memory" for better graphics performance.
As far as the first code that's out there, hitting the intel-gfx mailing list this afternoon were some Haswell PCI IDs. While it's just some PCI IDs for a header file, it's interesting for a few reasons:
- First of all, beyond adding in the IDs for two desktop parts (IDs: 0x0402 and 0x0412) and two mobile parts (IDs: 0x0406 and 0x0416), it also adds in a "Mobile ULT" ID. Sandy Bridge and Ivy Bridge both had two PCI IDs for mobile/desktop (the GT1 and GT2 parts), plus a Ivy Bridge server ID, but this is the first time seeing a "Mobile ULT" chip explicitly appear in the Linux driver (ID: 0x0A16). The "Mobile ULT" comment is presumably for a mobile ultra-book graphics processor variant for Haswell.
- It's been rumored there will be three graphics processor variants, with a "GT3" Haswell, but the IDs listed now only mention GT1 and GT2.
- This initial code is treating the Haswell IDs as being a "Gen7" device, the same as Ivy Bridge (Sandy Bridge is "Gen6"), but not a "Gen8" device. While there are obviously some differences between Ivy Bridge and Haswell graphics, apparently Haswell will be close enough that it can safely hit most of the Ivy Bridge code-paths. Though Intel may very well be developing Haswell out as Gen8 over time.
Stay tuned for more information and analysis once the more juicy patches arrive. It would be a last-minute arrangement, but the first bits of Intel Haswell graphics support for the DRM driver could be merged into the Linux 3.4 kernel with its merge window just opening. On the Mesa driver side, there's still several months before the user-space graphics driver library is updated, so there should safely be first-cut support with Mesa 8.1. Like Sandy Bridge and Ivy Bridge, expect Intel's open-source developers to refine the code a great deal over the coming months prior to the hardware's availability next year.
Besides the graphics support, there's already Haswell CPU support building in open-source compilers. Haswell introduces the AVX2 instruction set to build upon the Advanced Vector Extensions from Sandy/Ivy Bridge. Initial support for these new instructions are already handled by the latest GCC and LLVM code.