[PATCH v3 0/4] Introduce BACKGROUND_COLOR DRM CRTC property

Diederik de Haas diederik at cknow-tech.com
Wed Jan 7 11:37:11 PST 2026


On Wed Jan 7, 2026 at 1:18 PM CET, Diederik de Haas wrote:
> On Tue Nov 18, 2025 at 12:51 AM CET, Cristian Ciocaltea wrote:
>> Some display controllers can be hardware-configured to present non-black
>> colors for pixels which are not covered by any plane (or are exposed
>> through transparent regions of higher planes).
>> ...
>> The subsequent patches add background color support to VKMS and the VOP2
>> display controller used in the RK3568, RK3576, and RK3588 Rockchip SoC
>> families.
>
> Cristian provided a helper script which would show a test pattern and
> then iterate through setting Red, Green, Blue background color and then
> set it back to the original value.
>
> I first tested this on a Rock 5B (RK3588).
> Without this patch set, the background color was Black with every
> iteration. But with this patch set, I did see a Red, Green and Blue
> background color, after which it was set back to Black.
>
> diederik at rock5b:~$ grep -E "^Changing prop|^Read BACKGROUND_COLOR" bgcol-test-bash-user.log
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000
> Changing prop value to: 0xffff00000000ffff
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff
> Changing prop value to 0xffffffff00000000
> Read BACKGROUND_COLOR prop (ARGB64): 0xffffffff00000000
> Changing prop value to 0xffff0000ffff0000
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff0000ffff0000
> Changing prop value to 0xffff00000000ffff
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff
> Changing prop value to: 0xffff000000000000
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000
>
> I then did the same test on a Quartz64-B (RK3566) and that too showed a
> Red, Green and Blue background color and then was set back to Black.
>
> diederik at quartz64b:~$ grep -E "^Changing prop|^Read BACKGROUND_COLOR" bgcol-test-bash-user-q64b.log
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000
> Changing prop value to: 0xffff00000000ffff
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff
> Changing prop value to 0xffffffff00000000
> Read BACKGROUND_COLOR prop (ARGB64): 0xffffffff00000000
> Changing prop value to 0xffff0000ffff0000
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff0000ffff0000
> Changing prop value to 0xffff00000000ffff
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff00000000ffff
> Changing prop value to: 0xffff000000000000
> Read BACKGROUND_COLOR prop (ARGB64): 0xffff000000000000
>
> So this patch set does what it is supposed to do, so feel free to add:
>
> Tested-by: Diederik de Haas <diederik at cknow-tech.com>

I actually tested v4 of this series, so I'll copy-paste the above reply
to the correct version this time.

>
> Cheers,
>   Diederik
>
>> Signed-off-by: Cristian Ciocaltea <cristian.ciocaltea at collabora.com>
>> ---
>> Changes in v3:
>> - Added new patches:
>>   * uapi: Provide DIV_ROUND_CLOSEST()
>>   * drm/vkms: Support setting custom background color
>> - Improved DRM_ARGB64_{PREP|GET}*() helpers by using a conversion ratio
>>   for better color approximation when dealing with less than 16 bits of
>>   precision
>> - Mentioned the IGT test in the cover letter while documenting the
>>   validation results; also dropped references to the now useless
>>   modetest wrapper script and its generated report
>> - Rebased series onto latest drm-misc-next
>> - Link to v2: https://lore.kernel.org/r/20251013-rk3588-bgcolor-v2-0-25cc3810ba8c@collabora.com
>>
>> Changes in v2:
>> - Improved uAPI consistency and readability by introducing
>>   DRM_ARGB64_PREP*() and DRM_ARGB64_GET*() helper macros
>> - Updated several code comment sections
>> - Referenced the counterpart Weston support in the cover letter
>> - Rebased series onto v6.18-rc1
>> - Link to v1: https://lore.kernel.org/r/20250902-rk3588-bgcolor-v1-0-fd97df91d89f@collabora.com
>>
>> ---
>> Cristian Ciocaltea (4):
>>       uapi: Provide DIV_ROUND_CLOSEST()
>>       drm: Add CRTC background color property
>>       drm/vkms: Support setting custom background color
>>       drm/rockchip: vop2: Support setting custom background color
>>
>>  drivers/gpu/drm/drm_atomic_state_helper.c    |  1 +
>>  drivers/gpu/drm/drm_atomic_uapi.c            |  4 ++
>>  drivers/gpu/drm/drm_blend.c                  | 39 ++++++++++++++--
>>  drivers/gpu/drm/drm_mode_config.c            |  6 +++
>>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 13 +++++-
>>  drivers/gpu/drm/rockchip/rockchip_drm_vop2.h |  4 ++
>>  drivers/gpu/drm/vkms/vkms_composer.c         | 10 ++++-
>>  drivers/gpu/drm/vkms/vkms_crtc.c             |  3 ++
>>  include/drm/drm_blend.h                      |  4 +-
>>  include/drm/drm_crtc.h                       | 12 +++++
>>  include/drm/drm_mode_config.h                |  5 +++
>>  include/linux/math.h                         | 18 +-------
>>  include/uapi/drm/drm_mode.h                  | 67 ++++++++++++++++++++++++++++
>>  include/uapi/linux/const.h                   | 17 +++++++
>>  14 files changed, 178 insertions(+), 25 deletions(-)
>> ---
>> base-commit: 92c49b3f4df8f9acfa95551ef38fc00c675319fd
>> change-id: 20250829-rk3588-bgcolor-c1a7b9a507bc
>
> _______________________________________________
> Linux-rockchip mailing list
> Linux-rockchip at lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-rockchip




More information about the linux-arm-kernel mailing list