Conversation
Keep the default SwiftShader path. When GPU_MODE=host and /dev/dri is passed through, start a headless modesetting Xorg for Mesa GLX and load an EGL GBM hook so gfxstream can use the host GPU without a monitor.
--no-install-recommends gcc does not pull libc6-dev, so compiling the hook in the runtime layer fails. Build the .so in a tiny stage and keep Mesa/Xorg install noninteractive without purging gcc.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add an opt-in host GPU path for headless Intel/AMD/NVIDIA boxes. The emulator still defaults to SwiftShader. With
GPU_MODE=hostand/dev/dripassed through, gfxstream uses Mesa via a small headless modesetting Xorg (GLX) plus an EGL GBM hook, so guest GLES can run on the iGPU without a monitor. Viewing stays on scrcpy / scrcpy-web (-no-window).No existing compose defaults are changed (port 5555, scrcpy-web, DNS, root/gapps remain as upstream).
Type of change
How Has This Been Tested?
On an Unraid host with Intel UHD 630,
GPU_MODE=host,/dev/dripassed through:glxinfo:Mesa Intel(R) UHD Graphics 630 (CFL GT2), acceleratedGraphics Adapter Android Emulator OpenGL ES Translator (Mesa Intel(R) UHD Graphics 630 (CFL GT2))adb shell dumpsys SurfaceFlinger | grep GLES→ same Mesa Intel string, OpenGL ES 3.0GPU_MODEstill maps toswiftshader_indirectChecklist: