Linux DRM Gets CRTC Background Color Property For Memory Bandwidth Savings
The Linux kernel's Direct Rendering Manager (DRM) code getting a "CRTC background color" property value may not seem exciting, but it can mean video memory bandwidth savings and thus better performance or power savings.
Intel developers have been working on this DRM CRTC background color property and getting it supported by their "i915" DRM driver. The basis for this work has been for Google with Chrome OS but can be relevant to others as well. This new property is for use by display controllers that can be programmed to use a non-black color for pixels not covered by a display plane, basically untouched areas of what is to be presented on the display. Rather than needing to render say a plain colored background, this DRM CRTC background color property could be set to the desired color and the compositor could just deal with smaller planes for displaying the areas of the screen with something more to display.
By not having to deal with the entire screen contents in cases where it is mostly just a solid background/canvas being displayed, this property could help lower the memory bandwidth requirements for display. In the case of Intel hardware, their Skylake "Gen 9" graphics hardware and newer supports a programmable CRTC background color that appears in areas not covered by hardware planes.
With the v5 patches posted on Thursday, the DRM property and the Intel bits appear to be in order for merging. It's looking like this support will quite likely land in Linux 5.1 mainline albeit compositors also need to make use of this capability from user-space for it to payoff.
Intel developers have been working on this DRM CRTC background color property and getting it supported by their "i915" DRM driver. The basis for this work has been for Google with Chrome OS but can be relevant to others as well. This new property is for use by display controllers that can be programmed to use a non-black color for pixels not covered by a display plane, basically untouched areas of what is to be presented on the display. Rather than needing to render say a plain colored background, this DRM CRTC background color property could be set to the desired color and the compositor could just deal with smaller planes for displaying the areas of the screen with something more to display.
By not having to deal with the entire screen contents in cases where it is mostly just a solid background/canvas being displayed, this property could help lower the memory bandwidth requirements for display. In the case of Intel hardware, their Skylake "Gen 9" graphics hardware and newer supports a programmable CRTC background color that appears in areas not covered by hardware planes.
With the v5 patches posted on Thursday, the DRM property and the Intel bits appear to be in order for merging. It's looking like this support will quite likely land in Linux 5.1 mainline albeit compositors also need to make use of this capability from user-space for it to payoff.
3 Comments