libretro / RetroArch

Cross-platform, sophisticated frontend for the libretro API. Licensed GPLv3.
http://www.libretro.com
GNU General Public License v3.0
10.4k stars 1.84k forks source link

Please stop Parallel-n64, Mupen64next and PCSX2 from crashing RA on close content Xbox UWP #12566

Open danprice142 opened 3 years ago

danprice142 commented 3 years ago

the uwp crashes on close content using these cores and sometimes leaves data behind, get similar behaviour using pcsx2 but it loads the one Rom fine and just stays on a black screen when launching a second Rom, pcsx2 did not do this on a older version of the core on xbox

ghost commented 2 years ago

This is still happening for me even with the v1.10.0.

danprice142 commented 2 years ago

This happens because of ANGLE apparently, maybe replacing ANGLE with MESA may stop the cores crashing on close content and improve proformance while providing higher opengl support

ghost commented 2 years ago

I did some more testing and it's funny that the crash doesn't happen when running through Visual Studio debugger. Even if RA is started normally and then attach a debugger, it will go through. But otherwise not, which is very difficult to debug. Using logs, I identified that the last command that is executed is in runloop.c, uninit_libretro_symbols method memset(current_core, 0, sizeof(struct retro_core_t)); right above that is dylib_close which calls FreeLibrary, so I don't know maybe something to do with unloading dll properly. We'd probably need to dig into the actual core code.

inactive123 commented 2 years ago

Does this still happen with the Flycast core ? It should now be using a D3D11 renderer and should no longer be reliant on ANGLE for 3D rendering.

ghost commented 2 years ago

Ah sorry, I should have mentioned I was testing only Mupen64next and parallel-n64

LibretroAdmin commented 2 years ago

PCSX2 is an unrelated and known issue.

For the other two though I suspect the culprit is ANGLE.