Usage: - X11: xrandr --output <output name> --set "pixel encoding" <encoding> - Wayland: proptest -M amdgpu -D <card path> <connector ID> connector <pixel encoding ID> <encoding (ID)> - Kernel Param: amdgpu.pixel_encoding=<encoding> or amdgpu.pixel_encoding=<monitor>:<encoding>,<monitor>:<encoding>
Supported encodings are: "auto" (0) (Default and original behavior), "rgb" (1), "ycbcr444" (2), "ycbcr422" (4), and "ycbcr420" (8). This patch series allow users to switch between pixel encodings, which is specially important when auto gets it wrong (probably because of monitor's manufacturer mistake) and needs user intervention. Changes since v1: - Some cleanup and rebase - Added YUV422 support Full discussion: https://gitlab.freedesktop.org/drm/amd/-/issues/476#note_2628536 Original patch by Yassine Imounachen, current version is modified based on this patch(was rebased by Rafael Carvalho): https://lists.freedesktop.org/archives/amd-gfx/2024-October/116195.html Shengyu Qu (2): drm/connector: Add "pixel_encoding" to switch between RGB & YUV color output modes drm/amdgpu: Add "pixel_encoding" DRM connector property support for amdgpu drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 36 +++ drivers/gpu/drm/amd/amdgpu/amdgpu_display.h | 3 + drivers/gpu/drm/amd/amdgpu/amdgpu_mode.h | 2 + .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c | 273 +++++++++++++++++- .../gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.h | 1 + drivers/gpu/drm/amd/display/dc/core/dc.c | 8 + drivers/gpu/drm/amd/display/dc/dc_stream.h | 2 + drivers/gpu/drm/drm_modes.c | 32 ++ include/drm/drm_connector.h | 7 + 9 files changed, 353 insertions(+), 11 deletions(-) -- 2.43.0