/Box64Droid

Running x86_64 applications on Android

Primary LanguageShellGNU General Public License v3.0GPL-3.0

Box64Droid

Box64Droid is a project with scripts that automate installing preconfigured rootfs with Box64, Box86, Wine Stable 8.0, DXVK, D8VK on Android. Originally was a fork of Box4Droid with Box64. Can't launch all games in the world in 4K 60 FPS, note it when you are trying launch AAA games. Project site available here.

Made by guy from Lysychansk, Luhansk region of Ukraine.

If you have problems (note what I shouldn't know answer on all your questions like "Why game not working?") you can ask me at:

News about the project publising in the Telegram channel.

README parts:

Installation instructions

  1. Install Termux and Termux-x11.
  2. In Termux run the Box64Droid install command: curl -o install https://raw.githubusercontent.com/Ilya114/Box64Droid/main/scripts/install && chmod +x install && ./install

After the installation is completed, run box64droid --start. The starting script will start Termux-X11 and show the start menu.

You also can use Input Bridge, install 0.1.9 apk then just run app in Android and in Wine from start menu.

System requirements

  • Adreno 610+ (Other GPUs are supported by VirGL, but many games might not work)
  • Android 12+ (non-root, VirGL version), Android 10+ (root version)
  • 64-bit Android
  • You also need ~4,2GB (for root version), 4,5GB (for non-root version) or ~3,3GB (for VirGL version) worth of free space for the installation to run without problems.

If you want to get more FPS and stability, use the root version (you will need root rights on your device).

Configuring

You can choose to use environment variables, there are 3 files, DXVK_D8VK.conf, Box64Droid.conf and DXVK_D8VK.conf. These files are created and found in the /sdcard/Box64Droid/ folder after the first Box64Droid run.

The Box64Droid.conf file is with rootfs, Box86, Box64 and Wine configuration. You can use the Box86 and Box64 environment variables, see all of them here and here. You can add as many variables as you like.

The DXVK_D8VK_HUD.conf file is for you to use the environment variables referring to DXVK_HUD.

The DXVK_D8VK.conf file is for you to use the environment variables referring to dxvk.

Known issues

  • Error when updating Termux packages. Clearing Termux data will help.
  • Android 12+ can kill Termux, you may get [Process completed (signal 9) - press Enter]. To fix it run this command in adb shell from your pc: adb shell "/system/bin/device_config put activity_manager max_phantom_processes 2147483647"
  • "Control" menu in Wine (in Wine Proton 8.0-2 working fine) shows nothing. You can just open control using "Run" (Win + R).
  • Winetricks runs a long of time when Proton installed (non-root version).
  • Wine GE 8.14 and above and Wine 8.14 and above have broken DXVK with drivers for Adreno 7xx/610. Install any Wine version before 8.14.

Instructions on how to mount SD-card external HDD/SSD (chroot version only)

If you want mount a sdcard or a external drive (HDD/SSD), you need to add the mountpoint maually, follow these steps:

  1. Mount the drive onto the phone storage:
    • For SD-card go to /storage and see (sudo ls) folder example 8D3E-2B7K.
    • For external drives go to /mnt/media_rw and see folder like C3G3H6B8A56212H7.
  2. Mount the drive into the chroot envrionment:
    • Type nano $PREFIX/bin/box64droid and add the mount command before the sudo chroot login ... line: sudo mount --bind /mnt/media_rw/drivename (or /storage/sdcardname) $ROOTFSPATH/needfolder.
    • You need to create needfolder yourself in ~/ubuntu folder by using sudo mkdir foldername.

Things to note

Some issues/instabilities can happen when using Box86 and Box64 in a proot environment, so it's not recommended to use Box86 and Box64 in proot as a debug/testing environment, there are far better options for that.

Applications and scripts which were used in Box64Droid

Thanks to:

  • Herick75 - for Mesa Turnip patches which make possible compile it
  • Inguna87 - for start chroot fix for MIUI and Oxygen
  • Alfhashut - inspired me to try VirGL again and trying help me with him