10.7. Display drivers and HAL¶
The display slice of the vendor driver/HAL layer — split out from the general HAL catalogue (Vendor drivers and HALs) because it belongs next to the e-ink/display pages in this section (The e-ink software stack (Onyx EPDC), E-ink driver internals (register-level, from the kernel)).
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 The e-ink software stack (Onyx EPDC)), 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.
10.7.1. Loadable kernel module¶
Module |
Role / hardware |
|---|---|
|
the generic upstream LCD-class helper (a dependency of the built-in EPDC/backlight path — The e-ink software stack (Onyx EPDC)), not an Onyx driver |
10.7.2. HAL services and implementations¶
HAL |
Implementation |
Hardware / cross-ref |
|---|---|---|
|
|
DPU/SDE compositor backing SurfaceFlinger; panel via EPDC (The e-ink software stack (Onyx EPDC)) |
|
|
notification LEDs (blue/red) + the front-light bridge (The e-ink software stack (Onyx EPDC)) |
The GPU/NPU/media compute HALs (Vulkan, renderscript, neuralnetworks, media.c2/omx) are cross-cutting rather than display-specific and stay in Vendor drivers and HALs.
10.7.3. Provenance¶
- Source:
artifacts/super/vendor_a.img—lib/modules/{*.ko,modules.load}(module set + boot load order),bin/hw/*andlib64/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 frommodules.load; HAL frombin/hw/lib64/hwnames and the VINTF manifest. No code executed.- Cross-refs:
The e-ink software stack (Onyx EPDC) (built-in Onyx drivers, composer vs. EPDC), E-ink driver internals (register-level, from the kernel) (FPGA/TCON register-level detail), Vendor drivers and HALs (the rest of the HAL/module catalogue).