Linux 3.1 Enhances Sandy Bridge, Preps For Ivy Bridge
The Linux 3.1 kernel was released earlier this week and it further enhances the Intel Sandy Bridge graphics support while also prepping the open-source kernel driver for Intel's next-generation Ivy Bridge processors.
LLC, the feature that enables the Sandy Bridge graphics to use the CPU cache, is now enabled by default for this latest generation of Intel processors. The LLC patches have been floating around since March, but now they are mainline and found in the Linux 3.1 kernel. The LLC work is responsible for much of the performance improvements in Linux 3.1. LLC will also be possible for Intel Ivy Bridge CPUs.
While it is not going to improve the performance like LLC, frame-buffer compression (FBC) for Gen6 (Sandy Bridge) is now on by default and will help extend your battery life. Compressing the frame-buffer results in less data needing to be transferred upon screen refreshes and as a result less memory bandwidth is needed, which can result in a small power savings. FBC is disabled by default on pre-Gen6 hardware due to outstanding bugs, but it can be manually enabled by setting the kernel command line option of i915.i915_enable_fbc=1. Frame-buffer compression is finally enabled by default for Sandy Bridge graphics now that various improvements have been made.
Another power-savings feature previously talked about and tested for Intel Linux graphics is RC6, which allows the graphics processor to enter a lower power state. It was enabled in the Linux 3.1 kernel, but as it was causing issues the feature ended up being reverted. It will be enabled in the Linux 3.2 kernel and can be manually enabled from pre-3.2 kernels by the i915.i915_enable_rc6=1 option.
Other Intel DRM improvements in the Linux 3.1 kernel include better DisplayPort and HDMI output handling, configuration improvements, and other fixes. Much of this work benefits the hardware enablement of Intel's next-generation Ivy Bridge CPUs, which will be released in H1'2012. A good portion of the work in the Linux 3.1 kernel will also benefit older generations of Intel graphics, namely Ironlake hardware and newer.
Intel has been pushing Linux patches for Ivy Bridge since the second quarter and there is already mainline Linux support within the kernel, xf86-video-intel DDX, and Mesa. VA-API video acceleration support also appears ready. In the Linux 3.2 kernel, Intel will also be introducing triple monitor Ivy Bridge support, among other driver improvements. I've been hearing great things about Ivy Bridge on Linux and it's gearing up to be a very exciting launch and should hopefully see first-rate Linux support, compared to the initial struggles faced by Sandy Bridge on Linux back in January.
While the Intel DRM/KMS driver in the Linux 3.1 kernel is what is under the microscope today, Intel has also been making improvements to their DDX/X.Org driver (namely with the SNA acceleration architecture) and Mesa. Various improvements have went into the i964 Mesa DRI driver recently, which is the user-space OpenGL driver that supports from the Intel 965 series through Sandy Bridge and Ivy Bridge. One of the recent performance improvements in the Intel Mesa driver is implementing HiZ support.
Intel is still hoping to have OpenGL 3.0 support in Mesa by year's end, if not certainly by the time the GL3.1-capable Ivy Bridge hardware is here. What will be missing from the Ivy Bridge graphics support though is the OpenCL 1.1 compute support. Intel has the OpenCL Linux SDK for running the Open Computing Language on the CPU side, but since their Linux developers have resisted the migration to the Gallium3D driver architecture (there's the emerging Clover state tracker, but Mesa DRI drivers can't handle OpenCL), there is not any foreseeable support on the graphics side.
From an HP EliteBook with an Intel Core i5 2520M CPU, 4GB of RAM, a 160GB Intel SSD, and Intel HD 3000 graphics. Ubuntu 11.10 x86_64 was in use with the Unity desktop and X.Org Server 1.10.4. The Linux 3.1, 3.0, and 2.6.39 kernels were benchmarked with Mesa and xf86-video-intel from Git as of 25 October. The Linux 2.6.39 kernel is not as far back as the Sandy Bridge Linux support officially goes, but on the pre-2.6.39 kernels are where the support tended to be buggy with GPU hangs and other issues. Not only was the OpenGL performance analyzed, but the power consumption and thermal performance was also examined.