summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHein-Pieter van Braam <hp@tmm.cx>2018-11-03 00:26:30 +0100
committerHein-Pieter van Braam <hp@tmm.cx>2018-11-06 22:31:35 +0100
commit0aad11a6a77d8ce3a8cf6096ad01cf25cb94553d (patch)
tree5ed105610dbcc990290bc589ab81d81585ae9f5a
parentf84893f70901dfca356d949ea1585a56154cb59f (diff)
Set DRI_PRIME=1 by default on X11 if not already set
This mirrors behavior on Windows and MacOSX where Godot tries to default to a dGPU if it exists. This doesn't work for Nvidia optimus yet but this can maybe be added later.
-rw-r--r--platform/x11/os_x11.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/platform/x11/os_x11.cpp b/platform/x11/os_x11.cpp
index 8ba5833796..2ab7b835b6 100644
--- a/platform/x11/os_x11.cpp
+++ b/platform/x11/os_x11.cpp
@@ -267,6 +267,10 @@ Error OS_X11::initialize(const VideoMode &p_desired, int p_video_driver, int p_a
// maybe contextgl wants to be in charge of creating the window
#if defined(OPENGL_ENABLED)
+ // Set DRI_PRIME if not set. This means that Godot should default to a higher-power GPU if it exists.
+ // Note: Due to the final '0' parameter to setenv any existing DRI_PRIME environment variables will not
+ // be overwritten.
+ setenv("DRI_PRIME", "1", 0);
ContextGL_X11::ContextType opengl_api_type = ContextGL_X11::GLES_3_0_COMPATIBLE;