aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-03-05 18:26:39 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2024-03-05 18:26:39 +0000
commitf27219528483f4d20e80e75ae0aad908b3410b94 (patch)
tree294dae1497684e69b08a4c453ed18600bca026e6
parent3dabd6d494d0454b477cc678a5726f08533ec0a1 (diff)
parente2562b2702b39c0778bd73076c129a55898be914 (diff)
downloadcuttlefish-f27219528483f4d20e80e75ae0aad908b3410b94.tar.gz
Merge "cuttlefish: enable gfxstream + QEMU by default" into main
-rw-r--r--host/commands/assemble_cvd/graphics_flags.cc12
-rw-r--r--host/commands/assemble_cvd/graphics_flags.h3
-rw-r--r--host/libs/config/config_utils.cpp10
-rw-r--r--host/libs/config/config_utils.h2
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();
}