@Capehill
Quote:
Then reproduce issue and watch which application is writing this variable. Maybe application saves it to ENV: and not ENVARC:.
ok I was able to find that with Snoopy:
00189 : setenv : -----> RunCommand(0x1BBFEDD9 "setenv",,"SDL_RENDER_DRIVER opengl",25)
00190 : setenv : 0 = FindSegmentStackSize("setenv") [17uS]
00191 : setenv : o.k. = [exec] OpenLibrary("dos.library",40) [18uS]
00192 : setenv : o.k. = [exec] OpenLibrary("utility.library",40) [3uS]
00193 : setenv : <----- RunCommand(0x1BBFEDD9 "setenv",,"SDL_RENDER_DRIVER opengl",25) = 0 [0x00000000] [25696uS]
00194 : Background CLI : o.k. = GetVar("_ScriptLine",0x69FC1DD0,40,0x00000200) [9uS]
00195 : Background CLI : FAIL = GetVar("Echo",0x69FC1D38,32,0x00000200) [4uS]
00196 : Background CLI : FAIL = GetVar("OldRedirect",0x69FC1D38,32,0x00000200) [3uS]
00197 : Background CLI : FAIL = GetVar("KeepDoubleQuotes",0x69FC1D38,32,0x00000200) [5uS]
00198 : Background CLI : FAIL = GetVar("Interactive",0x69FC1D38,32,0x00000200) [6uS]
00199 : soniccd : o.k. = System("setenv SDL_RENDER_DRIVER opengl",SYNC) [83979uS]
00200 : soniccd : o.k. = Open("SYS:Prefs/Env-Archive/EGL_wrap/egl_wrap.cfg",OLD) = [0x1B987E78] [17597uS]
00201 : soniccd : o.k. = ExamineObject([FH] "egl_wrap.cfg") [2490uS]
00202 : soniccd : FAIL = IsInteractive("SYS:Prefs/Env-Archive/EGL_wrap/egl_wrap.cfg")
00203 : soniccd : o.k. = IsFileSystem("SYS:") [1909uS]
00204 : soniccd : o.k. = ExamineObject([FH] "egl_wrap.cfg") [9225uS]
00205 : soniccd : DIR = ParentOfFH(0x1B987E78) "SYS:Prefs/Env-Archive/EGL_wrap/egl_wrap.cfg" [4059uS]
00206 : soniccd : o.k. = ExamineObject([FH] "egl_wrap.cfg") [10335uS]
The Sonic application sets the OpenGL SDL2 mode, but uses the SDL2 presets stored in my software the first time it is started. When Sonic is started again, OpenGL mode is used.
Perhaps this game was never intended or ported for software rendering, but simply works via SDL2, which supports software rendering mode. (It also requires EGL_wrap)
But since there is no problem with SDL2 directly, it doesn't matter. In my video you could see that your SDL2 port works correctly and saves all settings and uses them as well. How external developers provide their library is not their problem.
Thanks for developing SDL2