[Feature Request / Question] Feasibility of OpenGL ES 3.2 emulation in gfxstream (especially on ARM Mali hosts)
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 25/100
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
-
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)? -
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)? -
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:
mainbranch
- Dominant language
- C++
- Stars
- 60
- Forks
- 41
- Avg merge
- 1d 2h
- Merged PRs (30d)
- 9
Getting set up
- No Dockerfile or Docker Compose file
- No pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from google/gfxstream
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
google/gfxstream#192 · 2 comments ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 38/100
google/gfxstream#201 · 7 comments ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 48/100
google/gfxstream#199 · 4 comments ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 52/100
google/gfxstream#198 · 1 comment ·
Maintainers usually reply within 2 days
-
Android Emulator host SIGSEGV in gfxstream GL fence wait path (EmulatedEglFenceSync / tcmalloc)Open
Difficulty 4/5 3-5 days Newbie friendliness 48/100
google/gfxstream#191 · 2 comments ·
Maintainers usually reply within 2 days
All issues in google/gfxstream
Similar issues
-
ai_p1 comp-message-queues
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
ClickHouse/ClickHouse#125890 ·
Maintainers usually reply within 1 day
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
redis/memtier_benchmark#642 ·
Maintainers usually reply within 1 day
-
Ctrl-C can abort a node: the state timer asks for the node names after shutdownPossibly taken @fmrico claimed this today. Openbug
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
fmrico/cascade_lifecycle#24 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100