libretro / flycast

Flycast is a multiplatform Sega Dreamcast emulator. NOTE: No longer actively developed, use upstream repo for libretro from now on - https://github.com/flyinghead/flycast
http://reicast.com
GNU General Public License v2.0
152 stars 77 forks source link

EmuELEC 3.8/Flycast 1.9.0/Fist of the north star (Atomiswave) HP bar, layer bug #973

Open pyjmj05 opened 3 years ago

pyjmj05 commented 3 years ago

EmuELEC 3.8 / Odroid N2+

1

↑ The layers of the HP bar were reversed. (EmuELEC)

2

↑ It should be like this originally. (Retro Arena)

barbudreadmon commented 3 years ago

Hard to be sure with so few informations, but that's probably not a core issue, everything is fine here using latest core with default settings, a few guess :

pyjmj05 commented 3 years ago

Thank you for your reply.

shantigilbert commented 3 years ago

Hard to be sure with so few informations, but that's probably not a core issue, everything is fine here using latest core with default settings, a few guess :

* those 2 distros probably use different version of the core, maybe emuelec use a broken version

* those 2 distros probably use different version of the gpu driver, maybe emuelec use a broken gpu driver

* those 2 distros probably use different default settings (i remember RetroArena changing stuff by default), maybe some specific setting is required with emuelec on odroid n2

(EmuELEC Dev here) I do not change settings that is correct, but as far as the drivers go, they are the same ones (the only ones available for the Mali G52 GPU) so I might be missing a flag on compilation? I also usually use the newest commit available, so it would be interesting to figure this one out. Any ideas what can I look for?

barbudreadmon commented 3 years ago

they are the same ones (the only ones available for the Mali G52 GPU)

I wasn't sure about that, i thought maybe you were using the open-source panfrost mesa driver.

Any ideas what can I look for?

Hard to say, maybe start by making sure the issue is happening using the same settings as retroarena ? I know they were customizing default settings last time i used it.

pyjmj05 commented 3 years ago

I'm sorry, but can this be fixed?

shantigilbert commented 3 years ago

Can you post what commit the retroarena uses?

pyjmj05 commented 3 years ago

https://youtu.be/5rNv-d6ArAY?t=708 https://youtu.be/5rNv-d6ArAY?t=739

I'm not sure because I found it on YouTube, but it looks like reicast 0.1 37da602

pyjmj05 commented 3 years ago

https://youtu.be/c0GZgev5fGQ?t=404 Sorry for the wrong information. I can't find anything working properly in TheRA on Odroid N2. The same thing seems to happen with TheRA. Is this a problem with Odroid N2?

shantigilbert commented 3 years ago

So you didn't test this yourself?

pyjmj05 commented 3 years ago

Sorry for the confusion. I've tested it myself now, and TheRA is the same.

shantigilbert commented 3 years ago

Sorry I do not have a solution for this on my end, I tried several older versions as well, but all of them do the same thing. To be honest I haven't even noticed this, and I play FOTNS a lot

pyjmj05 commented 3 years ago

Is it impossible to solve?

pyjmj05 commented 3 years ago

Thank you for your help. I hope it will be fixed someday.

barbudreadmon commented 3 years ago

Just saw this report on reddit : https://www.reddit.com/r/RetroArch/comments/ji9w5x/about_the_differences_in_emulating_flycast_for/

The OP has the glitch on RetroArena, so imho there are some shenanigans with driver versions.

shantigilbert commented 3 years ago

I agree, the drivers and headers for Mali are a mess all around, all the devices that show the problem are using Mali. But I have no idea if this can be fixed on the driver side or on flycast side.

barbudreadmon commented 3 years ago

Even if a workaround could be implemented directly in flycast, the regression seems to come from recent mali drivers.

shantigilbert commented 3 years ago

Even if a workaround could be implemented directly in flycast, the regression seems to come from recent mali drivers.

Not saying you are wrong (I honestly do not know) but The s905 (mentioned on that Reddit post) uses very old drivers, so not sure regression is the right word, more like it never actually worked... Funny thing is, why only this game and in that particular area? Wonder if any other game has similar issues.

barbudreadmon commented 3 years ago

more like it never actually worked...

It definitely worked in RetroArena at some point as we can see in the screenshot at the top of this issue, looking at the reddit post it also still works in batocera, so i believe it still worked not long ago. It might be worth to start looking at the open-source driver, i tried it some time ago and it wasn't bad at all (it even has some support for opengl 4.5 now).

shantigilbert commented 3 years ago

I was basing what I said, on the s905 that hasn't had any updates for drivers in a very long time, so if it does not work right now it has never worked...unless something changed to the Flycast code in some years?

I know that the Flycast standalone does not work on G52 for example, but works fine on G31, and Reicast works fine on both (although I have never tested FOTNS in Reicast, not even sure if it runs). The reddit post you linked says it does not work on Batocera on the N2 only on the PI4 (which has a very different GPU) and OP said that TheRA is not working now, and that is not his screenshot, so who knows if its even real.

Anyways, it does not really matter, I can probably try a few things on my end to see if I can fix it, or if I have enough time test a few older versions to see if something changed along the way, I don't have much hope tho :)

pyjmj05 commented 3 years ago

It definitely worked in RetroArena at some point as we can see in the screenshot at the top of this issue

Sorry for the wrong information.

This is my fault for uploading screenshots running on ORA on xu4 without recognizing the differences between devices.

I tested it myself in TheRA of n2 and the result was not work.

barbudreadmon commented 3 years ago

The reddit post you linked says it does not work on Batocera on the N2 only on the PI4

Oops, it seems i didn't read well, so yeah i guess there is no proof it ever worked. What's weird is that we got 2 reports this week and never heard of it before afaik, maybe there was a regression with flycast on this gpu recently ? I backported some gl stuff from standalone around 2 weeks ago.

barbudreadmon commented 3 years ago

Following what i said above about the open-source driver making nice progress, i just tried fotns on my N2 with the open-source mesa panfrost driver and can confirm the glitch wasn't there.

shantigilbert commented 3 years ago

Following what i said above about the open-source driver making nice progress, i just tried fotns on my N2 with the open-source mesa panfrost driver and can confirm the glitch wasn't there.

Using Ubuntu? or what OS care to share?

barbudreadmon commented 3 years ago

Using gentoo with a 5.9 kernel and latest mesa from git, but i believe you could use armbian from https://forum.armbian.com/topic/12162-single-armbian-image-for-rk-aml-aw-aarch64-armv8/

shantigilbert commented 3 years ago

Thanks

pyjmj05 commented 3 years ago

I found the same glitch in another game, All Melty Blood series. (I've tested it myself)

RPI4 : https://youtu.be/tmnT9uKAmjo?t=2017 GOOD WORK ODROID N2 : https://youtu.be/C0S3xVvt-_g?t=849 NOT WORK

pyjmj05 commented 3 years ago

Is there any progress on this?

barbudreadmon commented 3 years ago

@pyjmj05 That's not a core issue, the issue here is odroid n2's official drivers, so don't ask me. I'm leaving this issue open only for tracking purpose, and i really hate it when people keep bumping an issue for anything other than providing new information.

barbudreadmon commented 3 years ago

some news about this from RetroArena discord : it appears hardkernel is aware of this issue and working on it, it might even be fixed on c4 using the newest version (2.0.10 ?) of their drivers.

shantigilbert commented 3 years ago

@barbudreadmon do you happen to have a link to this so I can test it?

barbudreadmon commented 3 years ago

no, just some guy in contact with HK who told me that on RetroArena's discord

shantigilbert commented 3 years ago

Not sure what info was given or by who, but I spoke to my HK contact and they are not aware of any fixes for this, as it is related to the Mali blob unfortunately, the versioning you mention seems to be related to SDL (2.0.10) but this will not solve the issue.

The Mali blobs for G31/G52 have all kind of issues, for example in EmuELEC, Flycast runs better on a device with Mali 450 in some games than one using G31 when using higher internal resolutions, and that is just one example, I could give you more, seems that the 450 blobs might be better optimized, and god only knows when ARM will release a new blob, if ever.

Edit: Adding some videos S905x3 with Mali G31: https://www.youtube.com/watch?v=5QsvvIF8m20 S905 with Mali 450: https://www.youtube.com/watch?v=UizHUl6fTIU

Both running same version, and same internal resolution 1440x1080, pay attention to the sound

barbudreadmon commented 3 years ago

I probably misunderstood what the RetroArena guy ( @slaminger ?) said then.

About your videos, isn't G31 supposed to be faster than 450 ? O_o Let's hope for bifrost gpu users that the open-source driver will quickly catch-up.

slaminger commented 3 years ago

I probably misunderstood what the RetroArena guy ( @slaminger ?) said then.

About your videos, isn't G31 supposed to be faster than 450 ? O_o Let's hope for bifrost gpu users that the open-source driver will quickly catch-up.

I'm here too actually. I was saying HK was working on updating libsdl2 from 2.0.8 to 2.0.10. It's already available for the c4, but I need to get qt build and working. Then once that's all good hk will move on to the n2 and update the same libsdl2 and qt packages.

barbudreadmon commented 3 years ago

@slaminger ok, but that sounds unrelated to those gfx issues ?

slaminger commented 3 years ago

@slaminger ok, but that sounds unrelated to those gfx issues ?

I don't think it's related no. The n2 retro arena uses framebuffer. Mali Fbdev. The libsdl2 files being stuck at 2.0.8 were preventing libsdl2-dev from installing and preventing a chain of other libs and dependencies from installing.

shantigilbert commented 3 years ago

@barbudreadmon yes, it should be faster but that is just an example on how bad those drivers/blobs are in reality.

I already use libsdl 2.0.10 (and have tried even the newer 2.0.12), this unfortunately has nothing to do with the issue at all. It's all related to the blobs. :(