ramapcsx2 / gbs-control

GNU General Public License v3.0
771 stars 110 forks source link

Pre-built unit: no screen tearing on startup, but screen tearing after changing between 480i and 480p (or vice versa) #470

Open therealteamplayer opened 1 year ago

therealteamplayer commented 1 year ago

I am using a pre-built GBS-C unit (the ODV GBS-C) and have come across an issue wherein screen tearing is introduced only after switching resolutions from 480p to 480i/240p or vice versa. After switching, the console displays a 'no stored display clock' message that it does not display on a cold startup, and screen tearing that would otherwise not appear is introduced.

The makers of the ODV unit claim that it does include an upgraded clock generator, but my theory is that it is being used only after a cold boot, and no longer being detected after switching resolutions. Turning the unit off and on again using its power switch gets rid of the screen tearing issue (until the next resolution switch at least). Unsure if it is a hardware or software issue (I flashed the latest firmware from this GitHub page). I don't know whether this would occur in a unit that I would build myself, but as I don't own a soldering iron nor no how to use one I can't test that.

nyanpasu64 commented 1 year ago
therealteamplayer commented 1 year ago

I just get:

FTL on
Active FrameTime Lock enabled, disable if display unstable or stays blank! Method: 0 (vtotal + VSST)

I'll note also that my TV has trouble with the frametime lock setting, wherein the display will black out every so often as if the output has just been changed.

Of course for this model I can't tell whether or not it has some kind of clockgen installed or whether or not it's being properly activated, but from looking at the grid scrolling in the 240p test suite, the tearing becomes quite obvious, going from seemingly none to every few seconds after switching resolutions after a fresh boot.

therealteamplayer commented 1 year ago

One other thing: I had managed in the past to get frametime lock to work correctly without dropouts, but this would only happen if I manually set HTotal such that the output refresh rate was equal to the input rate. This couldn't always be done though since I could change the rate only in set intervals: e.g. for 480p 1280x1024 I could set it exact whereas for 480p 1920x1080 it would be 0.007Hz off and cause issues.

Regardless I'm almost certain that tearing doesn't occur on first startup before any resolution changes, or at the very least nowhere near the same degree as after any change.

nyanpasu64 commented 1 year ago

If so, either they lied and didn't actually install a clockgen, or they're using a custom "clockgen" they didn't upstream and frametime lock doesn't recognize.

But in any case, the GBS-C should redetect and lock onto the correct refresh rate when switching input modes. I don't know why that isn't working in your case.

I'll note also that my TV has trouble with the frametime lock setting, wherein the display will black out every so often as if the output has just been changed.

As another option, you can use passthrough mode if you want to play 480p games on a 480p display. 480i and 240p have more issues right now.

therealteamplayer commented 1 year ago

yeah the disable clockgen is unchecked, if I remember correctly when I disabled and rebooted I got the tearing immediately rather than once I switched resolutions. frametime lock has always shown the same message when I enabled it.

Once tearing starts, I can stop it by turning the unit off and on again.

yes I tried both frametime lock modes.

therealteamplayer commented 12 months ago

To update: I did some more testing and I can confirm that I get mild tearing every now and then regardless of whether I switch resolutions or not. It's like a tear line that slowly moves down the screen. So it seems like my device doesn't have the clockgen or it is not recognised.

johngarcia000 commented 7 months ago

To update: I did some more testing and I can confirm that I get mild tearing every now and then regardless of whether I switch resolutions or not. It's like a tear line that slowly moves down the screen. So it seems like my device doesn't have the clockgen or it is not recognised.

I got same problem, with Aliexpress 2023 - blue GBS CONTROL. I got a lot of it with SNES SCART CSYNC - playing Super Mario World at 1080p scanlines. Did you solve it? I did not update firmware yet.

Edit: Solved, I Just updated firmware and activated frametime lock that was not working with factory firmware.