Anbox on Byzanthium

@dos, @david.hamner, Not sure if the android.img is proper but it does not throw any platform (amd64 or arm) error so I guess it is okay to use the img file from the https://build.anbox.io/android-images/2017/08/04/ location. I guess the anbox DEB package is also proper. Can you provide further instructions, directions on what else is needed to address the issue?

@dos, @david.hamner, can you provide some instructions, directions to the issues mentioned in this post?

1 Like

Is there anyone who was able to make the Anbox work on Byzanthium?

Yes, I’m using it regularly.

I’m going to try setting it up on a fresh phone when I find some time to see what are the pitfalls you guys are falling into.

4 Likes

good morning everyone,
I’ve done some research, hope it helps:

sudo systemctl status start anbox-container-manager 

not running
so i did:

sudo systemctl start anbox-container-manager
sudo systemctl status start anbox-container-manager

now active (running)
so now:

env ANBOX_LOG_LEVEL=debug anbox session-manager
[ 2022-04-10 08:34:17] [daemon.cpp:61@Run] Failed to initialize SDL: x11 not available

so I tried

export DISPLAY=:0
env ANBOX_LOG_LEVEL=debug anbox session-manager
[ 2022-04-10 08:41:46] [Renderer.cpp:165@initialize] Using a surfaceless EGL context
[ 2022-04-10 08:41:46] [Renderer.cpp:248@initialize] Successfully initialized EGL

so i tryed:

env ANBOX_LOG_LEVEL=debug anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
[ 2022-04-10 08:45:37] [launch.cpp:168@operator()] Session manager is not yet running, trying to start it
[ 2022-04-10 08:45:37] [launch.cpp:117@launch_session_manager] Started session manager, will now try to connect ..
[ 2022-04-10 08:47:23] [launch.cpp:202@operator()] Session manager failed to become ready


systemctl --user enable --now anbox-session-manager
Failed to enable unit: Unit file anbox-session-manager.service does not exist.

with my own image:

env ANBOX_LOG_LEVEL=debug anbox launch --package=org.anbox.appmgr --component=org.anbox.appmgr.AppViewActivity
[ 2022-04-10 09:03:01] [launch.cpp:202@operator()] Session manager failed to become ready

Something is probably up.

purism@pureos:~$ adb install FDroid.apk
* daemon not running; starting now at tcp:5037
* daemon started successfully
Performing Streamed Install
Success
purism@pureos:~$ adb shell pm grant org.fdroid.fdroid android.permission.WRITE_EXTERNAL_STORAGE
purism@pureos:~$ adb shell pm grant org.fdroid.fdroid android.permission.READ_EXTERNAL_STORAGE
purism@pureos:~$ adb shell settings put secure install_non_market_apps 1
purism@pureos:~$ anbox launch --action=android.intent.action.MAIN --package=org.fdroid.fdroid --component=org.fdroid
.fdroid.views.main.MainActivity
[ 2022-04-10 09:24:18] [launch.cpp:202@operator()] Session manager failed to become ready

I’ve got it! It’s running!

first built the image with the:

copy it to /var/lib/anbox.

download the package “package-pureos-byzantium:arm64” from:

and install both files with:

sudo dpkg -i anbox*.

reboot the system. And after that do:

sudo systemctl enable anbox-container-manager
sudo systemctl start anbox-container-manager

check if it’r running:

sudo systemctl status start anbox-container-manager

do:
(is apparently only needed when starting from the console.)

export DISPLAY=:0

start anbox with the icon
after that:

adb install FDroid.apk
* daemon not running; starting now at tcp:5037
* daemon started successfully
   Performing Streamed Install
   Success

purism@pureos:~$ adb shell pm grant org.fdroid.fdroid android.permission.WRITE_EXTERNAL_STORAGE
purism@pureos:~$ adb shell pm grant org.fdroid.fdroid android.permission.READ_EXTERNAL_STORAGE
purism@pureos:~$ adb shell settings put secure install_non_market_apps 1 anbox launch --action=android.intent.action.MAIN --package=org.fdroid.fdroid --component=org.fdroid.fdroid.views.main.MainActivity

the onscreen keyboard does strange things.
When I press backspace, I get an = and stuff like that.
EDIT: only happens when you start from the console.

Otherwise it looks fine.

if you have installed an app go to /home/purism/.local/share/applications/anbox/
copy the desktop file of your app to /home/purism/.local/share/applications/
otherwise the changes will be undone by anbox.

open the desktop file.and change

NoDisplay=true to NoDisplay=false.

and add:

X-Purism-FormFactor=Workstation;Mobile;

Then the app is also displayed in the menu. And is also displayed under Mobile Apps.

4 Likes

I wonder if your android image doesn’t use the same keyboard layout your phone does?

I have noticed that this only happens when you start from the console.

How did you get pass this issue? How did you compile the android.img for arm64 architecture from an x86_64 architecture?

The first link in the posted instructions specify that it’s an arm64 image.

For me, the image preparation takes forever and never completes. How long did it take for you to generate image?

Arround 2,5h

Shall I send you a link to my image? Then I put it on my nextcloud.

@st.boom, that would be great. For me it is around 4 and 1/2 hours and it is still at 28%.
Thanks in advance.

@st.boom,
I got mine working too. I copied this image; https://dosowisko.net/anbox/arm64/android.img Then followed your instructions and it opens up fine.

Few glitches though, performance is very slow. Music app does not open up

1 Like

Great news! Congratulations!
My performance is also very slow.
Firefox/Fenix crashes and it looks like they can’t open web pages.

I tried using @st.boom yesterdays instructions using a clean system and noticed a few steps missing or unclear and did not get to the end successfully. Notes:

  • image building will take a few hours
  • you have to create the directory, it’s not there already
  • package is within the artifacts.zip, so extract and move the two needed files (.deb)
  • extra period at the end of “anbox*.” and there are missing dependencies (install lxc, libboost* and run command again)
  • need to install adb (and dependencies - come with) or its not there

… and although Anbox starts from icon, adb does not work: “adb: failed to stat FDroid.apk: No such file or directory”. Ideas?

Get the android image from this location. Then copy it to /var/lib/anbox. As you said, the anbox directory is not present.

Next, install the anbox deb from the artifacts.zip file. I think the dbg one is for debugging purpose. So does not need to be installed.
The anbox install failed for me citing unmet dependencies. Then I executed the apt-get install --fix-missing. Then installed anbox. It works fine after dependencies are met.
Then I manually installed adb; apt install adb
The out of box anbox desktop file starts the anbox UI.
The android.img file from @dos’s location has F-Droid already added.
If you want to bring up the F-Froid UI use @st.boom’s method;

anbox launch --action=android.intent.action.MAIN --package=org.fdroid.fdroid --component=org.fdroid.fdroid.views.main.MainActivity

It works for me. Be advised, not all applications open up properly. For example, the Calculator and Calendar opened up fine but the Music did not.
The email opens up fine but for some reason the @ key does not work while entering the email address.

A side note, WhatsApp works perfectly fine.

4 Likes

Ok that clears it up, thanks! No need to trying install FDroid again then. It doesn’t launch from the anbox manager for me so the long command is useful (would it benefit other apps as well?). That works, FDroid launches and apps from there seem to be installing fine. Launching them is … mostly they crash and crash anbox - calculator is the only one that seems to work.

Curious is that anbox launches Music automatically (I see it in Usage) but it’s not visible or usable - won’t even die forced (Usage is missing kill + other features and settings). Usage of anything droid-related seems to be limited to display zoom level 200%.

The how-to of all this needs to be re-written in more detail.

Using that long command just reminded me how I soooooo miss having working text selection and copy-paste in default browser and some others (workaround via FF).

Can you use a bash alias (this is from the phone terminal, right?)?

At the bottom of your .bashrc file in your home directory (assuming it exists), add the line:

alias fdroid=’<insert long command here’

You can substitute anything that isn’t already a command for “fdroid”. Save it, then source your .bashrc file by typing in your terminal (from the home directory)

. .bashrc

1 Like

Thanks, good idea. I was going to make a shortcut icon + script but that may help there too.
I was however originally referring to copying the command from browser window of this forum to terminal - clipboard support is random (as are context menus - seems similar or close problem).