Wine-WoW64 + Box64 presetuped for termux glibc/proot (aarch64)
with minimal dependencies as possible and install only what needed.
Version: 10.3 (Stable)
Version: 0.3.3 (Devel)
(Using xow64 on proot read the tutorial from here)
(Read for more info on how to setup xfce4)
or
(using termux-desktop from here)
pkg install wget
cd $HOME && rm -rf ~/xow64 && wget https://github.com/ar37-rs/xow64-wine/raw/refs/heads/main/xow64 && chmod +x ~/xow64
~/xow64 install
Switch to different version of wine (default is 10.3-stable)
Other available versions:
10.3-staging
10.2-staging
9.18-staging (fix crash gecko iexplore)
Wine 10.3 staging
~/xow64 wine=10.3-staging
Wine 9.18 staging
~/xow64 wine=9.18-staging
Switch back to default version (10.3-stable)
~/xow64 wine=default
Run and check wine version
~/xow64 r --version
Run winecfg
~/xow64 r winecfg
Run any specific *.exe
~/xow64 r app_name.exe
or run any *.exe with any specific path
cd ~/'.to/Prog Files/app/path' && ~/xow64 r app_name.exe
Launch GPU Caps (test OpenGL and Vulkan)
~/xow64 gpucaps
Launch TestD3D (D3D9)
~/xow64 testd3d
Launch CubeMap (test EnvMapping D3D9)
~/xow64 cubemap
Launch SphereMap (test EnvMapping D3D9)
~/xow64 spheremap
Launch wine in windows desktop mode, configure desktop size like so
(or any standard windows screen size)
~/xow64 desk-size=1024x768
and then simply start using
~/xow64 s
Quit wine or terminate all wine related process
~/xow64 q
Using newer build of virgl (virpipe) driver
(Universal android 9+ with vulkan 1.1+ GPU supported only)
(Read more for virgl-angle additional usage from here)
~/xow64 driver=virpipe
Using virpipe angle driver
~/xow64 vgl-use=angle
Using virpipe native android driver (less stable might using older version of virgl)
~/xow64 vgl-use=android
Using virgl 4.3COMPAT profile (default is OpenGL 4.1COMPAT)
support OpenGL 2.1, 3.2, 3.3, 4.1 and 4.3 with COMPAT
~/xow64 vgl-compat=4.3
Switch back virgl to default COMPAT profile.
~/xow64 vgl-compat=4.1
Fix virgl color/visual problems on d3d9+ (Direct X) apps/games
~/xow64 vgl-cfg=d3d
Reconfigure virgl for OpenGL/ES apps/games
~/xow64 vgl-cfg=gl
Using panfork/panfrost driver for some specific supported
Mali-G310+ (G610, G710..) series
~/xow64 driver=panfrost
install panfrost driver for glibc from here (not required for proot mode)
make sure termux-x11 is using DRI3 and if experiencing driver error when using panfrost driver
try disable BOX64_MMAP32
environment (if not error, just skip)
disabling MMAP32
causes wine to run slightly slower (when running 32-bit games/apps)
~/xow64 env-add BOX64_MMAP32=0
Check the environment variable
~/xow64 env-info
Re-enable BOX64_MMAP
~/xow64 env-remove BOX64_MMAP32=0
Switch back using default OpenGL driver using any default preconfigured termux gl drivers including virgl (if any)
~/xow64 driver=default
Using WineD3D version 3.21 (faster for some older games)
~/xow64 wined3d=3.21
and then (for wined3d 3.21 only: changing deviceId
back to default is required if previously changed to something else)
~xow64 device=default
Using WineD3D version 4.21 (relatively faster for some specific games)
~/xow64 wined3d=4.21
Switch back using default builtin WineD3D version, the newer the better compatibility and stability
~/xow64 wined3d=default
Using vulkan llvmpipe, extremely slow for testing only (Universal CPUs)
~/xow64 vk=lvp
Using vulkan turnip driver (for Adreno GPUs)
~/xow64 vk=turnip
Using vulkan radeonsi driver (for AMD based GPUs such Xclipse)
~/xow64 vk=radeon
Switch back using default vulkan driver (if any)
~/xow64 vk=default
Using dxvk-proton (supported on vulkan llvmpipe and any supported GPU driver)
~/xow64 vkd3d=true
Disable dxvk-proton (vkd3d)
~/xow64 vkd3d=false
Using dxvk-glasync-proton for more pleasant experience (supported on vulkan the same as dxvk-proton)
~/xow64 vkd3d-async=true
Disable dxvk-glasync-proton (vkd3d)
~/xow64 vkd3d-async=false
If experiencing error on some specific vulkan drivers use the older supported version from here or use modified dxvk version from here
Adding any custom environment variable (e.g: disabling MMAP32
)
~/xow64 env-add BOX64_MMAP32=0
Check list of the added custom environment variables
~/xow64 env-info
Remove the added custom environemnt variable
~/xow64 env-remove BOX64_MMAP32=0
Reset custom environment variables to default
~/xow64 env-default
Using custom graphic card deviceId and vendorId, some games require the deviceId
to be available on the system
use custom GPU code name (GeForce GTX 950M)
~/xow64 device=gtx950m
or (GeForce GTX 980)
~/xow64 device=gtx980
or (UHD Graphics 630)
~/xow64 device=uhd630
Swich back to default deviceId
~/xow64 device=default
Enable winedlloverride for cnc-ddraw
~/xow64 cnc-ddraw=true
Disable winedlloverride for cnc-ddraw
~/xow64 cnc-ddraw=false
Disable wine debugger (for stability)
~/xow64 debug=false
Re-enable wine debugger
~/xow64 debug=true
Using custom WINEPREFIX
to the new specific path (default is .xow64_wine
)
(after changing WINEPREFIX
make sure to reconfigure most of things such update-patch, renabling vkd3d and .etc if previously being enabled)
e.g: change to .wine
~/xow64 WINEPREFIX=.wine
Install box64 v0.3.2 (available box64 v0.3.0 to v0.3.3 glibc only)
~/xow64 box64=0.3.2
Update box64 to newer version (v0.3.3 glibc only)
~/xow64 update-box64
Update wine
~/xow64 update-wine
Update graphics drivers
~/xow64 update-drivers
Update angle-android (android 9+ only)
~/xow64 update-angle
Update virglrenderer (android 10+ only)
~/xow64 update-virgl
Update dxvk-proton (vkd3d)
~/xow64 update-vkd3d
Update dxvk-proton async (vkd3d)
~/xow64 update-vkd3d-async
Update patch
~/xow64 update-patch
Remove specific installed version of wine (e.g: 10.2-staging)
~/xow64 wine-remove=10.2-staging
Remove specific installed version of box64 (e.g: 0.3.2)
~/xow64 box64-remove=0.3.2
Uninstall (remove) xow64-wine completely
~/xow64 remove-all
-
Using virtual controller, install InputBrige
and start command in desktop termux terminal
~/xow64 s
and then
StartIB.cmd
from wine start menu (desktop mode) before launching any game, then open InputBridge app on android device and then start configuring control buttons as need. -
If experiencing any emulation issue for specific app/game
try using different version of box64, wine, configuration (especially box64 environment variables) and drivers available above accordingly.
-
If there's problem when installing xow64, make sure the latest correct termux app version is installed.
(tested using termux-app-v0.119.0-beta.1)
-
Using cnc-ddraw:
-
Fix virgl-angle vulkan support for some devices
such encountered on this issue
pkg remove *icd-swrast && pkg install vulkan-loader-generic wget && cd && rm -rf ~/mesa-vulkan-icd-wrapper_25.0.0-1_aarch64.deb && wget https://github.com/ar37-rs/virgl-angle/releases/download/latest/mesa-vulkan-icd-wrapper_25.0.0-1_aarch64.deb && dpkg -i ~/mesa-vulkan-icd-wrapper_25.0.0-1_aarch64.deb
-
Fix for some android 12+ devices with [Process completed (signal 9) - ...] issue using adb:
adb shell "settings put global settings_enable_monitor_phantom_procs false"
and set max_phantom_processes as well
adb shell "/system/bin/device_config set_sync_disabled_for_tests persistent" adb shell "/system/bin/device_config put activity_manager max_phantom_processes 2147483647"
and then restart/reboot device. read more for more info from here or here
https://github.com/termux
https://github.com/termux/termux-x11
https://github.com/ptitSeb/box64
https://github.com/wine-staging/wine-staging
https://github.com/airidosas252/Wine-Builds
https://github.com/termux-pacman/glibc-packages
https://github.com/doitsujin/dxvk
https://gitlab.com/Ph42oN/dxvk-gplasync
https://github.com/HansKristian-Work/vkd3d-proton