CustomDroid

Generic system images: a custom ROM for phones that have none

Most phones never get a custom ROM of their own. If yours is one of them, a generic system image, or GSI, may still put newer, cleaner Android on it. It's a compromise: nobody maintains it for your phone, and some hardware usually stops working. This guide explains how GSIs work and how to judge your odds before you unlock anything.

What a GSI is

A normal custom ROM is built for one phone: a maintainer adapts it to that phone's hardware, which is why ROMs are listed per device. A generic system image is the opposite: one Android system image meant to boot on many phones, using the hardware drivers the manufacturer already put on the phone.

That works because of Project Treble, which arrived with Android 8. Treble splits a phone's software in two: the Android system on one side, the manufacturer's hardware code (the “vendor” partition) on the other, with a fixed interface between them. Google itself uses GSIs to test that phones keep to that interface, and publishes its own GSIs for app developers. The community builds GSIs of AOSP and of several custom ROMs on the same principle.

Which phones can run one

Two things decide it:

  • The phone supports Treble. Phones that launchedwith Android 9 or later are required to; most that launched with Android 8 do as well. A phone that launched on Android 7 and was later updated usually doesn't. A free Treble-check app from the Play Store or F-Droid reports what your phone supports, along with its CPU architecture, which you need in order to pick the right image.
  • The bootloader can be unlocked. A GSI is flashed with fastboot, and Google's own GSI documentation lists an unlockable, unlocked device as a requirement. This is the wall for many phones: if the manufacturer doesn't allow unlocking, a GSI is as out of reach as any other ROM. See unlocking the bootloader for which brands allow it.

GSIs matter most for the phones custom ROMs skip: budget models, and MediaTek or Unisoc phones whose makers don't publish the source code a ROM maintainer would need. For those, a GSI is often the only option there is.

What usually breaks

A GSI has no maintainer for your phone. Nobody tested it on your model, and nobody will fix a bug that only your model has. Expect some of these, on top of what breaks on any custom ROM:

  • VoLTE and Wi-Fi calling.The most common loss, because carrier calling features live in manufacturer code a GSI doesn't include. Where 2G and 3G are switched off, no VoLTE can mean no phone calls at all.
  • Camera. Often only the main lens works, through a basic camera app.
  • Fingerprint readers, especially under-display ones, along with face unlock, auto-brightness, and always-on display.
  • Sound and Bluetooth quirks: in-call audio, headphone jack detection and Bluetooth calls are frequent trouble spots.
  • Updates.There is no over-the-air updater; you flash each new build by hand. The manufacturer's vendor code underneath stays as old as the last official update, security holes included.

Community GSI builds carry per-device workarounds for many of these, which is why they usually work better than a plain AOSP image. How well varies by phone.

Where GSIs come from

  • Google's official GSIsare for app testing on supported devices. They're plain AOSP with no device workarounds, so they're the least useful as a daily system.
  • TrebleDroid is the community AOSP GSI most others build on. It continues phhusson's Treble project, whose wiki lists per-device reports and known fixes. Read your phone's entry there before anything else.
  • GSI builds of custom ROMs.Several ROM communities publish unofficial GSI versions of their ROM. They are not the project's official builds and aren't listed per device on CustomDroid, because they aren't built for any device.

Before you try one

  • Check that a dedicated ROM really doesn't exist. Search your phone, and check the same model under its other regional names. A maintained ROM beats a GSI every time.
  • Find the stock firmware firstand make sure you can flash it. A GSI that doesn't boot is normal; being able to go back to stock is what makes that harmless.
  • Back up. Unlocking the bootloader wipes the phone (backing up).
  • Read reports for your exact model, searching for your carrier and “VoLTE” in particular.
  • Follow the instructions of the GSI you chose, not a generic recipe. The steps differ between phones: newer ones flash from fastbootdand need verified boot disabled with the phone's own vbmeta image, and a system partition that is too small needs extra steps. A wrong step here is how phones end up not booting.

On some phones you can try a GSI without flashing anything: Android's Dynamic System Updates boots one temporarily and returns to your normal system on restart. Support is limited (Pixels, mainly), but where it works it's the safest test there is.

Want a proper ROM for your phone instead? Press “Want a ROM here” on its page. The most-wanted list is public, and maintainers do look for phones people are asking for.