Index: content/gpu/gpu_main.cc |
diff --git a/content/gpu/gpu_main.cc b/content/gpu/gpu_main.cc |
index 0430aeeb7e7872f1078ac216cf9df6d2a825a3c6..37606e2b3d888a68e23058245e3101cf96980591 100644 |
--- a/content/gpu/gpu_main.cc |
+++ b/content/gpu/gpu_main.cc |
@@ -10,6 +10,7 @@ |
#endif |
#include "base/debug/trace_event.h" |
+#include "base/environment.h" |
#include "base/lazy_instance.h" |
#include "base/message_loop/message_loop.h" |
#include "base/metrics/histogram.h" |
@@ -212,6 +213,16 @@ int GpuMain(const MainFunctionParams& parameters) { |
watchdog_thread->StartWithOptions(options); |
} |
+ // Temporarily disable DRI3 on desktop Linux. |
+ // The GPU process is crashing on DRI3-enabled desktop Linux systems. |
+ // TODO(jorgelo): remove this when crbug.com/415681 is fixed. |
+#if defined(OS_LINUX) && !defined(OS_CHROMEOS) |
+ { |
+ scoped_ptr<base::Environment> env(base::Environment::Create()); |
+ env->SetVar("LIBGL_DRI3_DISABLE", "1"); |
+ } |
+#endif |
+ |
gpu::GPUInfo gpu_info; |
// Get vendor_id, device_id, driver_version from browser process through |
// commandline switches. |