Code Monkey home page Code Monkey logo

exagear-for-termux's Introduction

Exagear For Termux

CAUTON: WE HAVE SOME SERIOUS ISSUES! SEE in ISSUES section below

Exagear For Termux - Non official modified version of Exagear for Termux and proot based environemnts - Anlinux, AndroNix, UserLand and etc. The main goal of the project is to achieve the possibility of a stable and fast replacement of QEMU user mode with proot, which is very slow and not stable. No root access required.

What is Exagear?

Exagear is a virtualization technology makes it possible to run Intel x86 applications on ARM-based devices. You can even run Windows applications on your ARM device if you install Wine. Eltechs solution is being developed since the project launch in 2012 and was discontinued in 2019, but was again resumed in 2020 under the Huawei brand and can already run x86_64 applications on ARM64 devices.

Features

  • Quickly and easily deploy x86 Linux distros
  • Support for System V IPC and POSIX IPC
  • High stable translating instructions

Issues

  • Exagear For Termux is too slow, compared to Exagear Windows, but much faster than proot with QEMU

Every process is hooked through ptrace(), so PRoot can hijack the system call arguments and return values. This is typically used to translate file paths so traced program will see the different file system layout. If you want to play games then please use Exagear Windows/RPG/Strategy

  • FATAL: attempted to create non-posix thread; clone_flags == 00004111

A critical error, which at the moment there is no explanation - because of what and how to solve it. If you have a solution, please join the discussion - FATAL: attempted to create non-posix thread; clone_flags == 00004111

Installation

Recommended manual for beginners: Run Windows exe on Android through Proot Exagear on Termux

  1. Install tar, wget and git using Termux's package manager (pkg):
pkg update -y && pkg install tar git wget -y

or using apt if you have Debian based distro:

apt update && apt upgrade -y && apt install tar git wget -y
  1. Clone this repository to home directory:
git clone https://github.com/ZhymabekRoman/Exagear-For-Termux ~/ExaTermux
  1. Now let's initializing the module proot-static:
cd ~/ExaTermux
git submodule init
git submodule update
  1. Now you need to extract any rootfs archive of the distribution into the exagear-fs folder. For example, let's take and extract the Debian 11 archive that came with proot-distro:
# Download Debian 12 from proot-distro's repo
wget "https://github.com/termux/proot-distro/releases/download/v4.6.0/debian-i686-pd-v4.6.0.tar.xz"
# Extract tar
tar --warning=no-unknown-keyword --delay-directory-restore --preserve-permissions -xvf debian-i686-pd-v4.6.0.tar.xz --exclude='dev'||:
# Rename extracted folder
mv debian-i686 exagear-fs
  1. Done. Let's start Exagear-For-Termux
./start-exagear.sh

exagear-for-termux's People

Contributors

zhymabekroman avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

exagear-for-termux's Issues

"Segmentation fault" error while booting up

Hello, I have followed the readme carefully, but whatever i try, "Segmentation fault" error will occur while starting x86 environment.
image
Phone model: Huawei mate30 pro 5G
Operation System: EMUI 11.0.0 (Android 10)

From the start, I'm using a modified version of Termux named UTermux, so I did as the readme again in the official Termux (v0.112).
Tried to use newer version of Debian (2021.01.10) and Ubuntu (2020.12.10) image instead.
Tried to download data outside Termux then copy inside it instead of using git and wget.
All of above didn't work and got the same error.

Is worth nothing that, I always got the same tar error uncompress these system images, this may why the issue.
Found tar: debian-buster-i386-2020.12.05/usr/bin/gunzip: Cannot hard link to ‘debian-buster-i386-2020.12.05/usr/bin/uncompress’: Permission denied after log to file (line 6115,6282), but my phone can't be rooted, that's impossible to use sudo.
The error won't happen if test it with the same command in Linux for WIndows 10.
log.txt

Please consider to help me.
BTW, you may like to add pkg install wget -y to the readme, since wget isn't preset in Termux.

files and folders not found

I have already detected the reason for this failure, normally it was to rename the "debian-i686" folder to "exagear-fs"... but the folder already exists, so it ends up being moved to inside it

as a result we get a directory "exagear-fs/debian-i686/"

my recommendation: remove "mkdir exagear-fs" from the commands

Screenshot_2024-02-06-23-09-31-690_com termux #

Медленное чтение/запись внутри контейнера

Использовал сначала предложенный в README debian, позже из этого же репо выкачал посвежее - результат один, в самом контейнере очень медленная скорость чтения и записи, прямо совсем ужасно.
До этого ставил ExaGear с wine (версия если не ошибаюсь 3.0.1) - дак там в мгновение ока всё происходило.
Для сравнения, я запускал сервер HLDS Counter Strike 1.6 в wine - там 3 секунды и карта уже загрузилась.
Здесь же внутри debian я жду по минут 5 наверное.
Что можно с этим сделать?

how to acces external(host) sorage

i was not able to create symbolic link to "/host-roots/sdcard" or "/host-roots/otg device address" how could i do that from within the container

Добавить proot-static

Вы видимо забыли добавить proot_static.. Подскажите пожалуйста как его установить в ваш ExaGearForTermux?

Not replacing

After logi first l'm logout and login ./start-exagear.sh

System memory configuration is determined as 3g
Writing resolv.conf file (NS 8.8.8.8/8.8.4.4)...
cp: not replacing '/data/data/com.termux/files/home/ExaTermux/exagear-fs/sys/fs/selinux/enforce'

wine win32k error

the wine service win32k is not work,in some time,wine couldn't find bass.dll,even though the bass.dll is exit。

Problem with aarch64 devices

Exagear does not want to run on aarch processors, the problem is that the Exagear binary is designed for armhf processors, not for aarch64. More information about this problem: termux/proot#151

Not support x86_64?

Tried downloading and unzipping both termux/proot-distro/releases/download/v2.2.0/debian-i686-pd-v2.2.0.tar.xz and termux/proot-distro/releases/download/v3.0.1/ubuntu-x86_64-pd-v3.0.1.tar.xz, and execute the ./start-exagear.sh. Will get the following error: execve() is guaranteed to fail with -8 ...

But it works well on the i686 Debian (32bit only?).

Will it be possible to install the 64bit Debian? It would be perfect to use the 8GB RAM on my tablets.

execve() (EACCES (Permission denied)) for /usr/bin/env

Hi, I have some Linux wine 3.0 obb that I use on exagear apk. I tried runing it on termux and I extract the obb file to a folder and rename it to "exagear-fs" the I moved it to termux exagear directory, run the script with the error message like this
lkv_LoadApp: execve() is guaranteed to fail with -13 (EACCES (Permission denied)) for /usr/bin/env
also I'm very new to Linux so how to fix it?

Obb Download
Inside the archive it have the obb itself.

Какой vncserver установить в приложенный дистрибутив?

Прошу прощения за столь неумный вопрос, но каким образом корректно завести VNC server на debian-buster-i386-2020.12.05. Wine устанавливается корректно, версия 6.0.1, делаю всё как этот человек https://www.youtube.com/watch?v=h3h8w-KlhQw с одним исключением (./start-exagear.sh login --old)
тут демонстрация запуска tigerVNC https://www.youtube.com/watch?v=n9Cd4TdECyM
Суть вопроса: какими командами поставить xfce4, tigervnc. Пробовал это из прошлого обсуждения: apt install xfce4 tigervnc*, vncserver запускается, отображение его происходит более-менее корректно, но не работает wine и возникает множество ошибок в работе самого debian, пробовал apt install --no-install-recommends xfce4 tigervnc* после полной переустановки системы и термукса, всё работает без ошибок, но vncserver хоть и запускается на localhost, но после ввода пароля на стороне клиента уже в графической оболочке возникают 2 ошибки
Мне кажется, я просто неправильно устанавливаю xfce4 и vnc

Failed to open PTY in xfce4 tigervnc desktop

I can't run xfce4-terminal in xfce4 desktop,but I can run xfce4 terminal on TermuxExager version 2.0.but the version 2.1 speed is higer tan 2.0.
Screenshot_2021-05-13-19-01-24-413_com realvnc viewer android
The error is :Failed to open PTY,I search the error in the internet,I find it maybe caused by the /dev/pts not mount,but the script have the line :proot_command+=" -b /dev",so I think this error is caused by inadequate permissions.it maybe also caused your's Mount mode。
the speed start winetricks gui is quickly,this is good.
Screenshot_2021-05-13-20-52-48-017_com realvnc viewer android

Bin folder not found problem

Firstly thank you for your great effort and work my problem is as followes

ExaGear for Termux by Zhymabek_Roman
Version: 2.1
Copyright (c) 2013-2019 'Elbrus Technologies' LLC. All rights reserved.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


Folder 'bin' in guest system not found. The guest system is likely damaged

My problem is im using userland apk program in adaptive storage since my phone storage is very very low in my opinion i think the bin folder is located else were if you can modify the script to include adaptive storage aswel sorry for the english please help me

Alpine linux gives this error

Here is the error it gives me:
~/ExaTermux $ ./start-exagear.sh login

░█░█░█▀█░█▀▄░█▀█
░░▀█░█▀▀░█░█░█▀█
░░░▀░▀░░░▀▀░░▀░▀

ExaGear for Termux by Zhymabek_Roman
Version: 3.1-stable, 2021-2023

Copyright (c) 2013-2019 'Elbrus Technologies' LLC. All rights reserved.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

System memory configuration is determined as 3g
Writing resolv.conf file (NS 8.8.8.8/8.8.4.4)...
Folder 'storage' in guest system not found. Creating....

Folder 'dev' in guest system not found. Creating.... Your environment is defined as Termux

[Starting x86 environment]

Attempt to delete pinned vma 0x0xab62b3e8 [0x800c9000, 0x800ca000)
[Exit from x86 environment with error status]
~/ExaTermux $
I use the rootfs 4.6.0 alpine from proot-distro's latest alpine. With exclude dev*

Can't open any type of terminal emulators in desktop environment vncserver

Hello sir, I have this weird issue i could open any type of terminal emulator when I tried in vncserver , I tried using ubuntu and debain image , but in ubuntu no termuinal opens and in debian image (you linked) gives that failed to start child error , no pty , i tried using xterm , xterm doesn't open or responds and uxterm gives that error uxterm tried to use en_US.utf8 locale by setting LC_All , I could bypass that issue if I edit that sh script LC_All=C or LC_All= or deleting Lc_all command completely or after that uxterm like same doesn't respond or opens

Please note that I am just an average person no knowledge ,at all, it maybe my fault and I have been trying following a lot of ubuntu website and
Some youtube videos but i ask them they don't reply , and i have been trying it for weeks to get to work , coz i can't do anything without terminal in desktop environment vnc ,

I couldn't find any other guide or information about ExaTermux I know it may be my fault being so noob , but i have been trying for weeks to understand and try Exatermux, and i don't want to give up, i want to run 32bit apps windows through exatermux

I know sir, You are a busy person ,I didn't know any other way to contact you coz I just texted here , if there is any way to contact,

Please considering helping me sensei plzzzz,

problem with dpkg

root@localhost:/# apt upgrade Reading package lists... Done Building dependency tree... Done Reading state information... Done Calculating upgrade... Done The following NEW packages will be installed: exfatprogs The following packages will be upgraded: bash bsdutils dbus dbus-user-session dpkg fdisk gpgv gzip libblkid1 libbluray2 libc-bin libc6 libcryptsetup12 libdbus-1-3 libexpat1 libfdisk1 libfreetype6 libgmp10 libgnutls30 libgssapi-krb5-2 libk5crypto3 libkrb5-3 libkrb5support0 liblzma5 libmount1 libpam-modules libpam-modules-bin libpam-runtime libpam-systemd libpam0g libpcre2-8-0 libpolkit-agent-1-0 libpolkit-gobject-1-0 libseccomp2 libsmartcols1 libssl1.1 libsystemd0 libtirpc-common libtirpc3 libudev1 libudisks2-0 libuuid1 libxml2 mount openssl perl-base systemd systemd-sysv systemd-timesyncd sysvinit-utils tzdata udev udisks2 util-linux zlib1g 55 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 0 B/29.8 MB of archives. After this operation, 383 kB of additional disk space will be used. Do you want to continue? [Y/n] y debconf: delaying package configuration, since apt-utils is not installed E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory) (Reading database ... 9023 files and directories currently installed.)
Preparing to unpack .../bash_5.1-2+deb11u1_i386.deb ...
clone: FATAL: attempted to create non-posix thread; clone_flags == 00004111
dpkg: error processing archive /var/cache/apt/archives/bash_5.1-2+deb11u1_i386.deb (--unpack):
new bash package pre-installation script subprocess returned error exit status 1
update-alternatives: using /usr/share/man/man7/bash-builtins.7.gz to provide /usr/share/man/man7/builtins.7.gz (builtins.7.gz) in auto mode
Errors were encountered while processing:
/var/cache/apt/archives/bash_5.1-2+deb11u1_i386.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
root@localhost:/#

--shared-tmp

Is there any possibility to add this --shared-tmp command line?

start-exagear.sh fails to start (line 362: force_no_proot: unbound variable)

Whenever I try to launch start-exagear.sh, it fails
Command I used:

./start-exagear login

Result:

    ░█░█░█▀█░█▀▄░█▀█
    ░░▀█░█▀▀░█░█░█▀█
    ░░░▀░▀░░░▀▀░░▀░▀

ExaGear for Termux by Zhymabek_Roman
Version: 3.0-stable, 2021-2023

Copyright (c) 2013-2019 'Elbrus Technologies' LLC. All rights reserved.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

System memory configuration is determined as 3g

Writing resolv.conf file (NS 8.8.8.8/8.8.4.4)...
Folder 'storage' in guest system not found. Creating....

Folder 'dev' in guest system not found. Creating....

./start-exagear.sh: line 362: force_no_proot: unbound variable

Cant find bin?

Ok so when i type ./start-exagear login it gives me this error.

~/ExaTermux $ ./start-exagear.sh login
░█░█░█▀█░█▀▄░█▀█ ░░▀█░█▀▀░█░█░█▀█
░░░▀░▀░░░▀▀░░▀░▀
ExaGear for Termux by Zhymabek_Roman Version: 3.1-stable, 2021-2023 Copyright (c) 2013-2019 'Elbrus Technologies' LLC. All rights reserved. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. System memory configuration is determined as 3g Folder 'bin' in guest system not found. The guest system is likely damaged. Exit...

But when i type ls.

~/ExaTermux $ ls LICENSE debian-i686-pd-v2.2.0.tar.xz README.md exagear-fs bin start-exagear.sh

Or mkdir

~/ExaTermux $ mkdir bin mkdir: cannot create directory ‘bin’: File exists
~/ExaTermux $

It says the bin file exists but the sh script cant find it, ill nano the script and check whats happening too.

Help

How to start and connect to vnc or wayland.
Need to install something like Xfce4?
And how do I start the exe programs I downloaded?

Shared memory do not work at all

Dear MR Roman, do you think, that it would be extremely complex to add The similar shared memory support, like in Proot for AArch 64 BIT systems? And how complex would be to recode Exagear so sound could work or espeak-ng could speak?
I have tested your app and for compiling and making packages, it is fast and reliable solution. Much faster than Proot usermode with qemu.
And no crashes.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.