Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Framebufferphone UI #420

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

hamblingreen
Copy link
Contributor

@hamblingreen hamblingreen commented Jun 25, 2022

What is Framebufferphone?

Frambufferphone is a mobile linux UI centered around the phone's framebuffer. Originally by Miles Alan, I now maintain the project with my own fork. It has 2 components, fbp and f_scripts. fbp is the core UI which includes f_keyboard, a dmenu-keyboard combination that dynamically adapts to hotkeys within text-based programs. f_scripts makes functionality like surfing the web, phone usage, texting, and playing games easy through fully modular Oil OSH scripts. I have ported this project from postmarketOS to Arch Linux Arm, and would like it to be available as a UI option in Danctnix.

Port Progress

  • fbp
    • PKGBUILD
    • enable uinput module on boot
    • run fbp ui on boot
    • override default power button behavior
  • f_scripts
    • f_audio
      • patch references to /etc/deviceinfo
      • find correct amixer scontrols for Arch
    • f_files
    • f_game
      • maintain moon-buggy packaging
    • f_maps
    • f_networks
      • patch references to OpenRC and /etc/deviceinfo
    • f_phone
      • maintain pinephone-call-audio packaging
      • patch references to OpenRC and /etc/deviceinfo
    • f_rss
    • f_theme
      • patch references to /usr/share/consolefonts
    • f_timer
    • f_web
      • maintain netsurf-fb and libnsfb packaging
    • f_youtube
    • unified f_scripts pkgbuild
  • gen_archpackages

Future improvements

https://todo.sr.ht/~hamblingreen/framebufferphone-tickets

Testing

  1. Install a Danctnix Arch Linux ARM barebones image to an SD card or internal storage
  2. Clone my fork of this 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!

@hamblingreen
Copy link
Contributor Author

i screwed up git rebase once more. every time i try and squash commits like the contribution guidelines describe, i somehow end up with conflicts. I decide to just back up the changes i need to make, reset my repo to match upstream, and paste back in my changes. but when i reset my repo to match upstream github automatically closes my pull request. this has happened three times. on the bright side this is almost ready to merge, just need to email miles about the command subs problem, scontrol identifier issues, and zig packaging problems.

@hamblingreen
Copy link
Contributor Author

Talks are ongoing about resolving the last major issue upstream, you can follow it's progress at https://lists.sr.ht/~mil/framebufferphone-devel

@hamblingreen
Copy link
Contributor Author

upstream arch linux arm has updated Zig on aarch64 architectures. huzzah! one issue left to solve in upstream framebufferphone or Oil and then this is ready to merge.

@hamblingreen
Copy link
Contributor Author

the command subs issue has been resolved upstream. it seems that in an Oil update, strict_errexit was added to the list of strict options included in strict:all, made for backwards compatability with bash. Anyway, it's been resolved and now I'm working on upstreaming all of my patches so that the main fbp and f_scripts projects are both arch and alpine compatible out of the box. a big part of this are simple openrc-or-systemd checks, file path checks, etc. but as a shell newbie it might take a while. good learning experience

@hamblingreen
Copy link
Contributor Author

just a status update, all patches used in this port are being in the process upstreamed into the main framebufferphone project. i'm trying to make future maintainance as easy as possible. once no arch-specific patches are needed, i'll mark this feature as ready for review

@hamblingreen
Copy link
Contributor Author

at last, all my patches have been submitted. once they are merged, i'll push a commit removing all my arch-specific patches from this pr and it'll be ready for review. hooray!

@hamblingreen
Copy link
Contributor Author

gen_archpackage has been submitted upstream.

@hamblingreen
Copy link
Contributor Author

i have a commit ready to push finalizing everything whenever the changes are accepted upstream.

@hamblingreen
Copy link
Contributor Author

Framebufferphone is no longer maintained by Miles, so I forked it and pushed my changes. I've updated the first comment here to reflect that, the new place for active development of framebufferphone is https://sr.ht/~hamblingreen/framebufferphone. I'll update the PR here as well with details reflecting my changes. I do have a few more wish-list items that I added in the initial comment as well, so once those are done I'll mark this PR as ready for review

@hamblingreen
Copy link
Contributor Author

This PR is ready for review. I've released f_scripts and fbp 0.6 and collapsed this PR down into one commit, add framebufferphone packages. Please let me know if you have any feedback!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant