DroidDesk README

The project's README from github.com/orailnoor/DroidDesk. As one markdown file: README.md.

DroidDesk

Run a full Linux desktop on any Android phone. Not a terminal. Not an emulator. A complete desktop environment with direct kernel access -- VS Code, Blender, Metasploit, local AI, all of it.

Connect your phone to a monitor and it becomes a Linux PC. Unplug it and your entire setup comes with you.

[!IMPORTANT] DroidDesk is an independent GPL-3.0 open-source project that incorporates modified Termux:X11 components. It is not affiliated with or endorsed by Termux, Termux:X11, TUR, Canonical, or Ubuntu.

Video

Watch the video

What This Actually Runs

Everything below has been tested and confirmed working:

If it runs on Ubuntu, it runs here.

How It Works

The Linux environment runs through Termux with direct access to the phone's kernel. No emulation, no translation -- native performance.

The setup script installs a full desktop (XFCE4/LXQt/MATE/KDE) inside Termux using the Termux User Repository (TUR) for GUI apps. For tools not available in TUR (Wireshark, Metasploit, etc.), a Proot container provides a standard Ubuntu/Debian/Kali environment where you install anything with apt.

The automatic menu sync scans what you install inside Proot and adds it directly to your desktop app menu. No need to enter the container every time.

DroidDesk App (Standalone)

DroidDesk is also available as a standalone Android application that completely automates this process without requiring a separate Termux installation. It renders through an embedded Termux:X11 server running in its own Android process; the app does not use VNC.

Download the latest release APK from the Releases tab and sideload it to begin.

Requirements

For Monitor Output ( Optional )

Option A: USB-C Display Output If your phone supports display output over USB-C, just use a USB-C to HDMI adapter. Done.

Option B: Raspberry Pi Bridge For phones without display output (most mid-range phones with USB 2.0), use a Raspberry Pi Zero 2W as a bridge:

The Pi connects to the phone via USB tethering, detects the phone's IP automatically, and opens a VNC viewer to display the phone's desktop on the monitor.

Installation

Step 1: Install Termux

Download and install Termux from F-Droid: https://f-droid.org/en/packages/com.termux/

Do NOT use the Play Store version. It is outdated and will not work.

Step 2: Install Termux-X11

Download the latest APK from: https://github.com/termux/termux-x11/releases/tag/nightly

Install it on your phone. This is the display server that renders the desktop.

Step 3: Run the Setup Script

Open Termux and run:

curl -sL https://raw.githubusercontent.com/orailnoor/DroidDesk/main/termux-linux-setup.sh -o setup.sh
bash setup.sh

The script will:

  1. Update Termux packages
  2. Add X11 and TUR repositories
  3. Install your chosen desktop environment (XFCE4/LXQt/MATE/KDE)
  4. Set up GPU acceleration (Turnip for Adreno, Zink fallback for others)
  5. Install Firefox, Git, Python, and core tools
  6. Set up a Proot Linux container (Ubuntu/Debian/Kali)
  7. Create the App Bridge for automatic menu syncing
  8. Apply a modern dark theme
  9. Optionally set up VNC for remote access

Step 4: Start the Desktop

After installation completes:

bash ~/start-x11.sh

Then open the Termux-X11 app on your phone. Your desktop is ready.

Step 5: Install Apps Inside Proot

To install tools that are not in TUR:

bash ~/start-proot.sh
apt install wireshark    # or any other package
exit
bash ~/proot-menu-sync.sh

The app will appear in your desktop menu automatically.

Raspberry Pi Monitor Bridge Setup

If you are using a Raspberry Pi Zero 2W to output to a monitor:

Step 1: Flash Raspberry Pi OS

Flash standard Raspberry Pi OS to an SD card and boot the Pi.

Step 2: Install VNC Viewer on the Pi

sudo apt update
sudo apt install realvnc-vnc-viewer

Step 3: Copy the Launcher Script

Copy pi-launch_phone.sh to your Pi:

curl -sL https://raw.githubusercontent.com/orailnoor/DroidDesk/main/pi-launch_phone.sh -o ~/pi-launch_phone.sh
chmod +x ~/pi-launch_phone.sh

Step 4: Connect and Launch

  1. Connect the phone to the Pi via USB cable
  2. Enable USB Tethering on the phone
  3. Start VNC on the phone: bash ~/start-vnc.sh (in Termux)
  4. Run the bridge script on the Pi:
bash ~/pi-launch_phone.sh

The script auto-detects the phone's IP and opens a fullscreen VNC session on the monitor.

Optional: Auto-Launch on Boot

To make the Pi automatically connect when powered on, add to crontab:

crontab -e

Add this line:

@reboot sleep 15 && /home/pi/pi-launch_phone.sh

Commands Reference

Command What It Does
bash ~/start-x11.sh Start desktop via Termux-X11
bash ~/start-vnc.sh Start desktop via VNC (if installed)
bash ~/start-proot.sh Open Proot Linux shell
bash ~/proot-menu-sync.sh Sync Proot apps to desktop menu
bash ~/stop-linux.sh Stop all sessions

Notes

[!WARNING] Disable Child Process in Developer Options On some Android versions (MIUI, One UI, stock Android 13+), the system may kill Termux background processes and drop your desktop session. To prevent this:

  1. Go to Settings → Developer Options
  2. Find "Child process" (may be labeled differently depending on your ROM)
  3. Disable child process restrictions for Termux

Without this, long-running sessions (VNC, Termux-X11) may be killed by the OS without warning.

Credits

Created by orailnoor

License and third-party software

DroidDesk is independent software licensed under GNU GPL version 3 only. It is not affiliated with or endorsed by Termux, Termux:X11, TUR, Canonical, Ubuntu, or other upstream projects.

The Android application incorporates GPL-licensed Termux:X11 components and bundles other third-party software under their respective licenses. See:

The current compliance checklist includes unresolved source provenance, reproducible-build, custom-prefix bootstrap, and wallpaper-license work. Do not describe a binary release as fully compliant until the blocking checklist items are complete.

DroidDesk (orailnoor/DroidDesk)

Searching Database…

Что это?DroidDesk превращает Android-смартфон в полноценный Linux-десктоп с помощью Termux, Termux:X11, TUR и Proot, позволяя запускать прямо на телефоне приложения вроде VS Code, Firefox, LibreOffice, Blender и даже Metasploit.
Это просто приложение-эмулятор терминала?Нет — это не терминал и не эмулятор, а полноценная графическая среда с прямым доступом к ядру, которую можно подключить к монитору и использовать как настоящий Linux-ПК.
Как этим пользоваться — с монитором или без?Десктоп можно запускать прямо на телефоне через Termux-X11 — это быстрее, чем VNC, — или переключиться на VNC, когда нужен вывод изображения через мост на Raspberry Pi или удалённый доступ с другого устройства.
Нужно ли специальное железо, например определённый GPU?Конкретное железо не требуется, но GPU-ускорение лучше всего работает на Adreno — графике в смартфонах на Qualcomm Snapdragon; остальные GPU переключаются на более медленный программный рендеринг.
Android может в случайный момент убить мою сессию?На некоторых прошивках (MIUI, One UI, «чистый» Android 13+) система может незаметно убивать долгоживущие сессии Termux/VNC, если не отключить ограничение «Дочерние процессы» в настройках разработчика.
Чем режим Termux-X11 отличается от режима VNC?Termux-X11 работает прямо на телефоне и быстрее всего для автономного использования, а VNC нужен, когда требуется вывод изображения через мост на Raspberry Pi или управление десктопом удалённо с другого устройства.
Какую роль играет Proot в этой схеме?Proot запускает контейнер, который использует общий экран с нативным десктопом Termux, поэтому приложения, установленные внутри Proot, отображаются на том же экране, что и всё остальное.
Можно ли быть уверенным, что скачанная релизная сборка соответствует требованиям?Пока не полностью — в чек-листе соответствия проекта остаются нерешённые пункты: происхождение исходников, воспроизводимые сборки, бутстрап кастомного префикса и лицензирование обоев.
Какие приложения, кроме базовых, на нём запустятся?Помимо повседневных приложений, DroidDesk поддерживает тяжёлые программы: Blender для 3D, Metasploit для проверки безопасности и локальные ИИ-инструменты — всё работает нативно в Linux-окружении на самом устройстве.
Creator
orailnoor
Size
33 MB
Stars
4.2K
Age
5mo
Commits · 90 Days