diff --git a/internal/gui/gui.go b/internal/gui/gui.go index 5fe6928..6c749e8 100644 --- a/internal/gui/gui.go +++ b/internal/gui/gui.go @@ -12,6 +12,7 @@ import ( "encoding/json" "fmt" "io" + "os" "sync" "time" @@ -30,6 +31,11 @@ import ( // Run opens the xetup window and blocks until the user closes it. // cfgPath is the default config.json path (next to the exe). func Run(cfg config.Config, runCfg runner.RunConfig, cfgPath string) { + // Force software (CPU/GDI) rendering so the app works on VMs and machines + // without proper OpenGL support (VMware SVGA, Hyper-V basic display, etc.). + // The UI is simple enough that GPU acceleration gives no benefit. + os.Setenv("FYNE_RENDERER", "software") //nolint:errcheck + a := app.New() a.Settings().SetTheme(theme.DarkTheme())