Hi, 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@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@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 <[email protected]> Cheers, Diederik > Signed-off-by: Cristian Ciocaltea <[email protected]> > --- > 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/[email protected] > > 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/[email protected] > > --- > 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
