• untoreh-light

Methods for accessing a remote desktop from an android tablet.

Streaming qualities, inputs configuration and hotkeys overrides...

Goal

have an usable environment on the tablet to program (with emacs).

The obvious(?) solution

Use the tablet as a thin client for the proper desktop setup.

Available protocols

Stand

I use a tablet /w mechanical keyboard because laptops with good mechanical keyboards don't really exist...do they? Or if they exist, they are expensive and the keyboard is flat anyway. Keeping the screen at the correct viewing angle requires a stand, or one of those holders with a bendable rod, with magnetic grips or clamps.

Input controls

I attach a mechanical keyboard to the tablet, with an OTG converter. Bluetooth would be fine too... The problem is android maps some quite common shortcuts that are used on windows, that use either META (ALT) or META (the windows key). And doesn't provide a way to disable them. KeyMapper partially works, in that it can disable the action from the android side, but I still can't forward the keycombinations.

Remote or native?

Is using a remote client all the good though? Maybe using emacs directly on android and using emacs remote capabilities is a more compatible setup? To install emacs on android you have to use chroots. UserLand makes it easy to create chroots of common distributions and directly start an XServer. However having a proper emacs experience requires still a lot of configuration. Would emacs-nox on termux be better then emacs-gtk through userland/VNC? Termux has support for x11 apps. It uses Xwayland to provide X11 support for apps, it appears to be much faster than xsdl x11 server, because (I guess) it uses shared memory for stream buffering (instead of TCP or unix sockets). There is still no HW acceleration support, my tablet carries a POWERVR GPU anyways which still hasn't any form of open source drivers (but apparently it is schedule to be released somewhere in Q2 2022). I have also successfully run a linuxdeploy configured chroot which doesn't have the overhead of proot on top of the termux-x11 server. However the chroot must match the wayland version (and maybe mesa too) of termux.

Conclusions

Considering the configuration costs of running emacs on the android tablet, at this point in time a remote session is still more convenient. If the X11 termux efforts plus the eventual release of a powervr driver end up being successfull the balance might shift towards a native setup.

If emacs had support for the android graphics stack It wouldn't be much of a choice anymore, but that's not the case, and there is apparently zero interest in it, (there is also zero interest in a touch interface too, so the best option for using emacs on handheld devices without a proper keyboard at this point would be emacspeak).

NixOnDroid could ease the configuration pains for adding all the tooling required by emacs, either that or the upcoming nix support for arm64.

There is still the problem of some keyboard shortcuts not passing through, to which common workaround is to map them to other shortcuts, thankfully there is a very powerful keymapping app for android. I will have to check on parsec battery consuption, and if it is too high I will consider either plain RDP, or simple a remote ssh session with emacsi in the terminal.

Post Tags: