EGLX11: Forbid EGL_PLATFORM to be "wayland"

This commit is contained in:
Joshua Vandaële committed 2026-07-31 10:34:00 +02:00
1 parent f1b4345d08
commit 1c2b7fbf7f
2 files changed
+18

No files matched your search

@@ -3,6 +3,23 @@
#include "Common/GL/GLInterface/EGLX11.h"
#include <cstdlib>
#include "Common/StringUtil.h"
GLContextEGLX11::GLContextEGLX11()
{
// HACK: If EGL_PLATFORM is set to "wayland", Dolphin will still use GLContextEGLX11 due to our
// lack of proper Wayland support, and crash.
// Some distros have started aggressively setting that environment variable, bypassing the usual
// runtime detection. Thus, clear that environment variable if it forces wayland.
const char* current_egl_platform = getenv("EGL_PLATFORM");
const bool replace_egl_platform =
current_egl_platform != nullptr &&
Common::CaseInsensitiveContains(current_egl_platform, "wayland");
setenv("EGL_PLATFORM", "", replace_egl_platform);
}
GLContextEGLX11::~GLContextEGLX11()
{
// The context must be destroyed before the window.
@@ -11,6 +11,7 @@
class GLContextEGLX11 final : public GLContextEGL
{
public:
GLContextEGLX11();
~GLContextEGLX11() override;
void Update() override;