Hi Marius,

Thanks for reply.I have some questions:

1.Can you send patch with only i915/amdgpu first? It's a long-needed feature to deal with some monitors/TVs with broken EDID.

2.Is there any method to get the list of supported pixel format by current driver? Also maybe we need to take display port's maximum speed rate/target refresh rate/resolution into account.

Best regards,
Shengyu

在 2025/8/26 15:24, Marius Vlad 写道:
Hi,

Prior work towards this is/was: 
https://lore.kernel.org/dri-devel/20240115160554.720247-1-an...@yngvason.is/

I have slightly modified version of that, but still working on
getting another driver (besides amd/i915) working with it.

On Tue, Aug 26, 2025 at 02:39:59AM +0800, Shengyu Qu wrote:
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


Attachment: OpenPGP_0xE3520CC91929C8E7.asc
Description: OpenPGP public key

Attachment: OpenPGP_signature.asc
Description: OpenPGP digital signature

Reply via email to