Proof Portal

Project overview

Omarchy

ProbeLabs65 findings · 95 requirements

A proof layer — requirements, tests and verified fixes — for two of Omarchy's subsystems: the application menu (launcher scripts, QML model, JSONC config, search and selection) and the lock screen (lock scripts, QML, PAM authentication). Scope is deliberately limited to those components of omacom/omarchy; the rest of the distribution is not covered.

Inbox
ReportR-5116GitHub issuePublicReceived

linux-omarchy completely lacks Android Binder IPC support (CONFIG_ANDROID_BINDER_IPC), breaking Waydroid out-of-the-box

Reported by 12345678901233 · filed Sep 23, 2026Closed upstream on 2026-09-24 by its own reporter 12345678901233. GitHub close reason: completed. Closed by its own reporter — not by itself evidence of a fix.

Received and recorded verbatim. Nothing has been checked yet.

At a glance

1 · What is claimed?
Only the report text below — no validator has restated it as checkable claims yet.
2 · What does it affect?
Not yet mapped to any requirement or component.
3 · Is it reproducible?
No validation has been run yet.
4 · What remains unclear?
  • Not validated yet: no claims, no reproducer.
5 · What happens next?
Our staff decide whether the report is valid. Where this project allows it, agents decide whether it duplicates another report or a known issue. No decision has been recorded yet.

Original report

linux-omarchy completely lacks Android Binder IPC support (CONFIG_ANDROID_BINDER_IPC), breaking Waydroid out-of-the-boxrevision 1 · captured 2026-10-04 12:10 UTC via poll

System details

Processor: Intel(R) Core(TM) i5-3475S (4) @ 3.60 GHz iGPU: HD Graphics 4000 Monitor: 1920x1080 in 24", 75 Hz [External] SSD: 109.78 GiB - btrfs RAM: 5.67 GiB Swap 11.33 GiB OS: Omarchy 4.0.4-1 stable

What's wrong?

Problem Description

The curated custom kernel shipped with Omarchy Quattro (linux-omarchy) completely guts all default Android Inter-Process Communication (IPC) flags. Running zgrep -i binder /proc/config.gz inside the linux-omarchy environment reveals that the engine is built with:

CONFIG_ANDROID_BINDER_IPC is not set

CONFIG_ANDROID_BINDER_IPC_RUST is not set

Because the base infrastructure is entirely missing, attempting to run or initialize Waydroid triggers an immediate fatal error:
FATAL: Module binder_linux not found and ERROR: Binder node "binder" for waydroid not found.
------------------------------

The Journey: Steps Taken & Reasons for Failure## Phase 1: The Outdated DKMS Patch (System Freezes)

To restore the missing driver pathways, the legacy Arch User Repository module binder_linux-dkms was compiled into the system.

  • Result: Total GUI/Hard Hardware Freeze.
  • Why it failed: By default, Waydroid triggers an aggressive power-saving suspend loop when idle. Because the kernel lacked psi=1 (Pressure Stall Information) parameters, Android’s Low Memory Killer deadlocked the kernel space graphics rendering thread. This instantly locked up the mouse, keyboard, and screen, forcing a physical hard reset.
  • Partial Fix: Appending psi=1 to the cmdline: block inside limine.conf and explicitly forcing suspend_action = freeze inside /var/lib/waydroid/waydroid.cfg stopped the deadlock. However, it exposed a deeper structural bug on modern kernel branches.

Phase 2: The Rust Binder Branch Crash (No such process)

The system was booted into a legacy kernel profile (7.2.3-arch) which keeps the experimental Rust-based binder module compiled natively:

CONFIG_ANDROID_BINDER_IPC_RUST=y

  • Result: Spammed infinite loops of [gbinder] ERROR: Can't open /dev/binder: No such process and Failed to add presence handler: None.
  • Why it failed: Waydroid explicitly expects classic C-based node pathways (/dev/binder). Even when mapping symbolic links (ln -s) from the modern kernel's /dev/binderfs/anbox-binder points to /dev/binder, an active upstream memory-allocation conflict on the Rust IPC driver branch threw immediate runtime ESRCH (No such process) crashes, completely breaking DBus communications (org.freedesktop.DBus.Error.NoReply).

The Final Resolution (The Fix)

The ultimate working solution requires abandoning the custom linux-omarchy package entirely and rolling the core engine back to the long-term stable architecture.

  1. Install the official LTS kernel branch which compiles the stable, classic C-based binder file systems directly inside the engine by default:

sudo pacman -S linux-lts linux-lts-headers

  1. Append psi=1 to the newly generated LTS entry inside limine.conf.
  2. Boot directly into the LTS kernel. The hardware nodes instantly populate safely inside /dev/binderfs/binder-control without any third-party DKMS hooks or memory deadlocks. Waydroid is able to pull down images and run flawlessly.

Steps to Replicate

  1. Clean install Omarchy Quattro using the default installer.
  2. Verify that the system is running the native 7.2.5-3-omarchy image.
  3. Install Waydroid natively: sudo pacman -S waydroid.
  4. Run sudo waydroid init -s GAPPS. The process will immediately exit with a fatal missing binder error.
  5. Install binder_linux-dkms and attempt to start a session (waydroid session start). Observe a total lockup of the Hyprland tiling workspace.

Suggested Action for Maintainers

Please consider enabling classic binderfs support in future compilation passes of the custom linux-omarchy kernel:

CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_PSI=y

This will allow power users to take full advantage of native Linux container features like Waydroid out-of-the-box without being forced to break the curated Omakase experience by reverting to standard linux-lts packages.

of course i used google's ai for setting up wayroid and while adventuring through the problems and this was also generated by ai, feel free to point out mistakes and ask for more details if needed to resolve the issue as soon as possible

View raw text
### System details

Processor: Intel(R) Core(TM) i5-3475S (4) @ 3.60 GHz iGPU: HD Graphics 4000 Monitor: 1920x1080 in 24", 75 Hz [External] SSD: 109.78 GiB - btrfs RAM: 5.67 GiB Swap 11.33 GiB  OS: Omarchy 4.0.4-1 stable

### What's wrong?

## Problem Description
The curated custom kernel shipped with Omarchy Quattro (linux-omarchy) completely guts all default Android Inter-Process Communication (IPC) flags. Running zgrep -i binder /proc/config.gz inside the linux-omarchy environment reveals that the engine is built with:

# CONFIG_ANDROID_BINDER_IPC is not set
# CONFIG_ANDROID_BINDER_IPC_RUST is not set

Because the base infrastructure is entirely missing, attempting to run or initialize Waydroid triggers an immediate fatal error:
FATAL: Module binder_linux not found and ERROR: Binder node "binder" for waydroid not found.
------------------------------
## The Journey: Steps Taken & Reasons for Failure## Phase 1: The Outdated DKMS Patch (System Freezes)
To restore the missing driver pathways, the legacy Arch User Repository module binder_linux-dkms was compiled into the system.

* Result: Total GUI/Hard Hardware Freeze.
* Why it failed: By default, Waydroid triggers an aggressive power-saving suspend loop when idle. Because the kernel lacked psi=1 (Pressure Stall Information) parameters, Android’s Low Memory Killer deadlocked the kernel space graphics rendering thread. This instantly locked up the mouse, keyboard, and screen, forcing a physical hard reset.
* Partial Fix: Appending psi=1 to the cmdline: block inside limine.conf and explicitly forcing suspend_action = freeze inside /var/lib/waydroid/waydroid.cfg stopped the deadlock. However, it exposed a deeper structural bug on modern kernel branches.

## Phase 2: The Rust Binder Branch Crash (No such process)
The system was booted into a legacy kernel profile (7.2.3-arch) which keeps the experimental Rust-based binder module compiled natively:

CONFIG_ANDROID_BINDER_IPC_RUST=y


* Result: Spammed infinite loops of [gbinder] ERROR: Can't open /dev/binder: No such process and Failed to add presence handler: None.
* Why it failed: Waydroid explicitly expects classic C-based node pathways (/dev/binder). Even when mapping symbolic links (ln -s) from the modern kernel's /dev/binderfs/anbox-binder points to /dev/binder, an active upstream memory-allocation conflict on the Rust IPC driver branch threw immediate runtime ESRCH (No such process) crashes, completely breaking DBus communications (org.freedesktop.DBus.Error.NoReply).

------------------------------
## The Final Resolution (The Fix)
The ultimate working solution requires abandoning the custom linux-omarchy package entirely and rolling the core engine back to the long-term stable architecture.

   1. Install the official LTS kernel branch which compiles the stable, classic C-based binder file systems directly inside the engine by default:
   
   sudo pacman -S linux-lts linux-lts-headers
   
   2. Append psi=1 to the newly generated LTS entry inside limine.conf.
   3. Boot directly into the LTS kernel. The hardware nodes instantly populate safely inside /dev/binderfs/binder-control without any third-party DKMS hooks or memory deadlocks. Waydroid is able to pull down images and run flawlessly.

------------------------------
## Steps to Replicate

   1. Clean install Omarchy Quattro using the default installer.
   2. Verify that the system is running the native 7.2.5-3-omarchy image.
   3. Install Waydroid natively: sudo pacman -S waydroid.
   4. Run sudo waydroid init -s GAPPS. The process will immediately exit with a fatal missing binder error.
   5. Install binder_linux-dkms and attempt to start a session (waydroid session start). Observe a total lockup of the Hyprland tiling workspace.

------------------------------
## Suggested Action for Maintainers
Please consider enabling classic binderfs support in future compilation passes of the custom linux-omarchy kernel:

CONFIG_ANDROID_BINDER_IPC=y
CONFIG_ANDROID_BINDERFS=y
CONFIG_PSI=y

This will allow power users to take full advantage of native Linux container features like Waydroid out-of-the-box without being forced to break the curated Omakase experience by reverting to standard linux-lts packages.

of course i used google's ai for setting up wayroid and while adventuring through the problems and this was also generated by ai, feel free to point out mistakes and ask for more details if needed to resolve the issue as soon as possible

Validation

Not checked yet. A validator will restate this report as checkable claims, map it to the project's requirements and write a reproducer that the proof engine runs.

Linked

Not linked to any known issue, other report or change yet.

Decision

Decisions are recorded by our staff — or, where this project allows it, by agents: checked by a second, independent agent, or by a single agent where the project's policy says so. Any decision reached so far is shown below.

No decision has been recorded yet.