Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature Request / Question] Feasibility of OpenGL ES 3.2 emulation in gfxstream (especially on ARM Mali hosts)

Open
#202 3 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 2 days

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Active
Tech stack
android, cpp, linux
Domain
backend

Research direction

The issue asks about GLES 3.2 support, gfxstream's roadmap, and ARM Mali passthrough, but names no source files or tests. Start by reading the gfxstream documentation and locating its GLES emulation and translation entry points; determine what support is missing before estimating the work. Done would require an agreed implementation scope and GLES 3.2 support validated in the Android VM environment described.

Written by the indexing model from the issue text.

Description

Summary

Currently, gfxstream's GLES emulation supports up to OpenGL ES 3.1. We are evaluating/using gfxstream in an Android virtual machine environment (Automotive/IVI scenario) and would like to inquire about the roadmap and feasibility of adding OpenGL ES 3.2 emulation support.

Motivation & Background

Several modern Android workloads and benchmarks (e.g., AnTuTu Car/Auto Edition, modern 3D titles) require OpenGL ES 3.2.

While we can enable GLES 3.2 in the Android guest by routing GLES through ANGLE (GLES over Vulkan), this introduces severe performance degradation for OpenGL ES workloads. For example, in our Android VM running AnTuTu Car Edition, the GPU benchmark score drops drastically when using ANGLE compared to native/emulated GLES paths. Therefore, direct GLES 3.2 emulation/passthrough in gfxstream is critical for performance-sensitive use cases.

Questions & Discussion
  1. Feasibility / Roadmap for GLES 3.2:
    Is GLES 3.2 emulation currently on the gfxstream roadmap? What are the primary technical hurdles or missing components (e.g., guest encoder/decoder updates, glestranslator, shader extensions/ASTC/tessellation support)?

  2. ARM Mali Host Environment (GLES-to-GLES passthrough):
    In our deployment, the host GPU is an ARM Mali GPU that already provides native support for OpenGL ES 3.2. Does having a native GLES 3.2 host driver simplify the implementation (e.g., leveraging GLES-on-GLES passthrough without desktop GL translation complexities)?

  3. Experimental Patches / Testing:
    Are there any existing experimental branches, WIP PRs, or patches adding GLES 3.2 support? We would be very glad to test any preliminary patches on our ARM Mali hardware and provide benchmark results, logs, and feedback.

Environment Details
  • Host Platform: ARM64 Linux (Host GPU: ARM Mali A78x)
  • Guest: Android VM (Automotive / IVI)
  • gfxstream Source: main branch
Dominant language
C++
Stars
60
Forks
41
Avg merge
1d 2h
Merged PRs (30d)
9

Getting set up

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from google/gfxstream

All issues in google/gfxstream

Similar issues

More C++ issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.