my profile picture

Forking Framebufferphone

A more minimal future

2023-08-13

This article is a follow-up to my Framebufferphone on Arch linux ARM[0] article, where I ported the Framebufferphone mobile linux UI[1] project to Arch Linux ARM by tweaking the many f_scripts and packaging it all up to be used with the Arch build system. Since then, not much has happened development wise. A few months ago Miles, the UI's original maintainer, declared the project discontinued.[2] I saw this and decided to pick up maintainance of the project under my own fork of framebufferphone. Let's explore what changes I've made to the project so far and what the future has in store.

f_web showing the new repository page on sr.ht

Progress so far

My main goal to date was making the existing project compatible with both Arch Linux and Alpine linux out of the box. I've succeeded in this goal by adding platform checks in the f_scripts where they were needed and packaging needed programs on Arch Linux. This work has been gathered in a PR to add Framebufferphone as a UI option on Danctnix. I've kept track of packaging hurdles there.[3]

APKBUILD and PKGBUILD for f_scripts open in framebufferphone using the vis text editor

The future of framebufferphone

My next goal is to make framebufferphone daily driver ready for a use case limited to telephony, web browsing, and media playback. I have established a list of goals[4], the first of which is to port fbp to the latest Zig version. This will prove to be quite the challenge for me, but will ensure a solid base for the future of the project.

f_web showing a sr.ht todo ticket titled \

Testing for yourself

To test on PostmarketOS, simply install a PostmarketOS framebufferphone image by using pmbootstrap. Instructions on the pmOS wiki can walk you through it if you're unfamiliar with the platform.[5] I PRs have been merged on both Alpine and pmOS packaging to change the maintainer of the project, and it's source repository, to my fork.

Below are testing instructions for Arch Linux ARM:

  1. Install a Danctnix Arch Linux ARM barebones image to an SD card or internal storage
  2. Clone my fork of the Danctnix repository by running git clone https://github.com/hamblingreen1/Pine64-Arch
  3. Checkout the framebufferphone branch by running git checkout framebufferphone
  4. Navigate to each directory and run makepkg -si to build and install each package in turn. Due to dependencies needed, install the f_scripts package group last.
  5. Reboot and enjoy!

f_web showing my PR on the Danctnix repo to add framebufferphone as a UI option

Wrapping Up

I'm really excited about this UI, and I hope you are too. Forking the project on sr.ht will allow me to continue working toward making it daily drivable for my use case. If you're interested in helping out, reach out via email![6] I'd love to chat about the future of the project and have your help in its success.

Links/Notes

  1. https://hamblingreen.com/2023/01/31/framebufferphone-on-arch-arm.html
  2. https://sr.ht/~hamblingreen/framebufferphone/
  3. https://sr.ht/~mil/framebufferphone/
  4. https://github.com/dreemurrs-embedded/Pine64-Arch/pull/420
  5. https://todo.sr.ht/~hamblingreen/framebufferphone-tickets
  6. https://wiki.postmarketos.org/wiki/Pmbootstrap
  7. mailto:hamblingreen@hotmail.com