I Tried Running Linux GUI Apps on Android So You Don't Have To (Spoiler: It's a Mess)
Running Linux GUI apps on Android via the Weston app is a buggy, RAM-hungry nightmare that mostly results in crashes and error messages, but hey, at least it's theoretically possible.
In a move that makes perfect sense to exactly the kind of person who names their pet after a Linux distribution, I decided to run full-blown Linux GUI apps on my Android phone. After all, Android's kernel is based on Linux, and Google already gave us Linux terminal support. So why not try to cram desktop apps onto a phone screen? It's not like that could possibly be an exercise in futility.
Android 17 made this theoretically possible via the Weston app, a reference implementation of the Wayland compositor. In theory, you install Flatpak, add the Flathub repository, and run GUI apps like Chromium, GIMP, or LibreOffice. In practice, it's a comedy of errors that would make Buster Keaton proud.
I started with my Pixel 9 Pro, which already had Linux terminal support. After upgrading to Android 17, I installed Flatpak, added Flathub, ran the `weston` command, and opened the display tab. The first problem: the Linux terminal was allocated only 2GB of RAM. I doubled it to 4GB via Settings > Advanced > Memory size, hoping that would be enough. Spoiler: it wasn't.
With Weston running, I needed to open the Weston terminal to launch apps. But tapping the terminal icon in the Weston window was a game of chance. Sometimes the cursor would escape the window; sometimes it wouldn't. Restarting the terminal app became a ritual.
I tried to outsmart the system by running `weston-terminal` from the standard Linux terminal. It worked! I had access to the Weston terminal. Then I tried to run an app with `flatpak run org.gimp.GIMP` and got an error: "failed to initialize the D-bus portal." Why? Because the Weston compositor wasn't running. But if I ran the compositor, I couldn't get the terminal to work. Catch-22, Linux edition.
I tried the `weston-calibrator`, which spat out two errors about not being able to connect to the compositor. I spent a week troubleshooting: upgrading, deleting Linux terminal support, re-adding it, allocating up to 50% of my phone's RAM. Nothing worked.
In the end, I managed to open the Weston terminal exactly once. It crashed immediately. Linux GUI app support on Android is broken, and until it's fixed, it's about as useful as a screen door on a submarine. But hey, maybe the next Android upgrade will fix it. I'll be waiting, Pixel 9 Pro in hand, ready to try again. Because optimism is the hallmark of a true Linux enthusiast.
The Good Times
News in your inbox.
One sardonic roundup, delivered on your schedule. Free. Unsubscribe whenever your tolerance for wit runs out.
Already subscribed but we never reach your inbox? Check your spam folder and hit 'Not spam' (or 'Remove from spam') to bust us out of junk-mail purgatory. You'll be helping everyone else too.
Rewrite Article
Select parts to regenerate with a fresh AI pass. Translations will be updated automatically.
Generate AI Image
Creates a sardonic version of the article image using OpenAI.