I recently got a Retroid Pocket 2+ and decided to experiment with getting my Godot games running on it. It works, but in every game, the top third-or-so of the screen lags behind by a few seconds, resulting in screen tearing.

The Retroid Pocket 2+ is an Android-based handheld console. Getting Godot games running on it is as simple as exporting them for Android, copying the exported APK files onto the device, and installing them.

The Pocket 2+ has a 640 x 480 touchscreen. I've tested exporting projects at different resolutions - including the native 640 x 480, smaller, and larger - and using different stretch modes. I've even tried disabling Vsync to see whether that was ironically causing the problem. The result is the same every time.

As far as I've found so far, my Godot games are the only applications with this issue. Everything else I've run on the device has worked without any screen tearing issues. I haven't yet tried anyone else's Godot games, nor have I tried my games on another Android device.

Anyone have any idea what might be the problem? Thanks in advance for any input.

~~

Edit 07.06.22 I found the solution! The GLES2 video driver doesn't appear to cause the screen tearing issue on the Retroid Pocket 2+.

I haven't yet tried anyone else's Godot games, nor have I tried my games on another Android device.

I'd try both of those options first, to make sure the issue isn't with your project when it's exported to Android.

@Calinou said: I'd try both of those options first, to make sure the issue isn't with your project when it's exported to Android.

Okay, so, I've done a bit more science.

The screen tearing issue is specific to the Pocket 2+. Running the same Godot games on my mobile phone did not produce the same issue.

The problem seems to affect 2D games specifically. I tried a couple of other people's released Godot games on the Pocket 2+ - a 2D one and a 3D one. The screen tearing was present when running the 2D one, but not the 3D one.

16 days later

I've solved it!

It looks like the Pocket 2+ isn't compatible with GLES3. I've switched the video driver to GLES2 in two projects now and they both display properly on the device. I don't know why it took me this long to think to try it, but I'm super happy to have found the solution!

I hope this helps others who wanna export games for Retroid handhelds. Use GLES2!

10 months later