## Trying to turn an ARM-64 -based, Android-hosted, prooted Linux Guest System, into a software development platform.

In a preceding posting I described, how I had used an Android app that does not require or benefit from having ‘root’, to install a Linux Guest System on a tablet, that has an ARM-64 CPU, which is referred to more precisely as an ‘aarch64-linux-gnu’ architecture. The Android app sets up a basic Linux system, but the user can use apt-get to extend it – if he chose a Debian 10 / Buster -based system as I did. And then, for the most part, the user’s ability to run software depends on how well the Debian package maintainers cross-compiled their packages to ‘AARCH64′. Yet, on some occasions, even in this situation, a user might want to write and then run his own code.

To make things worse, the main alternative to a pure text interface, is a VNC Session, based on ‘TightVNC’, by the choice of the developers of this app. On a Chromebook, I chose differently, by setting up a ‘TigerVNC’ desktop instead, but on this tablet, the choice was up to the Android developers alone. What this means is, that the Linux applications are forced to render purely in software mode.

Many factors work against writing one’s own code, that include, the fact that executables will result, that have been compiled for the ‘ARM’ CPU, and linked against Linux libraries!

But one of the immediate handicaps could be, that the user might want to program in Python, but can’t get any good IDEs to run. Every free IDE I could try would segfault, and I don’t even believe that these segfaults are due to problems with my Python libraries. The IDEs were themselves written in Python, using Qt5, Gtk3 or wxWidgets modules. These types of libraries are as notorious as the Qt5 Library, for relying on GPU acceleration, which is nowhere to be found, and one reason I think this is most often the culprit, is the fact that one of the IDE’s – “Eric” – actually manages to report with a gasp, that it could not create an OpenGL rendering surface – and then Segfaults. (:3)

(Edit 9/15/2020, 13h50: )

I want to avoid any misinterpretations of what I just wrote. This does not happen out of nowhere, because an application developer decided to build his applications using ‘python3-pyqt5′ etc… When I give the command:


# apt install eric



Doing so pulls in many dependencies, including an offending package. (:1) Therefore, the application developer who wrote ‘Eric’ not only chose to use one of the Python GUI libraries, but chose to use OpenGL as well.

Of course, after I next give the command to remove ‘eric’, I also follow up with the command:


# apt autoremove



Just so that the offending dependencies are no longer installed.

(End of Edit, 9/15/2020, 13h50.)

Writing convoluted code is more agreeable, if at the very least we have an IDE in front of us, that can highlight certain syntax errors, and scan includes for code completion, etc. (:2)

Well, there is a Text Editor cut out for that exact situation, named “CudaText“. I must warn the reader though, that there is a learning curve with this text editor. But, just to prove that the AARCH64-ported Python 3.7 engine is not itself buggy, the text editor’s plug-in framework is written in Python 3, and as soon as the user has learned his first lesson in how to configure CudaText, the plug-in system comes to full life, and without any Segfaults, running the Guest System’s Python engine. I think CudaText is based on Gtk2.

This might just turn out to be the correct IDE for that tablet.

(Updated 9/19/2020, 20h10… )

## I now have a new tablet.

According to This Earlier Posting, an Android-based tablet which I’ve owned for several years, is dying. I have now received my replacement for it, in the form of a “Samsung Galaxy Tab S6″, and the version of that tablet which I have, is not the ‘Lite’ version.

Beyond that, I have read that many other customers were having problems, attaching the (dedicated, Samsung-provided) Keyboard / Case, for which reason I did not buy that. Instead, to go with that tablet, I have purchased the “Feitenn Galaxy Tab S6 Keyboard / Case“. One fact which must be expected, however, from this third-party Keyboard, is that it will connect to the Tab S6 – electronically at least – the same way any Bluetooth Keyboard would connect, and in so doing, it will also fail to trigger the ‘Samsung DeX mode’, by which that brand of tablet can behave more, the way a regular desktop or laptop would behave. (:1)

For the moment, the new tablet will just continue to behave, as an Android tablet. Yet, Samsung left in the possibility of their famous Multi-View feature, which is available as long as ‘DeX mode’ is not.

As for the question of, whether that amounts to a positive experience, only time will tell.

What I do know is the fact that, the Feitenn Keyboard / Case attaches mechanically, while the dedicated case from Samsung would have attached partially by way of suction, and partially, magnetically.

Additionally, I benefit from the “Samsung S-Pen” – supplied with the tablet – that attaches to the outside of the case magnetically, and that charges wirelessly, as long as it has been attached, oriented correctly. With the Feitenn Case, that S-Pen also receives protection from ‘just falling loose’, while the case is fully closed. (:2)  The flap of the Feitenn Case has magnets to hold it closed against the back of the tablet, as well as, to signal to the tablet to go into standby.

(Updated 7/19/2020, 16h40… )

## My Google Pixel C tablet is nearing the end of its life.

One of the facts which I did blog about was that, around April of 2017, I had purchased a Google Pixel C Tablet, which, in the meantime, had an O/S Upgrade to Android 8.1.0. That tablet is nearing the end of its life, and it’s barely 3 years old.

Firstly, it has not been receiving any system upgrades since 2019.

Secondly, as of a few months ago, it has started the behaviour of ‘spontaneously rebooting’ every few weeks, even though all I’ve been doing with it was, to keep it idling.

Some people tend to dismiss this behaviour of certain Android devices, just spontaneously to reboot, as if it was insignificant. But to the contrary, I tend to look at this as a crash each time, just as if a PC running Windows had suddenly received a Blue Screen. It can be caused by several things, but in this case I’m afraid, it might be a hardware problem, especially, since I have not been installing much software on it, nor receiving System Upgrades, at least, in the recent months.

Therefore, I am looking for a replacement, Android, Tablet.

BTW, The dedicated keyboard that came with this tablet has continued to work, to this day. I guess that I was lucky, not to receive a keyboard with a degraded built-in battery.

Dirk

## I now have Linux installed on my Google Pixel C tablet.

As the title of this posting suggests.

I used the Android app “UserLAnd“, which does not require root. The most recent versions of this app offer a VNC Server, which emulates an X-Server within the Linux system. And the implementation of VNC is ‘TightVNC’. Plus, the latest versions of this app offer a built-in VNC Viewer, that I find makes the most, out of the tiny icons that display on the high-res screen, as well as out of the fact that often, users will want to operate the GUI with their fingers, along with the physical keyboard that my Pixel C pairs with (:7) …

The setup of this Linux Guest System is much easier than my earlier experience was because the basic Linux distribution, the desktop manager, and certain apps can all be installed just by tapping on a few icons. And then, using the ‘sudo apt-get’ command-line, additional Debian packages can be installed.

There is an interesting side effect to this project: When I give the command:

\$ cat /etc/debian_version

I obtain the result ‘10.0‘. This would mean that the Linux version which I’m getting, is the new Debian / Buster, which none of my PCs nor my Laptop are even running. However, the repositories that I’m subscribed to are labelled ‘stable’. The CPU is an ‘arm64′. And the desktop manager I chose was ‘LXDE’. I installed a full productivity suite, including LaTeX. But, I found that three Linux applications did not run:

• LyX – The graphical, WYSIWYM LaTeX Editor (:2).
• Synaptic – A GUI for apt-get that makes it particularly easy to browse package-repositories, before selecting which packages to install.
• Latexdraw‘ (:1) (:6).

Everything else I tried seems to work, including “LibreOffice”, “GIMP”, “InkScape”, “Firefox ESR”. On my own, without the aid of simple GUI-buttons, I was also able to install and run “Texmaker”, “Dia”, “Xfig”, “OpenClipArt”, “Maxima” and “wxMaxima”, the Computer Algebra System and its Graphics Front-End. Getting that last item to work properly actually required that I install the package ‘fonts-jsmath’.

The Linux Guest System is currently taking up 5.37GB of my internal storage, and I finally also found out how to share files between the Guest System and the Host System. Within the Guest System, if on the Host System the root of the user folders is ‘/root/<sdcard>’, then this Host System root is mounted at ‘/host-rootfs/<sdcard>’ (within the Guest System). This means that I can open a path directly to this folder in the file-manager ‘PCManFM’, and bookmark it. (:3)

(Updated 9/07/2019, 17h40 … )