How should "max bpc" KMS property work?

Pekka Paalanen ppaalanen at gmail.com
Tue Apr 26 08:35:02 UTC 2022


Hi all,

I'm working on setting HDR & WCG video modes in Weston, and I thought
setting "max bpc" KMS property on the connector would be a good idea.
I'm confused about how it works though.

I did some digging in https://gitlab.freedesktop.org/wayland/weston/-/issues/612

Summary:

- Apparently the property was originally added as a manual workaround
  for sink hardware behaving badly with high depth. A simple end user
  setting for "max bpc" would suffice for this use.

- Drivers will sometimes automatically choose a lower bpc than the "max
  bpc" value, but never bigger.

- amdgpu seems to (did?) default "max bpc" to 8, meaning that I
  definitely want to raise it.

If I always slam "max bpc" to the highest supported value for that
property, do I lose more than workarounds for bad sink hardware?

Do I lose the ability to set video modes that take too much bandwidth
at uncapped driver-selected bpc while capping the bpc lower would allow
me to use those video modes?

Or, are drivers required to choose a lower-than-usual but highest
usable bpc to make the requested video mode squeeze through the
connector and link?

Do I need to implement a fallback strategy in a display server,
starting from the highest possible "max bpc" value, and if my modeset
is rejected, repeatedly try with lower "max bpc" setting until it works
or I'm out of bpc options?


Thanks,
pq
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20220426/6ec47bdd/attachment.sig>


More information about the dri-devel mailing list