Intel Frame-Buffer Compression Still Not On By Default

There's been many Phoronix articles about Intel's FBC support and covered it as one of the tweaks to extend an Intel laptop's battery life. Frame-buffer compression will compress the buffer of what's to be drawn to the screen so that less memory bandwidth is used on screen refreshes.
While there's been improvements to Intel frame-buffer compression within many Linux kernel updates, it hasn't been attempted to be turned on by default in recent times. Ben Widawsky of Intel was attempting to change that, but it looks like his plan was quickly shot down.
Ben sent out a simple DRM patch on Monday trying to enable support for FBC on Haswell hardware by default. "I am not clear why we've never enabled it by default for GEN7. Looking at the git hostiry, it seems Rodrigo disabled it by default, and it's never been turned on. Quite a few fixes have gone in over the past year, and I think many of us are running this successfully. If there is some reason we know of why we don't enable this by default on GEN7, then please ignore the patch, and forgive my laziness."
It turns out, there's still a range of problems with Intel FBC. Stéphane Marchesin of Google's Chrome OS team stated Ivy Bridge FBC has never been completely stable when using a 2560x1700 panel (it seems to work fine on frame-buffers up to 2k pixels wide). Ben quickly respun the patch to disable FBC for frame-buffers that are then too wide and known to have issues.
Intel's Chris Wilson then commented, "Other than the major performance degredation due to our implementation, and that there is a known deadlock (when unplugging/plugging in external displays) due to the broken locking... It should not have been enabled." Daniel Vetter also of Intel's Open-Source Technology Center, added, "have you run the full kms_fbc_crc testsuite to make sure it's actually functionally correct? [If I recall correctly] we even fail at that stage still on some platforms..."
It looks like frame-buffer compression probably won't be enabled by default anytime soon in a blanket manner, but perhaps they will find enough known good configurations to conditionally enable it for several platforms. See Tweaks To Extend The Battery Life Of Intel Linux Notebooks to find out how to enable FBC on Linux along with other Linux battery tweaks. That article is from 2011 so I'll try to find the time to write an article soon with the latest Linux power-saving options.
Add A Comment