Good news regarding tearing and low EmulationStation performance on Pi 4
-
Oh sweet. Compiling the 5.10 kernel also installs its headers. My snes pads works :D
-
@mitu said in Good news regarding tearing and low EmulationStation performance on Pi 4:
@SeraphisCain Amiberry uses the
dispmanx
api for display, so it won't work with the full KMS driver, regardless of the kernel version used.Semi offtopic, but is that why daphne gives me a black screen with the full kms driver? I can hear the audio.
-
-
I just created an issue for this at the Raspberry Pi github: https://github.com/raspberrypi/linux/issues/3935
-
Give upstream SDL2 a whirl and fresh build of MESA too, it seems to improve if not fix the Pi4 30 FPS EmulationStation issue.
In a rom selection screen with video snaps, I am getting upwards of 120 fps! -
@bluestang Hey, could you give me a quick tutorial for installing upstream SDL2 and MESA to test them out?
-
@bluestang said in Good news regarding tearing and low EmulationStation performance on Pi 4:
Give upstream SDL2 a whirl and fresh build of MESA too, it seems to improve if not fix the Pi4 30 FPS EmulationStation issue.
In a rom selection screen with video snaps, I am getting upwards of 120 fps!That's quite an interesting change. No time to test at the moment, but looking forward to seeing more reports from people using it. By the way, how well does RetroPie keep up with upstream SDL2?
-
@stoo said in Good news regarding tearing and low EmulationStation performance on Pi 4:
@bluestang Hey, could you give me a quick tutorial for installing upstream SDL2 and MESA to test them out?
Not a quick tutorial and it will break your current image. RetroPie will adopt these things when they are ready, and at this point SDL2 upstream is a constant WIP.
-
@brunnis regarding keeping up to date. It depends on whether we encounter issues with upstream. We will update when we are sure everything is ok and our rebased customisations work etc. Until recently sdl2 Kms driver had issues so we were waiting.
-
Anyone have any luck using the full KMS driver over composite? I've created a support topic regarding this, but perhaps someone here has had some luck with it?
-
@setiawan Not tried composite, but I've encountered similar issues where the full KMS driver isn't respecting some of the config.txt video options.
Right now, I'm having to choose between:
- Tearing issues, but supporting deep blacks via FKMS (hdmi_pixel_encoding=2)
- Fixed tearing, but limited-range blacks via KMS ('hdmi_pixel_encoding' is ignored, so all blacks are slightly grey, which doesn't look great on an OLED)
-
@philcsf Quite a bummer. It is a pre-release kernel I guess so I can only hope that these problems get sorted or clarified some time soon.
-
If you unplug your controller/joystick for about 3-5 secs and then replug it back in does the framerate jump back to 60 FPS again? Anytime the framerate dips to 30 FPS in the main menu if I unplug/replug my controller the framerate will go back to 60 FPS.
My Setup:
- RPi4 4GB, stock clock speeds.
- 64-bit RPiOS with RetroPie built from the setup script.
- Cosmic Rise theme (Hursty)
-- this theme seems to cause the 30 FPS anomaly fairly quickly. - I'm using emulationstation-dev.sh from the master RetroPie branch with the build flag
-DUSE_MESA_GLES=On
instead of-DGL=On
in emulationstation.sh
-- this will link the GLESv2 driver vs GL one. - RetroPie's SDL v2.0.10
- Stock 19.3.2 MESA drivers
What has been true in all my testing is that the clock speeds of the ARM or GPU will influence the framerate, if either one dips below a certain threshold the framerate will be reduced. (seems obvious =] )
Thresholds to trigger 30 FPS:
GPU MHz < 450 Mhz
ARM MHz < 900 MhzWhat befuddles me is that the framerate is not affected when you go to the options menu or a game system w/ roms menu. Every time you are in those menus the framerate is 60 FPS.
-
So the latest update is supposed to fix this? I've updated everything but NES games like Metroid stil get me frustrated.
-
@borisvivienne update of what? nothing is included in retropie as yet.
-
I was able to get the ES menu scrolling smoothly by placing force_turbo=1 in Boot config.txt. Probably already been said but just confirming here. I guess it will do until things are fixed under the hood.
-
@greenhawk84 You can force the gpu to a min frequency which will fix the 30 FPS issue in Emulation Station with the caveat that the GPU frequency will always be at 500 Mhz.
gpu_freq_min=500
in your/boot/config.txt
will do the trick and you remove theforce_turbo=1
option. -
@bluestang would there be any greater advantage to using the GPU freq option vs turbo?
-
@greenhawk84 just forcing the min frequency will still allow for other components to downclock especially if you are overclocked.
-
@bluestang okay, I switched over to the gpu freq at 500 for the slow ES menu, and it works the same as you said. I also tried Soul Calibur on Flycast using the KMS driver, and the tearing was resolved. I also tried Tekken 3 on psxrearmed and it seemed good. Just testing this out some more. I am not sure if these hiccups/tears were present in early Pi4 Retropie, because I wanted to see what users reported, such as this video on Youtube:
This reviewer does not seem to notice or mention anything about tearing which was highly noticeable for me in Flycast/Soul Calibur before testing the KMS driver. Was there some sort of regression as things were updated?
One last thing, since there is a lot of editing of config.txt, is there a place to get the true default file in case we mess something up?
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.