batocera-linux / batocera.linux

batocera.linux
https://batocera.org
Other
1.98k stars 513 forks source link

RPi3 v33 beta issues #5518

Closed Hew-ux closed 2 years ago

Hew-ux commented 2 years ago

Support file attached (sensitive info scrubbed): batocera-support-20220124214116.tar.gz

crcerror commented 2 years ago

@Hew-ux Please try a resolution 720@60Hz, this will resolve your game stutterings. It's an awful attitude to think that some changes in libretro can improve the sound issues. In fact it's just the resolution. V33 is not better or worse than V32 in a nuthsell. The main issue you are reporting are the fact to change to 64bit and the change to the new video drivers.

What I hate since the last versions is the slowness during bootup. V31 took 30s to boot into ES, V32 and V33 are so slow.... ~45s (without splash) - this is caused by the new audio backend and makes the old speedup debatte laughable.

Are there other options? Well yes, you can turn back to RetroPie - I think regarding boot speed it's on par now. Other options? Recalbox? Uses the same modifications (in a nuthsell) and awful slow bootup! Maybe Lakka? Idk - never got in touch with this.

In the end? Well the main devs of v33 did a good job. Sadly only a single person still develops the little raspi SBCs

My wishlist? Well use the base sound drivers (ALSA) for bootup and the "advanced" stuff like ...(fit a backend here)... only for it's purpose like BT sound or x86 stuff. Then boot time will decrease much more. Complex? No ... Complicated? Maybe 🤣 More wishes? Yes ecwolf for SBC please

EDIT: This long text only hits point 4 of your list ;)

crcerror commented 2 years ago

Oh yes, I also did forget this thread: https://github.com/batocera-linux/batocera.linux/issues/4709 🤣

Hew-ux commented 2 years ago

I was just trying out things as I remembered that pipewire previously caused slowdown when using headphone jack output. This was on all RPi platforms. My testing was to confirm that it is indeed a separate issue to that.

I'm also not complaining about any of this, just reporting it. I don't primarily use my RPi3 for playing Batocera, I have it just for testing.

I'll bring seeing in my own time what I can do to improve the performance of RPi3 back to what it was, but it may take me longer than v33 to do so.

Hew-ux commented 2 years ago

I have discovered the cause for the poor performance in all emulators: threaded video being off (edit: or bezels being shown). Ordinarily, this is not a requirement to run these games at full speed on the RPi3, but something has changed which seems to be dramatically consuming the resources of the single thread.

Disabling the simple bilinear shader improves performance to ~54 FPS in Game Boy games. Turning on threaded video restores performance completely back to a full 60 FPS.

Edit: I have also found out that disabling bezels also completely removes the slowdown. What to do...

Hew-ux commented 2 years ago

I have discovered the cause for the crunched black levels. I noticed that the Raspberry Pi no longer appears as "Roku" on my TV, but as "PC". I assume this causes the TV to switch to full RGB black levels instead of regular HDMI black levels, causing the crunch to happen (though logically it should do the opposite, fade out the colours... oh well). Manually naming the device to something other than "PC" for my TV has fixed it, however this option may not be available/accessible on all TVs. Thus, it should be either restored to what it used to be or otherwise fixed.

I noticed that the HDMI CEC in config.txt is already set to batocera, but changing that has no effect.

For clarification, on v32 and below, this device had always appeared as "Roku" on all TV sets (LG and Samsung) I tested it with.

naddel91 commented 2 years ago

I have discovered the cause for the poor performance in all emulators: threaded video being off (edit: or bezels being shown). Ordinarily, this is not a requirement to run these games at full speed on the RPi3, but something has changed which seems to be dramatically consuming the resources of the single thread.

Disabling the simple bilinear shader improves performance to ~54 FPS in Game Boy games. Turning on threaded video restores performance completely back to a full 60 FPS.

Edit: I have also found out that disabling bezels also completely removes the slowdown. What to do...

has this been fixed in the final V33? or is the bezel performance problem still a thing?

Hew-ux commented 2 years ago

@naddel91 This has been addressed. Please check the original post for the check list of closed issues.

jdorigao commented 2 years ago

@Hew-ux Do any of the reported issues still occur in the current beta?

Hew-ux commented 2 years ago

Only the second point about the display size on boot. But honestly it's so minor I'd be okay with just closing the issue.

Assuming you can't reproduce it using the described instructions (because on my tv it happens consistently). Unfortunately don't have the exact hardware anymore.

Anyway there's a new issue where Batocera loses all audio output after exiting a game. I will investigate that at a later date.