======================== Display drivers and HAL ======================== The display slice of the vendor driver/HAL layer — split out from the general HAL catalogue (:doc:`/userspace/drivers-hals`) because it belongs next to the e-ink/display pages in this section (:doc:`stack`, :doc:`tcon`). One structural fact up front: **none of the Onyx-specific display drivers are modules**. The e-ink EPDC and the LM3630A front-light are both built into the kernel (``=y``; see :doc:`stack`), and there is no Onyx or EPD entry in the VINTF manifest — the panel is driven through the custom ``/dev/ebc`` path, not a standard graphics HAL. Everything here is from ``vendor_a.img`` (``lib/modules/``, ``bin/hw/``, ``lib64/hw/``, ``etc/vintf/manifest.xml``) read with ``7z``, cross-checked against ``kernel_config.txt``. No code was executed. Loadable kernel module ======================= .. list-table:: :header-rows: 1 :widths: 26 74 * - Module - Role / hardware * - ``lcd.ko`` - the generic upstream LCD-class helper (a dependency of the built-in EPDC/backlight path — :doc:`stack`), **not** an Onyx driver HAL services and implementations ================================= .. list-table:: :header-rows: 1 :widths: 26 40 34 * - HAL - Implementation - Hardware / cross-ref * - ``display.composer-service`` + ``display.allocator-service`` - ``gralloc.lito.so``, ``graphics.mapper@{3,4}.0-impl-qti-display`` - DPU/SDE compositor backing SurfaceFlinger; panel via EPDC (:doc:`stack`) * - ``lights-service.qti`` - ``lights.lito.so`` - notification LEDs (blue/red) + the front-light bridge (:doc:`stack`) The GPU/NPU/media compute HALs (Vulkan, renderscript, neuralnetworks, media.c2/omx) are cross-cutting rather than display-specific and stay in :doc:`/userspace/drivers-hals`. Provenance ========== :Source: ``artifacts/super/vendor_a.img`` — ``lib/modules/{*.ko,modules.load}`` (module set + boot load order), ``bin/hw/*`` and ``lib64/hw/*`` (HAL service and implementation libraries), ``etc/vintf/manifest.xml`` (HAL declaration); ``artifacts/boot_a/kernel_config.txt`` (built-in vs. modular). :Method: ext4 image listed/extracted read-only with ``7z``; modules counted from ``modules.load``; HAL from ``bin/hw`` / ``lib64/hw`` names and the VINTF manifest. No code executed. :Cross-refs: :doc:`stack` (built-in Onyx drivers, composer vs. EPDC), :doc:`tcon` (FPGA/TCON register-level detail), :doc:`/userspace/drivers-hals` (the rest of the HAL/module catalogue).