Skip to content
GitLab
    • Why GitLab
    • Pricing
    • Contact Sales
    • Explore
  • Why GitLab
  • Pricing
  • Contact Sales
  • Explore
  • Sign in
  • Get free trial
  • postmarketOSpostmarketOS
  • pmaportspmaports
  • Issues
  • #1173

WayDroid: lets package it for postmarketOS

With WayDroid now in a somewhat usable state, it would be good to get it packaged in edge so more people can test it out and report bugs.

Unlike the old anbox, waydroid offers near-native performance, on the OnePlus 6 this means full speed Android, the ability to run games pretty much all the applications you might want. Although the device gets a fair bit warmer than when doing this on downstream Android.

  • Adapt install scripts to APKBUILD
  • Automate the config file generation as a post-install step
  • Decide if it's best to have the large Android images be part of the package or fetched in *-install (part of the package seems best to me).
  • Create new Kconfig check for waydroid (mostly just depends on BINDER stuff, as well as CONFIG_PSI and perhaps some things for networking).
  • Deal with the dnsmasq dependency which will be needed to initialise networking in WayDroid.
  • Come up with a solution for the bidirectional sharing data between the host user and the container without needing root to copy files.
  • Find a way to handle non-integer scaling in phosh causing the Android window to not fill the screen. And a way to deal with padding needed to avoid the Android navigation bar being obscured by the Phosh one (anbox.display_height_padding=100 <- this depends on scaling).

With regards to the binder stuff, currently the lxc config files expect ANDROID_BINDER to be a module which gets probed when you first start the container and configured to create the 3 binder interfaces with specific names (prepended with anbox-), is this a good solution?

Erfanoabdi says he'll be replacing the install scripts with some kind of Python tool. Could/should we make use of this?

Edited Apr 13, 2022 by Newbyte
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
Time tracking