Guide to Aseprite 1.1.6-dev on Android [NO ROOT, NO COMPILING]

Disclaimer

Hi, first of all. I want to say I post this guide just to help the community and try to open new opportunities for Aseprite. This guide uses an outdated Aseprite version (1.1.6) which still uses the GPL license (New source code license - Aseprite Devblog), so keep in mind some newer features will be missing. I own a copy of the program and I encourage everybody to buy it, so the developer has the resources to keep maintaining this amazing program.

If the developer finds that this guide can make him or the program any harm, I will delete it immediately.

Right now, there are no precompiled Aseprite versions for ARM architecture. I tried compiling it for Ubuntu but I couldn’t make it. The process is difficult and I’m just an amateur coder. My motivation for doing this was trying to get Aseprite work on my Samsung Tablet, given that there are not real alternatives on Android. I wanted to do this so I can do Pixel Art while I’m not at home.
After a lot of work I got it working using a precompiled version that is available in Debian 9.

How this works?

We are going to install Debian 9 inside Termux using a Script and run it whit proot privileges. We will use LXDE to create a Desktop environment and VNC to connect to it. Then we will install the precompiled Aseprite using the packages that is available from the repositories.

Keep in mind that you will need and external keyboard to use Aseprite using this method!

For this guide I used a Samsung Galaxy Tab A from 2016 and everything worked fluid, so I don’t think you need a high end device for this.

What would you need?

  • Minimal Linux knowledge.

Hardware

  • An Android Device: tablet, smartphone, etc. [No root needed].
  • A keyboard (I’m using Logitech K400) some models will connect directly to your device via Bluetooth. Otherwise, you will need a:
  • *USB – OTG adapter: beware that not all work for all device models, before buying check compatibilities.
  • *Stylus: so, you can directly paint on the screen. You will need a tablet with a good Stylus support. Right now, I’m using a capacitive one and it doesn’t have the needed precision.

Android apps

  • Termux
  • bVNC Secure VNC Viewer (there are other options on the Play Store but this has some functionalities that we will need):
  • *External Keyboard Helper: reassign keys to make it easier to work with Aseprtite.

Steps

  1. Install all the applications listed.
  2. Open Termux.
  3. Install some basic packages and update it.
pkg repo-root
pkg install tsu
apt-get update && apt-get upgrade
  1. Installing Debian: now we need to create the script that is going to download and install Debian 9. This is provided thanks to sp4rkie.

a. We will need to miminally modify the script to download Debian 9 Stretch instead of version 10. Copy the contents of debian_on_termux_10.sh (debian-on-termux/debian_on_termux_10.sh at master · sp4rkie/debian-on-termux · GitHub) on some text editor.

b. Replace line 9:

BRANCH=testing

To:

BRANCH=stretch

c. Then copy the modified content and create a file using nano in Termux:

nano termux-debian.sh

d. Paste the code inside the file and close it.

e. The we will install Debian 9 with the following code:

sh termux-debian.sh

f. When we finish installing it, we will directly get into the Debian subsystem. If you close Termux and want to get inside Debian again just run the same code we used to install it.

  1. Configure Debian:

a. Install some basic packages and update:

apt-get update && apt-get upgrade
apt-get install nano

b. Optional: correct some problems that appear when using de application manager. We need to edit > /etc/group and /etc/passwd with nano:

nano /etc/group
#Add new line, save and close file:
lightdm::7777
nano /etc/passwd
#Add new line, save and close file:
pulse:
:8888:8888:pulseaudio:/nonexistent:/usr/bin/nologin

  1. Install desktop environment. You can use XFCE or LXDE. I recommend the later because it uses less resources:
    XFCE

apt install xfce4 xfce4-goodies

LXDE

apt install lxde

–OR (minimal installation, I recommend the first one)–

apt install lxde-core

  1. Install VNC server (TigerVNC):

apt-get install tigervnc-standalone-server tigervnc-common

  1. Running VNC server for firs time. You will be asked to create a password. When it asks you if it will be view-only, chose NO. Just write:

vncserver

  1. Now, kill the server using:

vncserver -kill :1

  1. Create or modify VNC configuration file for the desktop environment. Depending on the version you have chosen you need to write different lines:

nano .vnc/xstartup

XFCE

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &


LXDE

lxterminal & /usr/bin/lxsession -s LXDE &

  1. Make sure that the configuration file can executed running:

chmod +x .vnc/xstartup

  1. Configure Aseprite. You can’t modify the windows dimensions of this Aseprite version using the menu. You will have to set the dimensions of the height and width manually modifying the following file:

nano /root/.config/aseprite/aseprite.ini

For me, the correct numbers where the real pixel dimensions of my screen device -20px.

  1. Now run the VNC sever:

vncserver

  1. Now go to bVNC viewer and create a new session. Complete the information as requested. Remember that you need the password you have configured before for the VNC server. As for the address you will need to write: 127.0.0.1:5901. The number before the colon makes reference to the localhost (your device), the number after is the port. 5900 + 1
  2. If everything goes right you will now be inside Debian. You will find Aseprite in the Debian menu, under a directory called “Graphics”. You can also hide the menu bar at the bottom, right clicking it and make it only appear when needed. This way you gain a little bit more space for Asprite.
  3. Open Aseprite, configure the right scale for UI and elements.
  4. When drawing you will see 2 mouse cursors (one from Aseprite and the other from the system). I don’t know how to disable the last one, but I have found that once you get used to it, it doesn’t bother you.
  5. *To use the Stylus for drawing you will need to change the input method from the bVNC menu. Note that there are three icons at the right. Here you can select how the input behaves, there are 4 options. Select the second one (direct method). This way, the arrow will move where the stylus contact the screen.
  6. Save Aseprite files in your Debian home directory, then you will be able to access them from your device using your favorite file manager. You might need to run the following code on Termux:

termux-setup-storage

  1. Done!

Please comment if you manage to make it work and share and tips or hints.

Cheers.

1 Like

First of all: Thank you so much for this HowTo. I was able to get Aseprite working on a Samsung S6 Lite Tablet on Android 11.

A few mistakes to mention in your howto:

  1. It’s pkg install root-repo, not pkg repo-root
  2. apt install aseprite is missing. Without, aseprite won’t be present.

I have 2 issues though:

  1. I can’t access files I stored in the Linux home folder from my android. Where is the folder to access the files from android?

  2. 1.1.6 is quite old. Did you manage to build the latest aseprite from scratch?

Thank you!

Hi Marcel86!

I’m glad the HowTo was useful and thanks for spotting the errors. Right now my Tablet is broken and I can’t remember the route to access the linux folder. Is point number 19, not helping you at all?

  1. Save Aseprite files in your Debian home directory, then you will be able to access them from your device using your favorite file manager. You might need to run the following code on Termux:

termux-setup-storage

Building a version newer than 1.1.6 is quite difficult because you need to know how to properly compile aseprite for your device (with is specific characteristics and processor). I tried for a while, but I quit because it seemed impossible. That is why I used this method.

Cheers!