Awesome! I think the next step for this project would be to implement a proper DRM kernel driver and device tree overlay, instead of copying the framebuffer in userspace.
For reference, take a look at the Beepy display driver module: https://github.com/ardangelo/sharp-drm-driver. It's for a monochrome Sharp memory LCD, but still uses the SPI interface on a RasPi.
Thanks for the suggestion! I have no idea about drivers, so it would be great for learning. Pardon my ignorance, but can the gpu render to other display devices as normal?
> can the gpu render to other display devices as normal?
Yep, it will just result in your driver showing up as another `fb` device. Then, you can configure the kernel fbcon boot parameter to use your display for tty, or launch X configured to use your fb device. This would also let you do fun stuff like run mpv pointed directly at the fb device without running X at all :)
I put my email in my profile, so feel free to message me if you need any pointers.
For reference, take a look at the Beepy display driver module: https://github.com/ardangelo/sharp-drm-driver. It's for a monochrome Sharp memory LCD, but still uses the SPI interface on a RasPi.