From d16e940c4dd87ab0b48ac290839ea9859ec4dbd9 Mon Sep 17 00:00:00 2001 From: tildearrow Date: Mon, 6 May 2024 16:40:19 -0500 Subject: [PATCH] fall back to software if no matching GL pixel form at available --- src/gui/gui.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/gui/gui.cpp b/src/gui/gui.cpp index 168bf614d..6fd70bd23 100644 --- a/src/gui/gui.cpp +++ b/src/gui/gui.cpp @@ -6987,7 +6987,14 @@ bool FurnaceGUI::init() { logD("creating window..."); sdlWin=SDL_CreateWindow("Furnace",scrX,scrY,scrW,scrH,SDL_WINDOW_RESIZABLE|SDL_WINDOW_ALLOW_HIGHDPI|(scrMax?SDL_WINDOW_MAXIMIZED:0)|(fullScreen?SDL_WINDOW_FULLSCREEN_DESKTOP:0)|rend->getWindowFlags()); if (sdlWin==NULL) { - lastError=fmt::sprintf("could not open window! %s",SDL_GetError()); + const char* sdlErr=SDL_GetError(); + lastError=fmt::sprintf("could not open window! %s",sdlErr); + if (settings.renderBackend!="Software" && strcmp(sdlErr,"No matching GL pixel format available")==0) { + settings.renderBackend="Software"; + e->setConf("renderBackend","Software"); + e->saveConf(); + lastError+="\r\nfalling back to software renderer. please restart Furnace."; + } return false; }