So as for my tests, I come bearing great news. I was able to successfully run a 3d demo project at acceptable FPS rates. In summary I’d say that you could easily make a PS1 style game for GameShell, you’d just have to be really careful with your resources, you can see from the video that you can even get some basic physics working fine, but it drops the FPS significantly meaning that the bottleneck is the CPU, as for the GPU I was pleasantly surprised, the video below uses unoptimized textures (64x64px png although compressed to VRAM). But it handles small scenes with baked lights just fine, this one had 1 directional light and 2 colored omni lights. The meshes were exported from Blender as for some reason primitive meshes generated by Godot didn’t work for me. Also a basic vertex shader worked fine (the rotating red object).
As to how I got here: I compiled Godot 3.5.3 on the device, although in hindsight I’ll be doing cross-compiling in the future as it takes ~2h with all the modules enabled.
I was also tempted to get FRT working just because the “Cannot create framebuffer” error bugged me and it took me a few days of research and trial and error up to the point that I switched out FRT’s GLES loader to Godot’s and made quite a bit of code changes only to learn that it’s just basically impossible when running within X11 as it requires GLX to render and FRT is using EGL which is totally fine, there are 2 options here:
- Start an X session with indirect rendering, which totally kills hardware acceleration
- Switch from X11 to kms/drm which will let FRT do its thing as it was mean and improve performance as fewer resources will be allocated to X.
I will create a repo with the sample project and a compiled Godot binary to run the pck file.