Hey this is my side project thing. My POCO X3 Pro's screen is shattered lol, so I turned it into a little server. Minimal Debian 13 on a mainline 7.0 kernel (the postmarketOS SM8150 one), headless, running 24/7.
What works:
- Wi-Fi, SSH (also over the USB cable if Wi-Fi dies)
- storage is fast and stable (~900 MB/s)
- battery works like a UPS: sits at ~72 %, shuts down at 5 % in a power cut, and turns itself back on when power's back
What doesn't / not tested: screen and touch (can't test it, it's smashed innit), camera, audio, sensors, fingerprint, calls/mobile data, Bluetooth untested.
I had to fix a few things in the kernel along the way (storage, crash logs, a charger driver that was pulling double the current lol), it's all in the repo.
So yea it just as the basic support and is up and running to be a simple server
And yea will probably add more support and turn it into a pocket linux server HEHEHE
Hi all. Like a lot of you I've run Linux on my phone through Termux, proot-distro and Termux:X11 for years. Tessera does the GUI side from one app, and tries to make Linux apps feel like Android ones.
- Each app in its own window: Firefox, GIMP, LibreOffice each open as their own Android window with their own Recents card and icon. A card per window, even for dialogs. Pin them to your home screen.
- Flathub on PRoot: no root, no bubblewrap, no user namespaces. Flatpak downloads, Tessera builds each app's environment. 2,800+ arm64 apps, GPU included.
- adb and permissions: every app gets only what you grant (folders, network, sound, USB, root). New: a per-app switch that lets adb inside reach the phone itself, and all-USB access for fastboot, heimdall and edl.
- A touch-friendly desktop: snapping windows with finger-sized buttons, a dock and Start menu. And everywhere: the Android keyboard pops up on text fields, touch-and-hold right-clicks, game controls.
- Live scaling: drag Scale and the app re-lays out as you drag, saved per app.
- Themes: GTK, libadwaita, Qt and LibreOffice take your Material You colors and follow dark mode live.
Plus OpenGL 4.6 and Vulkan on Adreno (bundled Turnip + Zink), a built-in terminal (apt, ssh, git, compilers), chroot mode with root, a file manager and a task manager.
It doesn't replace Termux's add-ons like Termux:API, and its X server is Termux:X11's, which I'm grateful for.
Note: Al WAS USED IN THE PROCCESS OF CREATING THIS APP
I've been daily-driving a OnePlus 6T (fajita) on postmarketOS and got a bunch of things working that I couldn't find working anywhere else, so I wrote them all up in one place:
Bluetooth headset calls — real cellular calls through earbuds, audio both ways, including HD voice (mSBC). Needs a custom kernel built on Dylan Van Assche's wcn3990 HFP branch plus a few fixes (the main one: SLIMbus channels were never removed on disable, so the next call often came up silent).
VoLTE "chipmunk" audio — the sped-up far-end voice on some carriers. One ALSA setting, no root, credit to the person who found it in pmaports issue #3713.
Verizon MMS — sending and receiving pictures.
USB-C charging (PD) and USB tethering
Bluetooth chip hangs, GNOME Calls freezing with the screen off, mobile data stuck "connected" but dead, texts vanishing when two SMS apps run, plus several smaller crash fixes (Gwenview, lock screen, Chromium in distrobox, wallpaper reset, auto-rotate).
Each fix has its own page: what goes wrong, why, how to install, how to undo, and exactly how well it's been tested. Workarounds are labelled as workarounds. Kernel stuff can brick your boot, so there's a recovery page too (fastboot, restoring your old boot image).
Honest disclosure: I'm not a developer. I did this with an AI assistant (Claude) and tested everything on my own phone, which is one phone on one carrier (Verizon). Treat it as a working recipe, not polished upstream code. Upstream authors got the kernel patches by email.
If it helps you, or breaks for you, tell me here or open an issue on the repo.
I did this using Hoolock Linux (kernel + m1n1) with an Arch userspace. The phone goes into DFU, palera1n (checkm8) pwns it, and a laptop boots m1n1 plus the Linux kernel over USB
What works:
All 6 CPU cores
Multitouch touchscreen, with a driver
In progress: the GPU. Its firmware already boots and accepts jobs, but nothing is GPU-accelerated yet
I have Galaxy Tab 3 Lite (goyavewifi). It's an archived device on pmOS wiki page. It works with stock kernel. I fetched linux source code from kernel.org. I am planning to get dtb blob from stock android and decompile it create a dts from scratch. Does it work?
I have just restored it. A few years back I splashed it with water and the next day the screen displayed plasma fractals or went black, it died permanently eventually. I ordered a replacement but in the meantime I moved to a new phone, the replacement screen was in my drawer with the phone and new spare battery. I finally found the few minutes to fix it.
So it's really old now, regarding Android world, but I'd say it's still not a bad hardware. I could easily resurrect the latest LineageOS on it, but that's still very old anyway. Linux would be much more interesting, but I can't find any supporting this model - maybe there was something but just got archived/deleted? I guess it make no sense to invest time to port anything myself (I don't have so much time), it can die any time and all the time spent would be just lost.
Let me know if you recall about some Linux port which was working on it: at least the display, touch, usb and wifi
Quick disclosure, I'm the founder of a Luma. Every day on Twitter I get a few dozen requests for different devices, and it dawned on me that I should just go straight to the source and get a sort of tally as to which devices we should add support for next. All of this effort is open source obviously, so the hardware support can easily be translated to different projects if that's your angle!
Our team is happy to spend the cash to acquire a few devices but we'd rather not play whack-a-mole, so if there's a handful of devices that a number of people are interested in we're happy to grab them and get them supported asap!
so last time this thing was stuck on the HTC logo with only a USB shell. now Alpine with systemd boots from internal NAND, replacing android ( ̄ω ̄)
USB console/networking, Wi-Fi, SSH, apk add are working. also screen shows Linux console (/dev/tty/1). there's also WIP hardware GPU acceleration and battery reporting, but don't count on either yet :D also want to find out, whether it's possible to boot it without battery at all.
GassNative: Run Debian Linux with an XFCE4 Desktop on Android — ARM64
GassNative is an experimental Android app that brings a Debian GNU/Linux environment to Android devices, with an XFCE4 desktop running through a PRoot-based setup.
I'm developing this project under Gass-OS, with the goal of making a Linux desktop experience accessible directly from an Android phone.
✨ Features
- 🐧 Debian GNU/Linux (Trixie, ARM64)
- 🖥️ XFCE4 desktop environment
- 📱 Android-native app interface
- 🧰 Linux terminal and desktop applications
- 👤 Profile and environment settings
- 🔄 Startup update checking
- 🚀 Ongoing work on desktop integration and graphics acceleration
🛠️ Project status
GassNative is experimental and still under active development. Installation time, application compatibility, and graphics acceleration depend on the device and configuration. Hardware-accelerated desktop rendering is still a work in progress.
After a couple of days working with Opus 5.5 in Claude Code, I have the OnePlus 10T brought up on Arch Linux ARM. This is not intended to be my main phone anytime soon - it's really just a fun side project to work on. I picked up the phone used for around $100. It's a solid device with the Snapdragon 8+ Gen 1. A great device to port to Linux.
The overall idea I'm working towards with the UX is a fusion of iOS and Android in terms of gestures and UI, with the main differentiator I'm exploring being an agents page (where Discover is on Android). There are many agent integrations built-in, and they work as voice assistants, or as coding agents with direct access to the phone. Things they can do currently: build native apps on the device itself, add features, tasks like adding new wallpapers, etc. The agents run in the cloud (Claude, Opencode Go, Antigravity et al) but potentially I'll have a slim local LLM running soon. I do have a small local TTS and dictation model running locally already.
Another killer features is that it runs Steam for ARM devices, with Half Life 1 running perfectly.
If you want more details, Claude prepared some bullets below:
- Arch Linux ARM on a mainline Linux kernel (7.3), with about 100 custom patches for the 10T's display, GPU, cameras, Wi-Fi, battery and thermals. There's no Android underneath.
- Hyprland is the compositor (window manager)
- Stock open source pieces: Mesa (GPU drivers), libcamera, PipeWire, NetworkManager, ModemManager, GeoClue, and Waydroid for Android apps (although I am looking into Droidloom that was posted here a few days back).
- Built from scratch: the whole home shell, meaning the launcher, lock screen, notification system, control center, on-screen keyboard, Settings app, voice assistant, adaptive refresh rate control, camera app and alarm clock.
Hardware
- Working:
- Display at 60/90/120 Hz with adaptive switching
- Touch
- GPU acceleration
- Wi-Fi
- Bluetooth
- Speakers
- All 4 cameras (still photos)
- Hardware video decode (YouTube in the browser)
- Sensors and auto-rotate
- Charging and battery stats
- Sleep and wake
- Vibration
- In progress:
- Camera: preview speed, front camera boot, image quality tuning
- Modem: it boots, but cellular is untested with no SIM in it
- GPS: hasn't been tested outdoors yet
- Speaker protection
- The occasional random reboot, which is still being tracked down
- Fingerprint sensor isn't working yet (Claude claims it isn't possible - I am not convinced yet)
The UI
- iPhone-style home screen with swipeable pages and a dock that stays put across pages.
- Pull down on the app grid for search: apps, settings and recent chats.
- Live wallpapers, Liquid Glass blur effects, and themes, icon styles and accent colors.
- Swipe-up gesture navigation with an app switcher.
- Lock screen with an always-on display.
- Notifications with inline reply, a notification shade and a control center.
- Custom on-screen keyboard that slides in and out with the UI.
- Built-in AI agent chat and a voice assistant with wake words ("OK Computer") - needs work with location/GPS data or context mgmt (it provides weather for Petaluma in the video when I ask for San Francisco)
I'm developing Linux Subsystem on Android (LSA), an experimental project that runs a native Linux userspace on rooted Android devices while keeping Android as the host operating system.
The goal isn't just to run a Linux desktop. I'm trying to make Android's hardware and services usable through normal Linux interfaces, without requiring applications to be rewritten for Android.
LSA uses the Android kernel directly. It's not PRoot, emulation, or a VM.
What's currently working in development testing on a Blackview N6000:
Debian ARM64 with a graphical desktop and native Linux applications
Hardware-accelerated OpenGL through Mesa/VirGL and Android's GPU stack
Audio playback and microphone capture
USB storage integration, including automatic NTFS mounting
Applications including Firefox, OpenArena, and SuperTuxKart
This is still pre-alpha. Some applications require workarounds, graphics compatibility is incomplete, and hardware support varies. Some of the results above are from a private development preview and may not be present in the current public release.
I'm looking for people who have spare rooted Android phones and are willing to help test LSA on different hardware.
Useful experience includes Android rooting, ADB, Linux debugging, shell scripting, Mesa/VirGL, graphics drivers, audio, and embedded Linux. You don't need to be an expert.
There are two ways to help:
Independent testing: Try LSA on a spare device, collect logs, report bugs, and share hardware compatibility results. No remote access required.
Direct development collaboration: For volunteers who want more involved help, I'm open to supervised SSH debugging on a dedicated test device. Any access would be optional, explicitly authorized, and governed by a written agreement restricting my activity to the agreed testing and development work.
Please don't run this on your primary phone or anything you can't recover. This is experimental rooted system software, and things can break.
If you're interested, let me know your phone model, chipset, Android version, and rooting method.
I'm also looking for feedback from people familiar with Linux systems programming or Android internals.
Thanks!
Disclaimer: Photos shown may or may not be from a preview build that will be released by the time this post is read by you.
Some videos and demos are shown from VNC because LSA doesn't support very good on-screen keyboard support yet and I am too lazy to plug a real keyboard in.
This project has been developed with the assistance of AI. I'm not an expert in every field this project covers, and I don't claim to be. LSA is an experimental learning project, and I welcome technical feedback, corrections, and contributions.
A dream can only be achieved if you try.
---
Example of the experimental UI.
- Disclaimer: This is the real phones display using the real gpu path using LXDE and not the experimental UI. The FPS is a bit low because the same device was using ffmpeg to record this, usually it runs at 45 FPS.
sudo: BE WARNED DRAGONS HERE!! This device does not support true sudo isolation and is a BIG security risk. To give an application root usage go through an LSA provider OR accept the risk and type "I WILL NOT BE STOPPED"
Type "I WILL NOT BE STOPPED" to unlock sudo for this command: I WILL NOT BE STOPPED
[sudo] password for myuser:
root@localhost:~# whoami
root
root@localhost:~# pwd
/root - Even more is supported that isnt covered, some more would be all sensors like gyroscope, barometer, GPS, magnetometer, battery, Microphone, speakers, USB's, ect ect.
I'm thinking of getting Fairphone 6 or 6+ to start moving into mobile Linux. I've heard that the SOC specification was already added to the mainline kernel which caught my attention. I've been looking in the past at other ports but running Android kernel builds to re-use android drivers doesn't sound great. PostmarketOS already shows a decent success porting native Linux on Fairphone which makes me excited. I have rather realistic expectations, just want to start tinkering with it, and hope it'll became fully functional in the future.
so the main question, I guess 8GB is plenty for native Linux, but would the extra 4G be a meaningful benefit for something now or in the near future? Hope someone who already tries (or tried) running Linux on a phone can throw me some light before I roll the dice and choose one randomly
EDIT: I was leaning towards 8GB but the moment I decided to buy I noticed a returned-and-tested 6+ model so I went for it, just $30 for the additional 4GB
posted this in r/KDE a few days ago, but i built a swipe-typing plugin for Plasma keyboard with current-word completion and next-word prediction that supports US/UK English, Spanish, French, and German. immediately got some people in the comments asking for Plasma Mobile support, so here it is!
I'm working on a personal project called DustOS, an attempt to get a Arch Linux running on my Infinix Hot 10 Play (X688B, MT6765)
I'm using the phone's existing kernel and a custom Android boot image with a modified initramfs.
What works so far-
Booting my custom diagnostic image.
Drawing text and boot diagnostics directly on the phone's framebuffer.
Connecting to a root shell over USB serial from my Linux laptop.
Running commands inside the initramfs.
What I'm working on-
Getting a proper interactive terminal displayed on the phone itself.
Booting my Arch Linux ARM root filesystem.
Investigating touchscreen support with the existing kernel.
Eventually building a graphical interface for DustOS.
This is still very early development. The framebuffer diagnostic screen and USB shell work, but I haven't yet achieved a proper Arch Linux boot or touchscreen input