Well, that was a long break.
As a way to keep myself in track, I’ll create logs as I’m working on things. That way, I can be more regular with work. Anyways, this week will be getting a GUI.
GUI – getting a screen.
Well, here’s the plan. I’ll have to create the PPU (The GBA’s equivalent of a GPU and the CPU timers), so I can get an output. For that, I need a window.
SDL2 to the rescue. I’ve only used SDL2 in Rust (ref: porcel8).
Seems it was pretty easy to get it integrated after installing the SDL libraries.
find_package(SDL2 REQUIRED CONFIG REQUIRED COMPONENTS SDL2)
// link the library to our executable
target_link_libraries(advpi PRIVATE SDL2::SDL2)
And it builds successfully!
The screen
With some X11 forwarding, and adding some code to create a screen on output, we get an output!
Of course, for those of us using Fedora, which uses Wayland, XWayland needs to be enabled, and then on the , X11 forwarding needs to be enabled.
# Set this in /etc/ssh/sshd_config
X11Forwarding yes
Once that’s enabled, its just ssh-ing into the system, and then seeing a wonderful screen
ssh -X geemax # geemax is my test Pi
And, window!

Short end of a week
That’s it for now, I’m afraid.
In retrospect, working with the PI is a bit annoying and I’d like a totally local setup, and also decide between working on the PPU or the timers, whichever gets me to the boot splash screen faster!