Intel Might Finally Have Linux Frame-Buffer Compression Fixed-Up, On By Default
For years the open-source Intel Linux graphics driver developers have been working on frame-buffer compression (FBC) support but never it's worked out quite good enough to turn it on by default in full. Frame-buffer compression has the ability to reduce power consumption for those using Intel HD Graphics while reducing the amount of memory bandwidth used for screen refreshes. Now though the Intel DRM FBC code has been re-worked and perhaps this time it will be flipped on by default.
Ville Syrjälä of Intel's Linux team sent out a massive set of 23 patches that re-work the DRM kernel driver's frame-buffer compression handling.
Ville wrote, "This series rewrites the FBC code to actually work. It utilizes the hardware tracking/nuking as much as possible, eg. relying on hardware nuke on flip when possible. I also introduce the generic ring and vblank notifier gizmos which could be used for various other things. I already included a patch to convert the IPS enable to be asynchronous by using the vblank notifier. Other users for thse could be mmio flips, watermark programming, atomic gamma/color correction (single buffered registers all) updates from vblank interrupt, etc."
Many low-level changes were made to the Intel DRM driver that led to over one thousand lines of new code being introduced. Hopefully this FBC support is indeed in good shape so it can be flipped on. With the patches, Ville is trying to enable Intel frame-buffer compression support by default for Intel "Ironlake" hardware and newer. Assuming the patches get reviewed favorably, the changes could wind up in the Linux 3.17 kernel cycle that will get underway in about two months.