libretro / mupen64plus-libretro-nx

Improved mupen64plus libretro core reimplementation
GNU General Public License v2.0
231 stars 115 forks source link

Corrupted graphics in Donkey Kong 64 using GLideN64 #458

Open matheuswillder opened 2 years ago

matheuswillder commented 2 years ago

Recently I decided to play Donkey Kong 64 again but early on start I noticed that some textures look broken (look at the Diddy eyes, all the other Kongs are like this too): Donkey Kong 64-220916-184713

I did some tests and found that the problem started around 1/21/2022 after RetroArch version 1.10.0 was released. Using this version compiled around 12/6/2021 the textures look correct, as seen in the image: Donkey Kong 64-220916-191430

I'm using RetroArch on Linux (Flatpak) on an old Intel with the integrated Intel HD Graphics, so I can only test the GL and GLcore drivers, on both the problem occurs. I've looked at recent issues here but haven't found any that seem related to this, so I'm opening this one as it may be some regression specific to this old integrated GPU.

I haven't had time to progress further in the game or test other games yet, but I'll try to do that in the next few days. Please let me know if any specific tests or RetroArch logs might be userful.

Edit: just to clarify, I just downloaded the RetroArch_cores.7z files which is next to the stable versions of RetroArch in the buildbot to see approximately when the problem started. I can't compile any commits to test right now.

Edit 2: Just an update. I've tested two other games (Conker's Bad Fur Day and Super Mario 64) and they don't seem to have any graphical issues, at least on start. And Donkey Kong 64 doesn't seem to have any other graphical issue (I've seen all the intros and started the game this time). One more screenshot below this time showing the other Kongs: Donkey Kong 64-220917-111004

I'm not the right person to look for graphical glitches in games because I have a severely compromised vision due to a health issue, but this issue in Donkey Kong 64 has become quite noticeable to me.

m4xw commented 2 years ago

Must be pretty recent and/or settings related. I updated gliden a few weeks ago, before that, this was 100% working fine, will need to re-check tho

m4xw commented 2 years ago

did some tests and found that the problem started around 1/21/2022

Yea i am doubtful of that, smells settings

matheuswillder commented 2 years ago

I had deleted the core settings file before doing the tests above and now I updated the core and tested with the default settings of RetroArch, still the same problem. However as the core works fine with Angrylion and also with this old version above I don't mind if it stays as is. Probably a very small number of users still using these old integrated GPUs. Thanks for maintaining the core, I really appreciate your work.

Edit: I forgot to say, I also tested it on my Android but there using Vulkan. The problem doesn't seem to occur there. Unfortunately I don't use Windows anymore and I don't have another computer to test.

retropieuser commented 1 year ago

So looking at this problem on a Raspberry Pi 4 using RetroPie 4.8 this problem also exists. Interestingly it seems to also cause some graphical problems on the floor in this game and in 007 Goldeneye and Banjo Kazoo. It seems to be Rare games that are affected. Very strange and it doesn't appear in the standalone mupen64plus emulator using GLideN64 either.

matheuswillder commented 1 year ago

I was really thinking it was just something related to the old iGPU I have. I decided to do some more tests now and the problem also continues to occur here, however when I started RetroArch using the LIBGL_ALWAYS_SOFTWARE=1 environment variable (for software rendering), the problem did not occur. Both RetroArch and core were up to date and with the default settings. I took screenshots just in case:

Without any environment variable: Donkey Kong 64-231023-211923

With LIBGL_ALWAYS_SOFTWARE=1 environment variable (software rendering): Donkey Kong 64-231023-212046

matheuswillder commented 2 months ago

Just a small update from my side: I finally replaced that old hardware and this problem doesn't occur on the new one. So I won't be able to test it anymore in case some developer ever looks into this, but since another user reported above the same problem, I'm leaving this issue open.

Thanks for maintaining the core all this time, be able to play these old games helped me a lot to make my days better when I was using that old hardware :)