From: Pekka Paalanen <pekka.paalanen@collabora.com>
To: "Michel Dänzer" <michel.daenzer@mailbox.org>
Cc: "Nicolas Frattaroli" <nicolas.frattaroli@collabora.com>,
"Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Maxime Ripard" <mripard@kernel.org>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Harry Wentland" <harry.wentland@amd.com>,
"Leo Li" <sunpeng.li@amd.com>,
"Rodrigo Siqueira" <siqueira@igalia.com>,
"Alex Deucher" <alexander.deucher@amd.com>,
"Christian König" <christian.koenig@amd.com>,
"Ville Syrjälä" <ville.syrjala@linux.intel.com>,
"Daniel Stone" <daniels@collabora.com>,
"Dmitry Baryshkov" <dmitry.baryshkov@oss.qualcomm.com>,
dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org,
amd-gfx@lists.freedesktop.org, kernel@collabora.com,
"Derek Foreman" <derek.foreman@collabora.com>,
"Marius Vlad" <marius.vlad@collabora.com>
Subject: Re: [PATCH v5 0/3] Add "link bpc" DRM property
Date: Tue, 31 Mar 2026 15:38:05 +0300 [thread overview]
Message-ID: <20260331153805.376486e2@fluorite> (raw)
In-Reply-To: <47325395-3790-4cb4-8efd-84a3d8ddb80c@mailbox.org>
[-- Attachment #1: Type: text/plain, Size: 3720 bytes --]
On Tue, 31 Mar 2026 10:01:59 +0200
Michel Dänzer <michel.daenzer@mailbox.org> wrote:
> On 3/26/26 14:53, Pekka Paalanen wrote:
> > On Tue, 24 Mar 2026 17:44:21 +0100
> > Michel Dänzer <michel.daenzer@mailbox.org> wrote:
> >
> >> Per my previous posts, my concerns are:
> >>
> >> * The meaning of the "link bpc" property value isn't defined well
> >> enough vs things like dithering or DSC, which will likely result in
> >> compositors / users overestimating what value they need / want,
> >> resulting in compositors spuriously rejecting configurations which
> >> would work perfectly fine, and/or spurious issue reports.
> >
> > That is ok. Compositors need to understand what the numbers mean, how
> > reliable they are, and act accordingly. Knowing the lower bound for
> > link precision is already useful as it guarantees a minimum precision.
>
> I don't disagree, this needs to be made clear in the documentation
> though, if not reflected in the property name itself.
>
>
> >> * There's no clear use case.
> >>
> >> This is generally a requirement for new KMS UAPI.
> >>
> >> The practical usefulness of the corresponding weston MR is dubious
> >> per the concern above.
> >
> > I think the example of RGB 10 bpc to be degraded to YCbCr 10 bpc
> > rather than RGB 8 bpc is an excellent use case.
>
> This series and the corresponding Weston MR aren't enough to address
> that use case though, are they? All they achieve is logging a
> potentially misleading warning.
>
> It might make sense to combine this series and the Weston MR with
> whatever else is needed for that use case.
What do you believe is missing?
Informing the user that the display quality may not be as expected is
the point. Weston does not have any other kind of UI atm. than printing
to the log.
> > I had another use case in
> > https://gitlab.freedesktop.org/wayland/weston/-/merge_requests/1850#note_3115686
>
> That would need to take dithering into account as well?
Yes, dithering could be an adverse effect or not sufficient. Hence the
'link bpc' property should not consider any kind of dithering, to be on
the safe side. I fully expect dithering to become explicitly
controllable, as policy belongs in userspace.
The point of dithering is to adjust the stimuli on screen, that is, to
make a visible difference on dithered vs. not. Maintaining a display
profile valid requires keeping the stimuli response as it was during
profiling. Therefore turning dithering on or off would invalidate the
profile in cases where dithering is useful.
> > Mario Kleiner had excellent cases as well.
>
> I raised unanswered questions on those.
>
>
> >>> That the link-bpc property does not consider DSC and dithering?
> >>> Two things which the max-bpc property also does not consider?
> >>
> >> It's not (as much of) an issue with the "max bpc" property because
> >> it's just an upper limit, the driver is free to use a lower effective
> >> bpc.
> >
> > FWIW, 'max bpc' is a workaround for faulty sink devices that claim to
> > handle a depth but silently misbehave.
>
> That's not the only use case (in fact I'm not sure I'd heard of this
> before). E.g. it can also be used in cases where some HW bottleneck
> prevents using maximum refresh rate at maximum bpc for all displays,
> to explicitly choose which display(s) to limit bpc for, allowing max
> bpc for the rest.
That was what I came to understand when some years I dug into the
history to figure out why 'max bpc' was added initially. What you say
is another good use case considering the state of the UAPI which offers
no direct control.
Thanks,
pq
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
next prev parent reply other threads:[~2026-03-31 12:38 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-19 12:28 [PATCH v5 0/3] Add "link bpc" DRM property Nicolas Frattaroli
2026-03-19 12:28 ` [PATCH v5 1/3] drm/connector: Add a 'link bpc' property Nicolas Frattaroli
2026-03-19 12:28 ` [PATCH v5 2/3] drm/connector: hdmi: Add support for " Nicolas Frattaroli
2026-03-19 12:28 ` [PATCH v5 3/3] drm/amd/display: " Nicolas Frattaroli
2026-03-20 14:32 ` [PATCH v5 0/3] Add "link bpc" DRM property Michel Dänzer
2026-03-20 18:02 ` Nicolas Frattaroli
2026-03-23 10:55 ` Michel Dänzer
2026-03-23 12:05 ` Nicolas Frattaroli
2026-03-23 14:38 ` Michel Dänzer
2026-03-23 16:55 ` Nicolas Frattaroli
2026-03-23 17:27 ` Michel Dänzer
2026-03-24 15:25 ` Nicolas Frattaroli
2026-03-24 16:44 ` Michel Dänzer
2026-03-26 12:17 ` Nicolas Frattaroli
2026-03-30 16:57 ` Michel Dänzer
2026-03-30 18:52 ` Harry Wentland
2026-03-31 12:50 ` Pekka Paalanen
2026-03-31 17:47 ` Harry Wentland
2026-04-01 8:40 ` Daniel Stone
2026-04-01 11:10 ` Ville Syrjälä
2026-04-01 11:43 ` Daniel Stone
2026-04-01 12:46 ` Nicolas Frattaroli
2026-04-02 17:06 ` Harry Wentland
2026-04-01 13:57 ` Ville Syrjälä
2026-04-01 14:17 ` Daniel Stone
2026-04-02 17:01 ` Harry Wentland
2026-03-26 13:53 ` Pekka Paalanen
2026-03-30 19:01 ` Harry Wentland
2026-03-31 10:28 ` Pekka Paalanen
2026-03-31 17:37 ` Harry Wentland
2026-03-31 8:01 ` Michel Dänzer
2026-03-31 12:38 ` Pekka Paalanen [this message]
2026-03-31 12:56 ` Michel Dänzer
2026-03-31 14:21 ` Pekka Paalanen
2026-04-01 7:46 ` Michel Dänzer
[not found] ` <CAEsyxyhnALbkaF+9nav8FkW5gcJdtTw5CHhK3Hf8f=fymFiOKw@mail.gmail.com>
2026-03-23 11:44 ` Michel Dänzer
2026-04-01 11:57 ` Xaver Hugl
2026-04-01 12:11 ` Ville Syrjälä
2026-04-01 12:25 ` Daniel Stone
2026-04-01 12:56 ` Ville Syrjälä
2026-04-01 12:14 ` Nicolas Frattaroli
2026-04-03 10:23 ` Michel Dänzer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260331153805.376486e2@fluorite \
--to=pekka.paalanen@collabora.com \
--cc=airlied@gmail.com \
--cc=alexander.deucher@amd.com \
--cc=amd-gfx@lists.freedesktop.org \
--cc=christian.koenig@amd.com \
--cc=daniels@collabora.com \
--cc=derek.foreman@collabora.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=harry.wentland@amd.com \
--cc=kernel@collabora.com \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=marius.vlad@collabora.com \
--cc=michel.daenzer@mailbox.org \
--cc=mripard@kernel.org \
--cc=nicolas.frattaroli@collabora.com \
--cc=simona@ffwll.ch \
--cc=siqueira@igalia.com \
--cc=sunpeng.li@amd.com \
--cc=tzimmermann@suse.de \
--cc=ville.syrjala@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox