FOr Me as A visually impaired user The most safest way is to use Debian, Proot special C app and some script which install Debian for Aarch64 architectzure by using Debian debootstrap. Sure. I will never get full access to The device, but to run many apps, this solution work. I Am using Bvnc for Android and Vnc protocol support to run Mate desktop and other X11 apps. Advanced programmers who are concentrated around Termux community are doing their best to even support shared memory.
My most painful and nonsolvable issue is with sound support while working with speech engines. Android 7.1 had issues with Pokedata sys call which is being used frequently by Proot. But sound feetback have been excellent. Like I would run Debian apps on normal Linux system, really. But with Android 8 upgrade from Huavei. Pokedata have been repaired. But when I Am using speech engines, I Am getting sound delay. I Am helpless to solve such complex issue. Pulseaudio uses Opensless protocol to transfer data to some module, which play The sound. May be, that Android 8.0 contain some sound kernel device drivers update or binary Android service update, which is responsible for receiving data transferred by using Opensless protocol. In this case, I can not over come this problem. It seems to Me, that some module makes some software sleep. So if short chunk of audio data is being plaied with for example one SEC delay between every sound chunk, there is some time to initialize. Sure. SPeech-dispatcher code do something what prevent sound chip to sleep, so I can hear The sound of The ending transistors from my amplifier even for A whole night. Sure. To prevent sound chip crash, I always terminate Speech-dispatcher before I go to A bad to be sure, that chip can get sleep correctly. But eventhough this feature exist, I Am getting sound delay when typing on A keyboard with A random period of time while writing characters, which are being pronounced while typing by Espeak. All engines for speech are causing this problem. It is really Android kernel specific issue. Shared memory is being solved by a little C library to support SHMGET and other similar shared memory operations. There is also //dev/shm virtual folder which support other shared memory operations.
