Octave for Android: Difference between revisions

From Octave
Jump to navigation Jump to search
(Drop Samsung Linux on Dex https://www.omgubuntu.co.uk/2019/10/samsung-linux-dex-cancelled)
m (remove duplicate line)
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
== Termux ==
== Termux ==


[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid].
[https://termux.com Termux] is a Terminal Emulator for Android. You can install it from [https://play.google.com/store/apps/details?id=com.termux Play store] or [https://f-droid.org/repository/browse/?fdid=com.termux F-Droid]. You don't need a rooted device to use Octave with Termux.


=== Direct Octave installation ===
=== Direct Octave installation ===
Line 13: Line 13:
</syntaxhighlight>
</syntaxhighlight>


However, graphics capabilities are not available with this approach.
OpenBLAS is installed by default, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal.  


=== Via some Linux distribution ===
For graphical plots, [https://wiki.termux.com/wiki/Graphical_Environment#Desktop_environment_.28XFCE.29 install] a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit `gnuplot` is known to work in this method.


Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine (this consumes less disk space). Octave can be installed as descried in [[Octave for GNU/Linux]] from the distribution's respective package manager.
[[File:Octave in Termux.png|thumb|GNU Octave running directly in Termux]]


To use Octave's graphical capabilities, the installation of a desktop environment and the usage of a VNC Server is required.  (Please add more information how to do this here.On many android devices, only the graphics toolkit "gnuplot" is known to work.  Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment.
 
=== Via some GNU/Linux distribution ===
 
Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space.  Octave can be installed as described in [[Octave for GNU/Linux]] from the distribution's respective package manager.
 
To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work.  Several apps (e.g. [https://github.com/EXALAB/AnLinux-App Anlinux], [https://andronix.app/ Andronix]) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the [https://docs.andronix.app/vnc/vnc-basics Andronix docs] for an overview of setting up the VNC server.
 
'''Optimizing performance''': Installing [https://github.com/xianyi/OpenBLAS/wiki/Precompiled-installation-packages/ OpenBLAS] (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.


== GNURoot Octave ==
== GNURoot Octave ==

Revision as of 17:26, 11 March 2021

Termux

Termux is a Terminal Emulator for Android. You can install it from Play store or F-Droid. You don't need a rooted device to use Octave with Termux.

Direct Octave installation

You can directly install Octave in Termux using the repository by its-pointless.

wget https://its-pointless.github.io/setup-pointless-repo.sh
sh setup-pointless-repo.sh
apt install octave

OpenBLAS is installed by default, and this method provides much better performance compared to Octave installed inside a GNU/Linux distro running in Termux. By default, Octave only plots with ASCII characters in the terminal.

For graphical plots, install a graphical environment like xfce, and use octave with a vnc server. Only the graphics toolkit `gnuplot` is known to work in this method.

GNU Octave running directly in Termux


Via some GNU/Linux distribution

Inside Termux in Android, you can install a Linux distribution like Debian, Ubuntu, Arch or Alpine. Note that Alpine consumes relatively less disk space. Octave can be installed as described in Octave for GNU/Linux from the distribution's respective package manager.

To use Octave's graphical capabilities, one needs to install a desktop environment, and a VNC server in the GNU/Linux distro, and one also needs to install a separate VNC viewer app in the Android phone (can be installed from Play Store/F-Droid). On many android devices, only the graphics toolkit "gnuplot" is known to work. Several apps (e.g. Anlinux, Andronix) are available to easily install the Linux distribution of your choice, and setting up the desktop environment. Refer to the Andronix docs for an overview of setting up the VNC server.

Optimizing performance: Installing OpenBLAS (with the distribution's package manager) to replace the system's BLAS libraries may tremendously increase the performance of Octave.

GNURoot Octave

The Android app GNURoot Octave in the Google play store is built and maintained by Corbin Champion. However, note that these repositories have not been updated for several years. It is not part of the GNU Octave project. Thus please use the following GitHub pages for questions and bug reports:

The implementation has been done in close cooperation with the Octave developers and makes use of the Octave source code without essential changes. Thus, it is fully compatible with the versions of Octave on other platforms.

Some probably outdated build instructions for the older "octave4android" app: