Categories
advpi

advpi – Week 7 – UI

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!