Thanks for your interest in BubuOS!
- Fork the repo
- Clone to your machine:
git clone https://github.com/YOUR_USER/bubuos.git - Follow the install instructions in README.md
BubuOS runs on Python 3 + pygame with a 640x480 screen and 10-button gamepad input (D-pad, A/B/X/Y, Start/Select).
Project structure:
bubuos/
main.py — entry point, splash screen, system loop
core/ — shell, renderer, input handler, theme, widgets
apps/ — each app in its own folder (weather/, snake/, etc.)
assets/ — fonts, animations, icons
setup/ — systemd services, install script
To add a new app:
- Create a folder in
apps/withapp.pyand__init__.py - Subclass
core.app.App— implementhandle_input()anddraw() - Register it in
core/shell.py
- Keep it simple — this runs on a tiny screen with limited input
- Test on real hardware if possible (GPi Case 2 + CM4)
- No external API keys — use free/open APIs only
- Match the existing visual style (warm cream theme, DOS-like UI)
Use the Bug Report template. Include logs from journalctl -u bubuos.
By contributing, you agree that your contributions will be licensed under the MIT License.