diff options
author | Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> | 2024-03-05 19:38:52 +0000 |
---|---|---|
committer | Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com> | 2024-03-05 19:38:52 +0000 |
commit | 6dee4600f84ba24aba9ec84b1912a8703babb5de (patch) | |
tree | 5756598fb78b39c7da1f128a89ae0773d826232e | |
parent | 1761ea99ca563f558919dfdaa25f9ae8c13cdef7 (diff) | |
parent | f27219528483f4d20e80e75ae0aad908b3410b94 (diff) | |
download | cuttlefish-6dee4600f84ba24aba9ec84b1912a8703babb5de.tar.gz |
Merge "cuttlefish: enable gfxstream + QEMU by default" into main am: f272195284
Original change: https://android-review.googlesource.com/c/device/google/cuttlefish/+/2982713
Change-Id: Ieb34cd28deeebb2f693346f384fb0f4ad596970a
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r-- | host/commands/assemble_cvd/graphics_flags.cc | 12 | ||||
-rw-r--r-- | host/commands/assemble_cvd/graphics_flags.h | 3 | ||||
-rw-r--r-- | host/libs/config/config_utils.cpp | 10 | ||||
-rw-r--r-- | host/libs/config/config_utils.h | 2 |
4 files changed, 22 insertions, 5 deletions
diff --git a/host/commands/assemble_cvd/graphics_flags.cc b/host/commands/assemble_cvd/graphics_flags.cc index 19aebc519..c56e3da5c 100644 --- a/host/commands/assemble_cvd/graphics_flags.cc +++ b/host/commands/assemble_cvd/graphics_flags.cc @@ -255,9 +255,10 @@ Result<std::string> SelectGpuMode( LOG(INFO) << "GPU auto mode: detected prerequisites for accelerated " << "rendering support."; - if (vm_manager == vm_manager::QemuManager::name()) { - LOG(INFO) << "Enabling --gpu_mode=drm_virgl."; - return kGpuModeDrmVirgl; + + if (vm_manager == vm_manager::QemuManager::name() && !UseQemu8()) { + LOG(INFO) << "Not using QEMU8: selecting guest swiftshader"; + return kGpuModeGuestSwiftshader; } else if (!guest_config.gfxstream_supported) { LOG(INFO) << "GPU auto mode: guest does not support gfxstream, " "enabling --gpu_mode=guest_swiftshader"; @@ -284,6 +285,11 @@ Result<std::string> SelectGpuMode( "function correctly. Please consider switching to " "--gpu_mode=auto or --gpu_mode=guest_swiftshader."; } + + if (vm_manager == vm_manager::QemuManager::name() && !UseQemu8()) { + LOG(INFO) << "Not using QEMU8: selecting guest swiftshader"; + return kGpuModeGuestSwiftshader; + } } return gpu_mode_arg; diff --git a/host/commands/assemble_cvd/graphics_flags.h b/host/commands/assemble_cvd/graphics_flags.h index 69b1d7485..6a96dccb3 100644 --- a/host/commands/assemble_cvd/graphics_flags.h +++ b/host/commands/assemble_cvd/graphics_flags.h @@ -19,6 +19,7 @@ #include "common/libs/utils/result.h" #include "host/commands/assemble_cvd/flags.h" +#include "host/libs/config/config_utils.h" #include "host/libs/config/cuttlefish_config.h" namespace cuttlefish { @@ -28,4 +29,4 @@ Result<std::string> ConfigureGpuSettings( const std::string& vm_manager, const GuestConfig& guest_config, CuttlefishConfig::MutableInstanceSpecific& instance); -} // namespace cuttlefish
\ No newline at end of file +} // namespace cuttlefish diff --git a/host/libs/config/config_utils.cpp b/host/libs/config/config_utils.cpp index 0ee99118f..9197877dc 100644 --- a/host/libs/config/config_utils.cpp +++ b/host/libs/config/config_utils.cpp @@ -111,10 +111,18 @@ std::string HostBinaryDir() { return DefaultHostArtifactsPath("bin"); } -std::string DefaultQemuBinaryDir() { +bool UseQemu8() { const std::string target_prod_str = StringFromEnv("TARGET_PRODUCT", ""); if (HostArch() == Arch::X86_64 && target_prod_str.find("arm") == std::string::npos) { + return true; + } + + return false; +} + +std::string DefaultQemuBinaryDir() { + if (UseQemu8()) { return HostBinaryDir(); } return "/usr/bin"; diff --git a/host/libs/config/config_utils.h b/host/libs/config/config_utils.h index 1f9ca2843..8107f5e9b 100644 --- a/host/libs/config/config_utils.h +++ b/host/libs/config/config_utils.h @@ -59,4 +59,6 @@ std::string DefaultEnvironmentPath(const char* environment_key, // Whether the host supports qemu bool HostSupportsQemuCli(); +// Whether to use QEMU8 +bool UseQemu8(); } |