Skip to content

More egl support - #1356

Merged
Huevos merged 3 commits into
OpenViX:Developerfrom
DimitarCC:more-egl
Oct 4, 2026
Merged

Huevos merged 3 commits into
OpenViX:Developerfrom
DimitarCC:more-egl

Conversation

@DimitarCC

Copy link
Copy Markdown
Contributor

This pull request significantly expands and refines EGL/GLES support for a range of set-top boxes, particularly those using HiSilicon Mali-450 and Broadcom V3D GPUs. It unifies and generalizes the EGL backend and header/pkg-config file staging for these devices, adds support for several new machines, and cleans up the build configuration to be more maintainable and accurate.

The most important changes are:

EGL/GLES Backend Generalization and Expansion:

  • Replaces the HAVE_ABCOM_EGL conditional with a more general HAVE_HISI_MALI_EGL for all HiSilicon Mali-450 (Utgard) devices, updating source lists and includes to use hisi_window_provider instead of abcom_window_provider. [1] [2]
  • Updates configure.ac to group all HiSilicon Mali-450 devices (e.g., pulse4k, hd61, sf8008, gbmv200, and various Zgemma models) under a single backend logic, disables GLES3 for these, and documents the changes. [1] [2] [3]

Machine Support and Layer Configuration:

  • Adds support for new machines in both build logic and layer recipes, including ax61, sf8008, sf8008m, gbip4k, gbtrio4k, gbtrio4kpro, and a wide range of Zgemma models, ensuring they are properly matched to their recipes and EGL/GLES support. [1] [2]

Header and pkg-config Staging for EGL/GLES:

  • For all supported HiSilicon Mali-450 and Broadcom V3D devices, provides .bbappend recipes that stage missing EGL/GLES headers and generate egl.pc/glesv2.pc pkg-config files, ensuring builds can find the correct headers and libraries even when vendor blobs are incomplete. [1] [2] [3] [4] [5] [6]

Special Handling for Broadcom V3D and Zgemma Devices:

  • Adds support for Zgemma H7/H17 Broadcom V3D devices, staging Nexus headers and generating pkg-config files, and introduces a new HAVE_NXPL_NO_NXCLIENT define for devices that lack libnxclient.so but join Nexus via NEXUS_Platform_AuthenticatedJoin. [1] [2]

Documentation and Minor Cleanups:

  • Updates comments and documentation to clarify hardware support, blob differences, and the rationale for various configuration decisions (e.g., why certain machines suppress 1440p skins, ABI notes, etc.). [1] [2]

These changes collectively make EGL/GLES support more robust, consistent, and extensible across a broad range of hardware platforms.

Extend EGL/GLES hardware acceleration to various new Set-Top Box models,
including Octagon SF8008/SF8008m, GigaBlue gbmv200 series, and several
Zgemma H-series models.

This involves:
*   Updating `configure.ac` and `openvix.conf` to recognize these devices,
    configure their GLES capabilities, and enable their EGL backends.
*   Adding new OpenEmbedded `bbappend` recipes to generate missing
    pkg-config files and stage required EGL/GLES headers for vendor drivers.
*   Refactoring the `ABCOM_EGL` backend to a more generic `HISI_MALI_EGL`
    as it now applies to multiple HiSilicon-based brands.
*   Implementing a specific Nexus `AuthenticatedJoin` path for Zgemma
    Broadcom boxes (H7/H17) that do not ship `libnxclient.so`.
@Huevos
Huevos merged commit f864416 into OpenViX:Developer Oct 4, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants