Jittery/Stuttering graphics
-
@BuZz No, retropie boots directly. I managed to get rid of tearing by enabling kms in config.txt. It looks great ! But I've got some sounds issue and crashes when scrolling titles. I will try to reinstall Retropie from the beginning and activate the kms driver before adding roms and configuring everything else.
-
@Yobiwan said in Jittery/Stuttering graphics:
@BuZz No, retropie boots directly. I managed to get rid of tearing by enabling kms in config.txt. It looks great ! But I've got some sounds issue and crashes when scrolling titles. I will try to reinstall Retropie from the beginning and activate the kms driver before adding roms and configuring everything else.
Just to confirm: You're using full KMS (vc4-kms-v3d) instead of fake KMS (vc4-fkms-v3d)? My experience is that Linux kernel 5.4 + vc4-kms-v3d removes any traces of tearing, but I haven't investigated if it was kernel 5.4 itself that did something or if it was the switch to full KMS. My assumption has been that it was the full KMS driver.
I'd recommend anyone having issues with the default config to try full KMS to see if it improves things. It's not ready for release and lacks some features of the fake KMS driver, but it might still be worth trying it out.
-
@Brunnis Yes, full KMS. I was using a custom image from the Supreme team (wolfanoz 256GB). Really impressive work, but I haven't found any solution to make KMS work correctly. I rebuilt an entire new image from official retropie 4.6 and it works amazingly well. I've spent a lot of time to configure all kind of stuff, and no more tearing. I don't know what this team has done but it was unplayable here.
-
@Yobiwan We don't support 3rd party images - wrong/broken configuration is one of the many reasons.
-
I was searching around for more instances of stutter or sync issues when I came across this thread. So I curiously went to video synchronization settings and disabled vsync and enabled VRR. I have to say I think this solved my issues with such games as MK2 on Mame2003 and RaidenDX on FBNeo (Pi4 stock). The monitor in my cabinet has freesync, it is an AOC gaming monitor. If this is actually the solution to my issues with Flycast, which I will have to reinstall and find out, I will post here. I had some major screen tearing with Flycast so I uninstalled it. But now I am very curious! This might set aside the notion that KMS is the end-all to the issues.
-
@greenhawk84 the pi is not capable of deliver a freesync signal. this is discussed above, but also see this comment from the foundation: https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=225940&p=1386442&hilit=freesync#p1386442. should be easy enough to verify using the OSD of your monitor, if it outputs the current display hz.
now, enabling the option in retroarch does yet have effects on non-VRR systems. one of which is to stop retroarch's audio visual skew, the intention of explicitly to stop stuttering by matching the framerate to your display. so, if disabling it has the opposite effect that sounds to me like a misconfigured core, display, or system, but who knows.
on a game like MK2 the audio visual skew should not even be in effect since it's framerate is ~53hz (i believe raiden 2/DX is the same), which is way outside the default tolerance of 0.05 from display for the skew to take effect. to that end, one would expect stuttering with MK2 on a correctly configured system, because it's ~53hz on a (typically) 60hz display - that's correct behaviour. i would suggest what is happening is that when you disable vsync you are swapping a stutter for a tear, which perhaps is more pleasant, but it says nothing about the fkms tearing issues on normal 60hz content.
-
@greenhawk84 said in Jittery/Stuttering graphics:
games as MK2 on Mame2003
You should probably consider switching to FBNeo (or maybe a more recent version of MAME), nowaday our midway emulation is very accurate, as a matter of fact MAME2003 doesn't emulate shadows on MK2 while FBNeo does.
-
@barbudreadmon Mame2003 cores do emulate the shadows for MK, I just have the regular installs from the binaries. I have Mame2003 and Mame2003-plus installed for experimenting.
I found the vsync option in the main opt/retropie/configs/all/retroarch.cfg so I can globally disable vsync, but I cannot globally enable variable refresh. Does anyone know where that setting resides in the config files? For some reason, even though some are saying it does nothing, I honestly feel like it does do something. I dont know maybe if this is a placebo effect happening :D
-
@greenhawk84 said in Jittery/Stuttering graphics:
Mame2003 cores do emulate the shadows for MK
I was talking about MK2, shadows are missing on most stages when using mame2003 cores for me
Only a few stages seem to show them.
-
@barbudreadmon ohh, maybe I didn't test as thoroughly as you, I will try more stages to check it.
-
@greenhawk84 said in Jittery/Stuttering graphics:
@barbudreadmon ohh, maybe I didn't test as thoroughly as you, I will try more stages to check it.
You get to see 8 different stages in the attract mode, only one of those stages seems to have shadows (the one with the portal in the back). I'll be honest, i haven't done a playthrough to confirm the bug also happens outside of attract.
-
So back to the topic of jittering or tearing, I swear this setting is doing something good for my setup, because I was having screen tears and now they are gone:
Does anyone know where this setting is at in the .cfg files?
-
@pjft said in Jittery/Stuttering graphics:
@Quackwalks it should be
vrr_runloop_enable = "true"
if I recall correctly. I ended up reading the code on GitHub and digging into it from the initial commit.
This is the option you're looking for.
-
-
@greenhawk84 the default retropie .cfg does not contain ALL retroarch settings, only those it wants to change from default (or include as reference). anything additional you can add manually.
-
@dankcushions yep, I manually added that line "vrr_runloop_enable = true" to my retroarch.cfg so this option is globally applied. I confirm that it does keep the sync setting to ON.
I was having really odd issues in all sorts of arcade games, like today I noticed with Metamorphic Force on Mame2016, the sprites were doing this weird jitter/tearing. I noticed on MK2 like I said, the stages were tearing. I enabled this, and my Pi4 runs like my old Pi3B+ when it was very smooth. I am not sure if this is because my monitor is Freesync or if there is some other bug going on with rendering/sync.
-
@greenhawk84 that setting comes with a performance penalty. Its been a while since I tested it but I remember certain games taking a noticable dip in performance.
-
@quicksilver not sure if I notice a performance dip but this VRR option is the cure for the jittery/tearing anomalies in certain core/game combos. I really think something changed but I am not technical enough to pinpoint that. I am surprised since our hardware is the same if we're talking Pi4, that more people aren't seeing this issue.
-
Hello, just wanted to comment that after a recent update, I think the issue I was seeing has resolved. I disabled Runloop_vrr and it was the same as it was enabled. Not sure if perhaps something was changed but I did notice Retroarch is updated. Can't speak for everyone if this was the same as screen tearing but I wish I could show you all what I was seeing on some games. I will monitor this and mention anything if it happens.
-
Welp, I did a routine update just now, and the issue has returned. Enabling runloop_vrr is still the fix. Man, I wish I could somehow capture it, but it really does take an eye to see it.
Mame2016 running Metamorphic Force, sprites tearing/jittering was my example.
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.