A very tiny Arm SBC with 4 cores, Mali iGPU, 2GB RAM, and 4K 60Hz HDMI output. I built the engine without opengl to force it to run purely vulkan but it was crashing and since the board gave me the magic smoke I can’t test it anymore. Exported game builds on OpenGL did work but I didn’t test it beyond starting the game.
I’m looking to get a cheap single board computer that someone can verify runs Godot on Linux. I want to my game against test minimum specs on new hardware for science and as a distraction.
Since these boards have gotten ridiculously expensive for what they are, it’d be nice to find some assurance before dropping $50 on a mere 2GB of RAM (my 2GB OrangePi was originally $20). I’m looking at the Arduino Uno Q, Raspberry Pi 3B+, Radxa Zero, and MilkV Mars. Each have their own tradeoffs like having microUSB instead of type C, lacking HDMI/DP ports, a port that doesn’t support 4K, or simply being sold out and unattainable.
I think the Uno Q is currently the most promising since it shares a GPU in the same family as the Steam Frame’s, so Valve’s work for the Frame may benefit the Uno Q as well. If someone can vouch for it running Godot that’d be great.
Also I put this in General since it seems “Help” is 99.9% game development help rather than likely hardware discussion.
The Raspberry Pi 3B+ can hardly run 1080p video, I use it for my TV. Testing against Godot 3.6 with only OpenGL might do you better.
The Milk-V series is RISC-V, not ARM. while Godot can build for risc-v, it’s wildly under powered and experimental hardware.
The Uno Q seems to have very similar specs to the Raspberry Pi 3B, I’m sure they’re big kicker is the AL/ML integration/chipset stuff. Similarly I’d recommend sticking to the old 3.x branch and only running limited games. File I/O might be better on this board since it has some integrated storage.
Radxa zero I’ve never heard of, but sounds great for my TV! Seems to be pushed for TVs specifically? Their “Rock” series seems more in line with other Pi-like SBCs.
I went for the Pi 5 2GB, to test my simple 2D game’s visual testing scene.
I did a bunch of quick tweaks to get the framerate up, disabling various engine settings and disabling some of the unnecessary shaders that are computationally heavy. Simple shaders had very little impact.
At 720p, it runs at 90 fps. At 1080p, the average framerate drops to 50 due to 19ms spikes roughly every second, but otherwise hits 16ms. Using canvasitem clip is probably the heaviest operation but that is a non-negotiable function for my game currently. With all clips turned off, the framerate at 1080p was around 100fps. I tried a 4K monitor with clips off for a cinematic 24fps, and 12fps with clips on.
I don’t have a sufficient power supply so there may still be some performance on the table but I’m not counting on it. The Pi 5 needs a 5V5A supply and mine does not do that.
It struggled to run the editor and needs extra swap to even open a project (I added an 8GB swapfile). With my exported build I saw a ~500MB delta on overall memory when running, so there is plenty of room to just run the game without even touching swap.
There are still some optimizations to be done, like consolidating clips and potentially replacing it with a shader in some cases. There was also very little CPU usage, so moving calculations onto the CPU could be a way to improve performance too. Anyway the raspberry pi 5 can definitely run some 2D games with optimizations.
Indeed, I just tested a micro build with a final project size of 28MB, getting 60fps at 1080p with clipping.
I know there will be more costs and optimizations that can be done though, so I don’t plan on testing it until the game is further along. For reference, my game uses only untextured polygons to generate visuals, making it pretty lean at least until I add audio.
There are more things that can be gutted from the engine like UVs, 2D lighting, etc. that would improve performance in my case, but not for most others.