Add flag to allow Crostini GPU to be enabled / disabled.
Bug: 892279
Change-Id: Ia595a3eb3b5aa40ff03e64810668c4f903a15928
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1592954
Reviewed-by: Fergus Dall <[email protected]>
Commit-Queue: Ben Wells <[email protected]>
Cr-Commit-Position: refs/heads/master@{#655925}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 78854ed..85878a4 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -2387,6 +2387,9 @@
ENABLE_DISABLE_VALUE_TYPE(
chromeos::switches::kShowAndroidFilesInFilesApp,
chromeos::switches::kHideAndroidFilesInFilesApp)},
+ {"crostini-gpu-support", flag_descriptions::kCrostiniGpuSupportName,
+ flag_descriptions::kCrostiniGpuSupportDescription, kOsCrOS,
+ FEATURE_VALUE_TYPE(chromeos::features::kCrostiniGpuSupport)},
{"crostini-usb-allow-unsupported",
flag_descriptions::kCrostiniUsbAllowUnsupportedName,
flag_descriptions::kCrostiniUsbAllowUnsupportedDescription, kOsCrOS,
diff --git a/chrome/browser/chromeos/crostini/crostini_manager.cc b/chrome/browser/chromeos/crostini/crostini_manager.cc
index abd1ad56..ea74f46b 100644
--- a/chrome/browser/chromeos/crostini/crostini_manager.cc
+++ b/chrome/browser/chromeos/crostini/crostini_manager.cc
@@ -910,6 +910,8 @@
request.set_name(std::move(name));
request.set_start_termina(true);
request.set_owner_id(owner_id_);
+ if (base::FeatureList::IsEnabled(chromeos::features::kCrostiniGpuSupport))
+ request.set_enable_gpu(true);
vm_tools::concierge::DiskImage* disk_image = request.add_disks();
disk_image->set_path(std::move(disk_path_string));
diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json
index 7a2739ae..b83ab02 100644
--- a/chrome/browser/flag-metadata.json
+++ b/chrome/browser/flag-metadata.json
@@ -459,6 +459,11 @@
"expiry_milestone": 77
},
{
+ "name": "crostini-gpu-support",
+ "owners": [ "nverne", "benwells" ],
+ "expiry_milestone": 78
+ },
+ {
"name": "crostini-usb-allow-unsupported",
"owners": [ "nverne", "benwells" ],
"expiry_milestone": 77
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
index badad4b..13ff4fd 100644
--- a/chrome/browser/flag_descriptions.cc
+++ b/chrome/browser/flag_descriptions.cc
@@ -2988,6 +2988,9 @@
const char kCrostiniBackupName[] = "Crostini Backup";
const char kCrostiniBackupDescription[] = "Enable Crostini export and import.";
+const char kCrostiniGpuSupportName[] = "Crostini GPU Support";
+const char kCrostiniGpuSupportDescription[] = "Enable Crostini GPU support.";
+
const char kCrostiniUsbAllowUnsupportedName[] =
"Crostini Usb Allow Unsupported";
const char kCrostiniUsbAllowUnsupportedDescription[] =
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
index 6d9a075..58ac754 100644
--- a/chrome/browser/flag_descriptions.h
+++ b/chrome/browser/flag_descriptions.h
@@ -1800,6 +1800,9 @@
extern const char kCrostiniBackupName[];
extern const char kCrostiniBackupDescription[];
+extern const char kCrostiniGpuSupportName[];
+extern const char kCrostiniGpuSupportDescription[];
+
extern const char kCrostiniUsbAllowUnsupportedName[];
extern const char kCrostiniUsbAllowUnsupportedDescription[];