Sarab

Under the hood

Limitations

What Sarab cannot do yet, and what is being worked on.

Sarab is alpha. This page lists what does not work yet, as plainly as we know it.

What does not work yet

x86 apps only. Android runs on x86_64 here, and most apps people want ship only ARM code. Translation layers for that exist, but none may be shipped with Sarab. Sarab refuses an ARM-only app at install time with a clear message rather than let it crash.

No audio or video playback in apps. Android’s media decoders need a memory heap on the host that only root may open, so they fail. The fix needs changes to the Android image itself, and is being worked on.

One app on screen at a time. Every app has its own window, but Android shows one app at a time.

Windows cannot be resized. Each window has a fixed, phone-shaped size, chosen from your screen when Android starts.

Mouse drags are not touches. Android receives the mouse as a mouse, so pull-to-refresh and drag-to-scroll do not work in apps that expect a finger, notably Flutter apps.

No title bar on GNOME. Use Super+drag to move a window and Alt+F4 to close it. KDE has not been tested.

Removing an app restarts Android’s system services, which closes your open Android apps. A known issue in the image; sarab app rm waits it out.

A GPU that Mesa drives. There is no software renderer yet for machines without one, and NVIDIA’s proprietary driver does not work.

Not a sandbox. Android is fenced in with namespaces, not permissions, and the image is signed with publicly known test keys, so an app can make itself part of Android’s system. Install only apps you trust. Security explains.

Tested on

  • x86_64 Arch Linux with Hyprland and an AMD GPU, daily.
  • Ubuntu 24.04 with GNOME 46, in a virtual machine.

Everything else is untested. If you try another distribution, desktop or GPU, please say how it went.

What’s coming

Being worked on, without dates:

  • Sound and video in apps.
  • A window frame on GNOME.
  • Windows you can resize.

The full backlog, with priorities, is docs/TODO.md in the repository.

    Type to search the documentation.