# Anbox configuration Anbox configuration security in mind. ## Installation See: [Installation steps guide](installation-steps.md) ---------- ## Anbox files Contents of [anbox_files](anbox_files) are based on [anbox-git AUR package](https://aur.archlinux.org/packages/anbox-git/), additionally including: - patches (see details below) - properly configured LXC container user and group mapping files `/etc/subuid` and `/etc/subgid` for Linux systems without Snap. - [anbox-session-manager](anbox_files/anbox-session-manager) wrapper shell script - **Purpose**. If `anbox-session-manager` Systemd service is launched _before_ X11 session, launching the X11 session fails. This script ensures that X11 session is launched _before_ `anbox-session-manager` Systemd service, fixing the issue. - Place into `/usr/local/bin/` folder and set as executable (`chmod +x `). `PKGBUILD` file is for Arch Linux. Rest of the files work on any Linux distribution. ## Android OS image files Get pre-built, patched images from [https://fjordtek.com/public/applications/anbox/images/](https://fjordtek.com/public/applications/anbox/images/). All images are based on [Android Open Source Project codebase](https://android.googlesource.com/). Patch files in [androidOS_files](androidOS_files) are for developers willing to build their own Android OS image file. See [buildscript.sh](androidOS_files/buildscript.sh) for rough step-by-step details. Patch file descriptions below. Android OS image file target location for Anbox: `/var/lib/anbox/android.img` ---------- ## Anbox - Patch files | Patch file | Description | |------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [patch_audio01_timing.patch](anbox_files/patch_audio01_timing.patch), [patch_audio02_pass-messenger.patch](anbox_files/patch_audio02_pass-messenger.patch) | [GitHub: Anbox PR #1034 - Implement audio timing](https://github.com/anbox/anbox/pull/1034) | | [patch_bytesize-to-bytesizelong.patch](anbox_files/patch_bytesize-to-bytesizelong.patch) | [GitHub: Anbox PR #1480 - rpc: use ByteSizeLong from protobuf](https://github.com/anbox/anbox/pull/1480) | | [patch_cm-helpmenu-unhidden.patch](anbox_files/patch_cm-helpmenu-unhidden.patch) | Unhide `container-manager` options in Anbox executable help menu | | [patch_cm-privileged-warn.patch](anbox_files/patch_cm-privileged-warn.patch) | Add `not recommended` note into `--privileged` parameter description | | [patch_python3.patch](anbox_files/patch_python3.patch) | [GitHub: Anbox issue - Python 2 is EOL: comment by karuboniru](https://github.com/anbox/anbox/issues/1478#issuecomment-638055086) | | [patch_remove-unknown-opt.patch](anbox_files/patch_remove-unknown-opt.patch) | Remove unknown compilation time G++ option | | [patch_window-restored.patch](anbox_files/patch_window-restored.patch) | Some Android applications such as [NewPipe](https://github.com/TeamNewPipe/NewPipe) require `SDL_WINDOWEVENT_RESTORED` handling so that application window contents are correctly rendered after minimize/maximize operations. | | [patch_window-icons.patch](anbox_files/patch_window-icons.patch) | Set SDL window icon property for each application window by using application specific PNG icons. Adds value for `_NET_WM_ICON` property in X11 environment (`xprop` command). | ## Android OS image - Patch files Applied to the patched Android OS image file `android_7.1.1_r13_patched.img` ([direct link](https://fjordtek.com/public/applications/anbox/images/android_7.1.1_r13_patched.img)): | Patch file | Description | |--------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [patch_audio01_timing.patch](androidOS_files/patch_audio01_timing.patch), [patch_audio02_pass-messenger.patch](androidOS_files/patch_audio02_pass-messenger.patch) | As for Anbox (above) | | [patch_gallery2_no-activity-checks.patch](androidOS_files/patch_gallery2_no-activity-checks.patch) | Remove video & audio pause functionality from default Android OS system application `com.android.gallery3d` as the pause functionality does not fit into Linux desktop environment when running multiple Android applications simultaneously. | | [patch_initcgroups.patch](androidOS_files/patch_initcgroups.patch) | Remove unnecessary cgroups and related mount points from containerized Android OS system. Remove cpusets. Both options generate unnecessary Linux main system kernel `dmesg` output and both options fail. |