gitwtfhub

wtf is doan?

av2xn/doan — explained in plain English

Analysis updated 2026-05-18

30PythonAudience · developerComplexity · 5/5Setup · hard

TL;DR

An experimental project that runs a full Linux Xfce desktop natively on a rooted Android tablet or phone by taking over the display at a low level.

Mindmap

mindmap
  root((DOAN))
    What it does
      Native Linux desktop
      DRM hijacking
      Debian chroot
    Tech stack
      Python
      Xfce
      ADB and Magisk
    Use cases
      Tablet Linux desktop
      Display experiments
    Audience
      Advanced Android tinkerers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run a full Linux desktop directly on a rooted Android tablet's screen

REASON 2

Use Xfce apps like a terminal and file manager natively on Android hardware

REASON 3

Experiment with DRM level display hijacking on Android

REASON 4

Turn an old Android tablet into a makeshift Linux laptop

What's in the stack?

PythonDebianXfceADBMagisk

How it stacks up

av2xn/doanchandar-lab/semantic-wmdjlougen/hive
Stars303030
LanguagePythonPythonPython
Setup difficultyhardhardeasy
Complexity5/55/53/5
Audiencedeveloperresearcherdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · hard Time to first run · 1h+

Requires a rooted Android device and is explicitly experimental, the author warns it may cause device problems.

Wtf does this do

DOAN stands for Debian On Android Natively. It is an experimental project that lets you run a full Linux desktop, specifically the Xfce desktop environment, directly on an Android tablet or phone, displayed as if it were the device's own screen rather than through a remote connection or a virtual machine window. The project works by taking over the display system at a low level on a rooted Android device, using a technique the author calls DRM hijacking, so that a Linux Debian environment installed in a chroot can draw directly to the screen. This is different from running Linux inside a small window on top of Android, instead the Linux desktop effectively becomes what you see on the device. To use it, you need a rooted Android device, most easily with Magisk, a computer with Android's platform tools installed so you can use ADB to send commands to the device, and an active internet connection on the tablet or phone itself. The author recommends a specific non commercial Google system image as a starting point, though it is not strictly required. Setup can be done with an automated installer script provided for Windows, macOS, or Linux computers if you are using Magisk, or through a longer manual process that involves pushing files to the device, installing a chroot module, mounting several Linux filesystems inside that chroot by hand, configuring DNS, installing the Xfce desktop and its supporting packages, and writing a touchscreen calibration rule so taps land in the right place. The README is explicit that this project is experimental and could cause problems on your device, and it states the author accepts no responsibility for issues that come up. There is currently no way to exit back to Android without rebooting the device.

Yoink these prompts

Prompt 1
Walk me through the automated Magisk installation steps for DOAN on Windows.
Prompt 2
Explain what DRM hijacking means in the context of this project.
Prompt 3
Help me manually mount the Debian chroot filesystems described in the README.
Prompt 4
Show me how to fix a black screen issue after installing DOAN.

Frequently asked questions

wtf is doan?

An experimental project that runs a full Linux Xfce desktop natively on a rooted Android tablet or phone by taking over the display at a low level.

What language is doan written in?

Mainly Python. The stack also includes Python, Debian, Xfce.

How hard is doan to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is doan for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.