Meta

I now have LyX working properly, on my Linux tablet.

According to This Earlier Posting, I had installed “GNURoot (Debian)” and “XSDL” on an old tablet, that are both Android apps available from Google Play, and which do not use ‘root’. There were numerous Linux-applications which would run, and many more that do not. I had also installed numerous Linux-packages that can collectively be referred to as “LaTeX” on that tablet, which actually just means by itself, command-line programs. Yet, even when typesetting using ‘LaTeX’, it’s often more fun to use a GUI. And the Linux-application “LyX” is such a GUI.

So, I have the hypothetical ability to do serious document-work on that tablet, even though the tablet is only using an emulated mouse, and “Hacker’s Keyboard”, and the mentioned emulated X-server.

What I recently did, was to get LyX to work properly:

According to an earlier account, I had already listed ‘LyX’ as software that will run, but had not tested it.

The main reason this does not work out-of-the-box, is the fact that ‘XSDL’ only emulates bare X-server-protocol, which was the initial protocol invented by Linux, and today, the vast majority of Linux applications require at least, that shared memory be available between the application and the X-server.

In fact, as soon as applications make use of ‘Qt5′, this typically starts to invoke hardware-acceleration, and will still not run under my present setup, because again, the Linux guest-system has no access to actual graphics hardware.

But the authors of ‘GNURoot’ actually offer a (Linux-linked) shared library which we can script into an application-launcher, that shared library making the Android (host system) shared memory, the shared memory that one (guest-system) Linux application will use. Further, this shared library – a separate download – is recognized by ‘XSDL’. So in certain cases, applications that can work with shared memory can be made to work with GNURoot and XSDL.

I do this by setting the ‘LD_PRELOAD’ variable in a shell-script, which I can click on, in the Linux guest-system, once the desktop is displayed.

I am happy to say that ‘LyX’ is one application that runs. Its fine GUI-toolbar now displays properly, and in many cases where shared-memory support is not available, the first sign of it is, the toolbar not displaying properly.

NB:

The way I create a screen-shot on that tablet, is with a palm-swipe across the screen, right-to-left. But Samsung Tablets are also famous for allowing multi-views, for certain apps, which can also be activated by swiping in from the very edge on the right. It was not really my intention to include this in my first screen-shot.

But, since the Tab S indicates that ‘XSDL’ is compatible with multi-view, I next wanted to find out, whether to try using it would cause Linux to crash. And what I discovered is that making the Linux desktop part of a multi-view, squashes the desktop, but does not cause a crash:

So here, I pulled out my Android Contacts app – intentionally, this time. I can just make that slide back to the side again, and continue with Linux.