The EdidWrapper lifecycle was previously managed by DrmConnector,
meaning the EDID parser was initialized when the connector was created.
This approach fails for physical connectors where a display is not
attached at boot, as no EDID blob is available to parse.
When a display was subsequently hot-plugged, the system would fall back
to a generic EdidWrapper. This provided incorrect or default display
properties to userspace, causing critical bugs such as:
* Incorrect DPI calculations, leading to improperly scaled UI in
Android.
* Inability to detect HDR capabilities or supported color modes.
This change moves the ownership and lifecycle management of the
EdidWrapper to HwcDisplay. By creating the parser only when a display is
actually connected, we ensure that the correct EDID is always parsed,
making hot-plug functionality work as intended.
Change-Id: I5e056e423bbac2b23a411395b4ce13ccd03c4b64
Signed-off-by: Gil Dekel <gildekel@google.com>
|
||
|---|---|---|
| .ci | ||
| backend | ||
| bufferinfo | ||
| compositor | ||
| drm | ||
| hwc | ||
| hwc2_device | ||
| hwc3 | ||
| stats | ||
| tests | ||
| utils | ||
| .clang-format | ||
| .clang-tidy | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| Android.bp | ||
| Makefile | ||
| meson.build | ||
| meson.options | ||
| MODULE_LICENSE_APACHE2 | ||
| NOTICE | ||
| README.md | ||
drm_hwcomposer
Patches to drm_hwcomposer are very much welcome, we really want this to be the universal HW composer implementation for Android and similar platforms. So please bring on porting patches, bugfixes, improvements for documentation and new features.
A short list of contribution guidelines:
-
Submit changes via gitlab merge requests on gitlab.freedesktop.org.
-
drm_hwcomposer is Apache 2.0 Licensed and we require contributions to follow the developer's certificate of origin: http://developercertificate.org/.
-
When submitting new code please follow the naming conventions documented in the generated documentation. Also please make full use of all the helpers and convenience macros provided by drm_hwcomposer. The below command can help you with formatting of your patches:
git diff | clang-format-diff-19 -p 1 -style=file -
Hardware specific changes should be tested on relevant platforms before committing.
If you need inspiration, please checkout our TODO issues.
Happy hacking!