# AidLux (AidLearning-FrameWork): a Linux desktop and on-device AI stack on Android

> AidLux runs a native Ubuntu environment alongside Android on ARM64 phones, tablets and dev boards, and bundles tooling for local model inference. Here is what the repository actually documents, and where it stays silent.

**aidlearning/AidLearning-FrameWork** — 🔥🔥🔥AidLearning is a powerful AIOT development platform, AidLearning builds a linux env supporting GUI, deep learning and visual IDE on Android...Now Aid supports CPU+GPU+NPU for inference with high performance acceleration...Linux on Android or HarmonyOS 

- Repository: https://github.com/aidlearning/AidLearning-FrameWork
- Website: https://docs.aidlux.com
- Stars: 5,811 · Forks: 718
- Language: Python
- License: NOASSERTION
- Published: 2026-09-22 · Updated: 2026-09-22 · Language: en
- Canonical page: https://hysenlabs.com/projects/aidlearning-aidlearning-framework

## The gap AidLux is trying to close: Android hardware with a Linux toolchain

An Android phone carries a capable ARM64 SoC, a camera, sensors, GPS and a battery, but it does not give you a normal Linux userland. AidLux targets exactly that mismatch. The repository describes it as a cross-ecosystem (Android/HarmonyOS plus Linux) AIoT development and deployment platform on ARM, and its stated idea is to lower the barrier to AI application development and release on-device compute with one step. The audience is narrow and specific: people building edge AI, robotics or IoT prototypes who want to run Python, OpenCV, ROS and model inference on hardware they already own rather than on a rented GPU. The README lists supported systems as Android 7.0 and later, HarmonyOS and Xiaomi HyperOS, on ARM64 devices, with recommended phones spanning Xiaomi 12S through 15 series, some Huawei Mate and P models, and Samsung S series, plus the Rhino Pi-X1 and Rhino Pi-A1 boards. If your device is not ARM64, nothing further in this article applies to you.

## Fusion architecture: shared kernel instead of an emulator

The mechanism the README names is a fusion architecture. AidLux shares the Linux kernel rather than booting a virtual machine or requiring a dual-boot restart, so the Android side and the Linux side coexist natively. That is the design decision everything else follows from. Because the kernel is shared, the Linux environment can call Android hardware drivers for the camera, sensors and GPS, while the same process tree can use the Linux AI stack: Python, ROS and OpenCV. On top of that sits the compute layer, AidLite SDK, which the README says schedules CPU, GPU and NPU together and is tuned for Qualcomm chips with INT4, INT8 and FP16 quantisation. The 2.1.0 release notes add that AidLite now supports Snapdragon 8 Gen 3 and newer, and that the QNN engine version was updated with changes to the inference logic in AidQNN. The practical consequence is that inference speed depends heavily on your chip. A device with a supported NPU and a matching quantised model is the intended path; an older or non-Qualcomm device falls back to whatever the CPU can do.

## Inside the toolchain: AidCode, AidTerminal, App Center and the AI services

Four pieces make up the day-to-day environment. AidCode is an interactive Python IDE with syntax highlighting and completion, an embedded terminal, and a Run Now button that executes and stops code. It can call Android APIs directly; the README gives droid.ttsSpeak as an example of triggering speech from Python. AidTerminal provides a command line consistent with native Ubuntu, with a bottom Touch Bar carrying Ctrl, Alt and Tab for touchscreens, multiple terminal tabs, and switching between an external keyboard and the on-screen one. The App Center installs both Linux applications such as VSCode and Firefox and Android applications onto the desktop, and the release notes say APKs installed through it now default to AidLux internal storage. For AI work there is AidGen and AidGenSE for generative inference and an HTTP service with RAG deployment, AidStream for audio and video stream handling including USB camera capture, and a preinstalled ROS2 Humble for lidar and robotic arm peripherals. The README claims support for close to 500 on-device models including Qwen3, Phi3, Deepseek and Stable Diffusion; treat that as a catalogue claim from the project rather than a verified per-model compatibility list, since the repository does not enumerate them.

## Installing AidLux and running your first Python script

There is no build step. You install an APK. The README offers two routes: search for AidLux in the Huawei, Lenovo or Xiaomi app stores, or download the APK directly from the link it publishes, which points at aidlux_2.1.0_latest_release.apk under file.aidlux.com. The README warns that if installation reports Permission denied, you should uninstall the old version, restart the phone, and install again. That error is attributed to leftover data from a previous version, and the same advice appears in the project's FAQ. After installing, you enter AidLux either through its local desktop or through a browser on the same network.

Once inside, open AidCode, write a script, and press Run Now. The README's example of calling an Android API from Python is a single call to droid.ttsSpeak. What you should see is the device speaking the string through its own text-to-speech engine, which demonstrates that the Python process is not sandboxed away from Android. For file work, the README maps storage explicitly: /home/aidlux is the working directory and the only one that supports file upload, /sdcard corresponds to Android internal storage, /media/sdi1 is for mounted USB drives, and /opt holds the preinstalled SDKs and system libraries. Put your project under /home/aidlux or the tooling will not see it.

## Where AidLux breaks: systemd, storage paths and chip dependence

The sharpest limitation is stated by the project itself. AidLux is based on the Android kernel and does not natively support systemd as PID 1, so software that expects it, such as HomeAssistant, will not run as packaged. The README points to community workarounds using proot or specific scripts, which means you are outside the supported path and dependent on forum instructions that the repository does not maintain. The second constraint is the file system mapping. Only /home/aidlux accepts uploads, so any workflow that assumes it can drop a model into an arbitrary path will fail silently or not at all. The third is hardware. Optimisation is described for Qualcomm chips, and the newest AidLite support starts at Snapdragon 8 Gen 3, so a device with an older or non-Qualcomm SoC gets the Linux environment but not the accelerated inference the project is known for. If your goal is simply to run a Linux desktop on a phone, that is a much smaller ask than running quantised models, and AidLux is heavier than you need. If your goal is training, not inference, this is the wrong tool entirely; nothing in the README suggests training workloads are the target.

## AidLux compared with a proot-based Linux environment

The closest alternative in the related searches is a proot-style Linux environment, the approach behind tools like Udroid and the manual Linux Deploy plus VNC route. The difference is architectural rather than cosmetic. A proot environment runs a userland on top of Android without sharing the kernel's device access in the same way, so it is portable across more devices and does not depend on vendor chip support, but it also does not give you the NPU or GPU acceleration path that AidLite exposes. AidLux trades that portability for hardware access: it is tuned for specific Qualcomm chips and specific OS versions, and in exchange the README claims CPU, GPU and NPU scheduling and quantised inference. If you want a Linux shell on almost any Android phone, proot is the more forgiving choice. If you want to run a quantised model on the phone's NPU and capture camera frames through AidStream, AidLux is the one making that claim. Neither is a substitute for the other, and the repository does not publish a comparison table, so the decision rests on whether your device is on the supported list.

## Maintenance, licensing and what a 2.1.0 upgrade costs you

The repository is not archived, and its last push was on 2026-04-02. The 2.1.0 release is dated 2026-04-01, which followed a long gap: the previous tagged release, v1.3.0, is dated 2022-10-11. That history matters for planning. Between those releases the project changed its name from AidLearning to AidLux and moved its documentation to docs.aidlux.com, so older tutorials you find in search results may describe a different layout, a different desktop, or a different download host. Inside 2.1.0 the desktop environment changed from Xfce to Ubuntu-desktop, which is the kind of upgrade that can break scripts touching desktop configuration. The README does not document a rollback path or an in-place downgrade procedure, and the only recovery advice it gives for a failed install is to uninstall, restart and reinstall. On licensing, the GitHub metadata reports NOASSERTION rather than a recognised SPDX identifier, while the README displays an Apache-2.0 badge and the repository contains a license.md file. That discrepancy is worth resolving with your own legal review before you redistribute anything built on it; this article is not legal advice, and the two sources do not agree.

## Conclusion

AidLux fits developers who own a recent ARM64 phone, tablet or Rhino Pi board and want a Linux desktop plus on-device inference without flashing a custom ROM. It does not fit anyone who needs systemd-managed services, x86 binaries, or a device outside the supported chip and OS range. Before installing, check three things: that your device is ARM64 and on Android 7.0 or later, that the APK version matches the one in the README download link, and that your working files will live under /home/aidlux, since the README calls that the only directory that supports file upload. If your workflow depends on a service that expects systemd as PID 1, stop here and look at a proot-based setup instead.

## FAQ

### What are some common frameworks used for deep learning?

The AidLux README does not list a set of deep learning frameworks by name. It describes loading ONNX and TensorFlow models through AidLite for inference, and mentions preinstalled Python, ROS and OpenCV in the Linux environment.

### Where do I download the AidLux APK?

The README gives two routes: search for AidLux in the Huawei, Lenovo or Xiaomi app stores, or download the APK from the link it publishes, which points at aidlux_2.1.0_latest_release.apk under file.aidlux.com.

### Why does the AidLux install fail with Permission denied?

The README attributes this to leftover data from an older version. Its advice is to uninstall the old version, restart the phone, and then install the new APK.

### Can AidLux run software that needs systemd, such as HomeAssistant?

Not natively. The README states that AidLux is based on the Android kernel and does not support systemd as PID 1, and it points to community methods using proot or specific scripts for cases like HomeAssistant.

### Which directory should I put my code and models in on AidLux?

The README designates /home/aidlux as the working directory and says it is the only directory that supports file upload. Other mapped paths are /sdcard for Android internal storage, /media/sdi1 for mounted USB drives, and /opt for preinstalled SDKs.

### Which devices does AidLux support?

The README lists Android 7.0 and later, HarmonyOS and Xiaomi HyperOS on ARM64 hardware, with recommended phones including Xiaomi 12S through 15 series, some Huawei Mate and P models, Samsung S series, and the Rhino Pi-X1 and Rhino Pi-A1 boards.

## Sources

- [aidlearning/AidLearning-FrameWork on GitHub](https://github.com/aidlearning/AidLearning-FrameWork)
- [Issues](https://github.com/aidlearning/AidLearning-FrameWork/issues)
- [Project website](https://docs.aidlux.com)
- [README](https://github.com/aidlearning/AidLearning-FrameWork/blob/master/README.md)
- [Releases](https://github.com/aidlearning/AidLearning-FrameWork/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/aidlearning-aidlearning-framework
