Skip to main content

How to use Termux X11 - The X server on Android phone

Smartphone Termux Tutorial Termux
Table of Contents

🇹🇼 中文版

Termux X11 is a Termux plugin app which allow you to run X server on Android phones. It is a X server app that compatible with Termux. What does this mean? First of all, it can be used to run Linux desktop programs under the X11 protocol, and the graphical performance is better than VNC server. Termux X11 has lower overhead than using vncserver and vnc client.

In addition, you can also achieve 3D hardware acceleration through the experimental VirGL server (virglrenderer)in Termux.

Termux X11 can be used with mouse and keyboard, or with touching gestures. Just setting the appropriate desktop resolution so you could interact with the desktop environment using your phone’s keyboard.

1. Install Termux X11
#

Termux X11 is still in Beta stage. (rolling release)

  1. Install Termux

  2. Download latest Termux-x11 APK from Github Releases. Download the Termux X11 APK.

  3. Unzip the archives and install Termux-x11 apk.

  4. Launch Termux, instal x11-repo. Then install termux-x11-nightly

pkg update
pkg install x11-repo
pkg install termux-x11-nightly

2. Usage 1: Run X11 apps in Termux
#

Personally, I recommended you to use Termux X11 with proot-distro because Termux has fewer package than proot-distros.

Here I only briefly test XFCE4, GIMP, and Firefox.

  1. Open Termux X11 APP and you will see this

  2. Go back to Termux. Install XFCE4 and GIMP

pkg install xfce gimp
  1. Launch XFCE4 with dbus-launch
termux-x11 :0 -xstartup "dbus-launch --exit-with-session xfce4-session"

If you encounter Make sure an X server isn't already running(EE) error, close Termux, then “Force stop” and “Clear cache” Termux and Termux X11 App in Android system settings.

  1. Now you should see XFCE4 runnning in Termux X11.

  2. You could change Touchscreen input mode in Termux X11 preferences in notification bar.

  3. If the font is too big, open System settings → Appearance → check Cutsom DPI. You can also set display resolution in Preferences of Termux X11 APP.

  4. Press CTRL+C in Termux to stop XFCE4.

3. Usage 2: Run X11 apps in Proot-distro
#

  1. Install a proot-distro. For example Debian or Arch Linux.

  2. Open Termux X11 app. Then go back to Termux.

  3. Login to proot-distro as a normal user with --shared-tmp.

proot-distro login --user user debian --shared-tmp
  1. Launch desktop environment. For example, XFCE4
termux-x11 :0 -xstartup "dbus-launch --exit-with-session xfce4-session"
  1. While in Termux X11, you can activate phone keyboard by pressing back button. I suggest you to install Hacker’s Keyboard for using desktop shortcuts.

  2. Proot-distro have more packages than Termux. For an instance, it is possible to play Minecraft with MultiMC.

4. Usage 3: Run X11 apps in chroot
#

Root permission is required.

  1. Setup chroot Ubuntu

  2. Launch Termux X11 APP

  3. Go back to Termux, start Termux X11

termux-x11 :0 -ac &
  1. Mount Termux’s tmp to Ubunut’s tmp
sudo busybox mount --bind $PREFIX/tmp /data/local/tmp/ubuntu/tmp
  1. Log into chroot Ubuntu
sh /data/local/tmp/startu.sh
  1. Start XFCE4
sudo chmod -R 777 /tmp
export DISPLAY=:0 PULSE_SERVER=tcp:127.0.0.1:4713
dbus-launch --exit-with-session startxfce4 &

5. Starting Wayland session in Termux
#

Termux-x11 is a X server. However it is possible to start a nested Wayland session in it.

Just intall weston and launch it in the terminal:

weston

6. GPU Acceleration in Termux X11
#

See: virglrenderer: Termux GPU Hardware Acceleration Tutorial

Related

How to install proot Ubuntu in Termux on Android phone (Desktop + Audio + One-click starter)
Smartphone Termux Tutorial Termux Ubuntu
How to run Windows programs on Android with Box86 + Wine in Termux Proot
Smartphone Termux Tutorial Box86 Box64 Wine Termux Raspberry Pi
virglrenderer: Termux GPU hardware acceleration tutorial
Smartphone Termux Tutorial Wine Termux

Leave a comment

Choose the comment system you like. Giscus for codes, Disqus for anonymous comments.

Please login to your Github account to leave a comment. You can post codes here for discussion. For images, please upload to Imgur and copy links. Your comments would be visible to everyone on Github Discussions.

This comment system is provided by Disqus, you may see forcing Disqus ADs on this page. Sometimes your comment may need to be reviewed, resulting in delayed display. Thank you for your understanding.