Add support for Venus GPU mode - #3167
Open
valentineburley wants to merge 5 commits into
Open
Conversation
Previously, graphics_detector only categorized discrete GPUs as TYPE_DISCRETE_GPU and tagged all other devices (including integrated GPUs) as TYPE_OTHER. As a result, kHostVulkanIsNonSoftwareRenderer incorrectly rejected hosts with integrated GPUs as having no non-software Vulkan driver. Bug: b/549217582
These dependencies will be used by the upcoming Venus GPU mode. Bug: b/549217582
This dependency will be used by the upcoming Venus GPU mode. Bug: b/549217582
These dependencies are required by the upcoming Venus GPU mode. Bug: b/549217582
Based on the original implementation for Mesa CI by @ao2. This adds a new GPU mode using the Venus Vulkan driver, ANGLE, SkiaVK, and drm_hwcomposer. It supports Intel (both i915 and xe) and Qualcomm (msm) platforms, using ANV and Turnip as the host Vulkan drivers. Bug: b/549217582 Test: cvd create --gpu_mode=venus
jmacnak
reviewed
Sep 10, 2026
| libcap-dev, | ||
| libclang-dev, | ||
| libcurl4-openssl-dev, | ||
| libepoxy-dev, |
Member
There was a problem hiding this comment.
I noticed that the change in crosvm_manager.cpp has {"androidboot.hardware.egl", "angle"},.
IIRC, epoxy was the GL func pointer loader/helper.
Does venus not support running in a VK only mode? How much work would it be to carve that out and remove the epoxy dep?
jmacnak
reviewed
Sep 10, 2026
jmacnak
left a comment
Member
There was a problem hiding this comment.
(note for internal build: cl/979356492)
| CUTTLEFISH_FLAGS_GPU_MODE_GUEST_VIRGL_RENDERER = 8; | ||
| CUTTLEFISH_FLAGS_GPU_MODE_NONE = 9; | ||
| CUTTLEFISH_FLAGS_GPU_MODE_GUEST_LAVAPIPE = 10; | ||
| CUTTLEFISH_FLAGS_GPU_MODE_GUEST_VENUS = 11; |
Member
There was a problem hiding this comment.
Drop the GUEST. Looks like some of the other GUEST_ prefixes might just be a copy paste fail.
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.
Based on the original implementation for Mesa CI by @ao2.
This adds a new GPU mode using the Venus Vulkan driver, ANGLE, SkiaVK,
and drm_hwcomposer, utilizing the cross-domain context type.
It supports Intel (both i915 and xe) and Qualcomm (msm) platforms, using
ANV and Turnip as the host Vulkan drivers.
Bug: b/549217582
Test: cvd create --gpu_mode=venus
The first commit fixes kHostVulkanIsNonSoftwareRenderer on internal GPUs.
The following three patches add the virglrenderer, venus_protocol, and minigbm dependencies.
The final commit introduces the new GPU mode.