Custom ROM list rules

Last update : 28/2/2023 (needs tons of fixes, considered incomplete)

- Introduction -

- Major Features -
- Per-app network restriction -
- Network permission -
- Sensors permission -
- App Lock -
- Theming options -
- Network documentations -

- Minor Features -
- Dark Theme -
- Full Screen Apps / Expanded Desktop -
Navigation bar layout customization
- Setup Wizard -
- Smart Pixels -
- Prebuilt Simple Mobile Tools Apps -
- microG / GmsCompat -
- Secure app spawning -

- People's side -
- Vanilla / Goolag variant distribution -
- The maintainer -
- One dev show -
- Following the virtue signaling fad -

- Other advantages -
- Boot animation -
- Customizations options -

- Other disadvantages -
- "Advanced" Settings -
- Inbuilt ad-block -
- Permissive SELinux -
- System app remover -
- Time reset on boot-
- USB debugging self-enabled on boot -

- Features that don't matter (at least to me) -
Game Space

Introduction

Personal rules for advantages & disadvantages found in my custom ROM list.

Major Features

These are features that I consider essential. Not having them counts as a disadvantage.

Per-app network restriction

This feature increases privacy protection by blocking internet access to apps. It can be found in Settings by entering Settings > Apps > App info (select an app) (or by long-pressing an app from the launcher & selecting App info) > Mobile data & Wi-Fi.

While this feature may be irrelevant with the usage of firewall apps like AFWall+ (and/or the network permission mentioned below), it will always be a nice component to have.

Network permission

This causes apps to declare their need to access the network (wi-fi, mobile data, VPN), and they are enabled by default to retain compatibility. Only considered valid if the toggle exists in the permissions setting.

This feature also affects AFWall+ usage, as apps with revoked internet permission won't appear in AFWall+ without enabling "show all apps".

This is a more extreme version (but more robust) of per-app network restriction, so if this feature is present, per-app network restriction can be safely ignored.

Sensors permission

This causes apps to declare their need to access the device's sensors (such as microphone & gyroscope), and they are enabled by default to retain compatibility. Only considered valid if the toggle exists in the permissions setting. Typically, this feature is bundled with the network permission mentioned above, both of which came from GrapheneOS. However, some ROMs (A11 ArrowOS) implement this separately without the network permission.

App Lock

This feature is a recent addition to custom ROMs (if we're counting app locker apps, not so recent) that allow you to lock down any app (from actually sensitive ones to what you think are sensitive), which should prevent anyone from being able to access that app without your permission (and/or your lockscreen password).

Similar to the per-app network restriction, it can also be a neat addition rendered irrelevant with an app locking app (which may also bring their own issues).

LineageOS also has implemented something like this in the form of Hidden & Protected apps, but it's tied to the stock Trebuchet launcher, meaning it will tie you to the stock launcher if you'd like to use it.

Theming options

This is a frivolous addition only made possible thanks to Goolag enforcing Material You & deprecating Styles & Wallpapers in A12. Initially, I'd consider separate theming options a disadvantage with the existence of Styles & Wallpapers, but as Material "Actually It's Papa Goolag's Arbitrarily Made Up Choices That You Can Never Defy" You enforces terrible colors & removes options, let's be honest - I can only hope they work, or Styles & Wallpapers allow the user to select actual basic colors (such as red, blue, green, yellow, and none of that pastel color bullshit) for themselves (or maybe implement kdrag0n's monet implementation).

Network documentations

On one hand, ROMs not focused on privacy (such as Lineage, crDroid, Arrow, Havoc) are exempted from this flaw (not getting disrecommended for not documenting connections) as I will assume that they use default Go-ogle connections without changing it. On the other hand, privacy and/or security focused ROMs (such as Calyx, Divest, Graphene, LMODroid) are fully subject to this flaw (getting disrecommended for either not documenting connections and/or not providing an option to change it) since privacy-conscious users should know what they're connecting to & be able to change connections however they see fit.

Minor Features

These features don't really matter when they're there, though having them would be an advantage (depending on your preference). However, sometimes not having these features can be a disadvantage, depending on your device and/or preferences.

Dark Theme

Generally found in Settings > Displays > Dark Theme in A10 & A11, this feature can be used to make the interface far less annoying in the dark while saving some battery on OLED displays, especially with turned-off blacks.

If this feature is tossed into the "advanced settings" menu, I consider this a disadvantage since it's far less intuitive to dig deep into the settings just to change something that belongs in the basic settings.

Full Screen Apps / Expanded Desktop

Full Screen Apps (or Expanded Desktop if you're running Pie Lineage builds) is a feature that allows apps initially made for 16:9 to stretch themselves to fit taller aspect ratios.

Not having this feature would be considered a disadvantage if you're running a device with 18:9 display / taller. However, it doesn't matter if you're running 16:9 devices (or are used to pillarboxing / letterboxing), so there's no point in considering them a major feature / advantage.

Currently, I don't consider this feature to be an advantage as I no longer check it.

Also known as the traditional 3-button navigation bar, which existed long before the dawn of gesture navbars introduced in Pie & A10. Personally, I'm not a big fan of gesture navigations, even though I can agree that full display gestures from A10 are better than Pie's half-assed one (but then again, that's a low bar to pass, so... good enough to use once in a while (maybe only when it is the default after a clean flash), but still not enough for me to drop everything & use gesture navigations for everything).

Not having this feature is a disadvantage, unless you're used to gesture navigations and/or traditional Android's Back > Home > Recents setup.

My troubles with gesture navigation (at least the ones introduced in A10) :

Setup Wizard

Also known as the thing that stands between you & the system on 1st boot that's found in LineageOS, Lineage-based ROMs, & CarbonROM. For those 3, unless it's replaced with Goolag SetupWizard, you don't really need internet connection to get through (some ROMs, such as GApps variants of WaveOS demand internet access).

As I also mentioned Goolag SetupWizard, I don't consider them as a part of this, since it could force you to connect to the internet on 1st boot.

Smart Pixels

Smart Pixels shuffle & disable the pixels of a display in order to prevent burn-in & reduce battery usage. So far, I'm not quite sure whether the former is true / not, but at least having something to mitigate burn-in is better than nothing. On the bad side, it reduces your display's viewing quality as long as it's enabled.

Since this matters only to OLED display users, I can only consider this feature an advantage if you're using OLED. Otherwise, this feature is redundant to LCD users unless you want an even darker display than what the brightness slider could provide.

Prebuilt Simple Mobile Tools Apps

Not counting Simple Launcher, Camera, Calculator, & File Manager (at least), Simple Mobile Tools' apps are generally the best apps I've ever used. Having it prebuilt essentially allow me to keep prebuilt apps (like calendar, gallery, & contacts) when I'm debloating.

microg / GmsCompat

microG : An open-source re-implementation of Play Services API. Requires a special permission to function (signature spoofing), which might be a security risk depending on the user. Some features are not fully implemented yet & might require microG to be installed as a system app (particularly important for mapping). Compared to GmsCompat, it is more free (though not as free as using neither) as it's open source, but debatably less secure due to the added permission.

GmsCompat : Gives the user full access to Play Services, albeit tied to the ROM's restrictions as Play Services are installed as user-app. More secure (due to not needing signature spoofing), though debatably less free than microG (as it requires installing Goolag's closed-source Play Services, Play Store, & Play Framework).

Originally a major advantage for custom ROMs, now moved into minor advantage as usage of these components discourage users from seeking out Play Services independent alternatives and/or drop Play Services dependent apps.

Secure app spawning

A feature commonly found on security-focused ROMs (GrapheneOS & DivestOS comes to mind), this creates fresh processes for spawning applications instead of using the traditional Zygote spawning model, increasing initial memory usage & app spawning time in return for security & privacy benefits.

People's side

This section applies to developers & maintainers.

Vanilla / Goolag distribution

Generally, a ROM can be exposed as a Limbo ROM if at least 3 have a Goolag-only release while the rest of them are either Vanilla-only or Vanilla/Goolag. However, if at least 3 devices are available as Vanilla-only builds & there are no Goolag-only builds, this doesn't apply, though their consistency should be questioned.

Here's some examples:

The maintainer

Obviously, a custom ROM can't be made available without someone to make them available, so let's discuss about the maintainers - those who make it possible for a phone to receive a custom ROM.

The maintainers are, obviously, developers who make sure a custom ROM works on their phones, as well as the users who use the ROM.

Sometimes, a maintainer's actions can expose a ROM as a Limbo. The BlissROMs example above should suffice for an explanation.

There are also cases of maintainers releasing Official builds with PocoParts (no more SELinux switcher as of August 2021) / Mi Extras, "advanced" settings that don't belong in Official builds thanks to the footguns that often come with them.

One dev show

One-dev shows aren't that much of a problem if the developer remains active enough to keep their project running. However, the primary issue of one-dev-shows is that they are more likely to change course and/or get discontinued at any time, as shown by examples below. In addition, even with the project being active, one-dev-shows might not be able to pick up issues quickly enough to stay relevant. Granted, there are projects that get killed despite having more than 1 developers (such as RevengeOS, XenonHD, & AOSiP). However, projects with 1 developer are more likely to do so than those with several.

Following the virtue signaling fad

Anti-Stallman open letter, for example : (Hozon Archive)

On one hand, this should not be an issue as the only thing that should matter is the developers' competence. However, more often than not, some developers would rather kowtow with the latest fads & psyops over focusing on making their shit work well according to their users. The Anti-Stallman open letter itself is a decent example - LineageOS & CalyxOS, the 2 custom ROM groups signing this open letter, took their sweet time to release pure black theme for A12L (July 2022 & 2/9/2022 as "August update" respectively) while crDroid has them added in 16/4/2022. Granted, both Lineage & Calyx are not focused on adding theming options, but still.

Other Advantages

This mostly covers highly subjective stuff that may (not) improve your experience with using a custom ROM.

Boot animation

The 1st thing you'll see while booting to the system. Normally, most of them are generic, boring, and/or not worth looking at; save for the top 3:

This "advantage" is highly subjective, & thus shouldn't really be considered a factor.

Customizations options

After seeing a screenshot of A12's Wallpaper & style menu, I felt that I had undervalued the dedicated theming options found in some custom ROMs (AOSiP is a good example). Therefore, this may be an advantage if A12 stable only comes with "Material You", which will deny users a chance to personalize their Android devices as they see fit, without any arbitrary interferences.

Other Disadvantages

"Advanced" Settings

One "advanced" settings won't be enough to sin a custom ROM, since basically everyone except Lineage & Arrow are using this. However, bring 2 in (such as BaikalOS in A10) & it's a disadvantage. Putting basic stuff such as dark theme (RR & Nusantara are examples of those guilty of this) will also warrant calling it a disadvantage (this is a repeat of the Dark Theme section found above).

An exception that will immediately make me remove any recommendation for a ROM on a device would be "advanced" settings with SELinux switchers, such as PocoParts & Mi Extras (both have a tendency to provide a SELinux switcher toggle, but as of August 2021 PocoParts no longer include a SELinux switcher). They're probably fine in unofficial builds, & any maintainers and/or developers who adds these settings on Official builds must immediately lose their rights to maintain their "official" builds unless they remove it.

Inbuilt ad-block

While it is probably nice to have a toggle-able inbuilt ad-blocking hosts, they are not as ideal as using AdAway.

Permissive SELinux

Permissive SELinux is only fine if it's on initial Alpha build & the developer(s) (and the users too, if they're willing to help out) are actively doing work to ensure that the next release would have Enforcing SELinux. Otherwise, keeping SELinux in Permissive even after at least 3 builds are released is equal to giving an unofficial backdoor to custom ROM users who might not know what they're doing. This is a flaw that will make me remove the link for a ROM.

This flaw is also applicable if a custom ROM has the ability to switch SELinux mode directly from the settings (For example, the aforementioned PocoParts, Mi Extras, & AICP Extras), since anyone with physical access could just toggle something in the settings to deactivate a good chunk of Android security. While the user should always be able to choose which spectrum of security they're at (secure but limited applicable mods / unlimited mod potential but insecure for example), the toggle being there gives anyone the ability to decide which side you're on, if they can use it.

References & explanations for SELinux can be found in :

More readings as to why Permissive SELinux is bad :

Time reset on boot

A bug that resets time to a certain preset time on each boot. A minor but annoying issue for anyone who has a habit of powering off their devices before sleeping & enabling it after waking up.

System app remover

This feature is better off contained in an app, such as SD Maid. Having the ability to remove system apps without having to either boot to recovery / install the likes of SD Maid could leave the user with a non-functional system, especially if they (or someone else with physical access) are deleting system apps they don't know they need. This is also a flaw that will not allow me to link a ROM.

This flaw is found in (at least) AICP & Baikal; & I hope other ROMs don't include these in the settings. In their (undeserved) defense however, you could deny root access to advanced settings / Quickstep & they won't work. But still, the only acceptable alternative would be to not include them in the first place.

USB debugging self-enabled on boot

Back in the Pie era, when Poco F1 builds didn't have prebuilt vendor partition, various ROMs for F1 enable USB debugging on boot, which enables itself every time it boots, even if USB debugging had been explicitly disabled.

This "feature" is a flaw that gets annoying especially for ADB-hating game (such as Fate/GO) players who reboot their devices every once in a while, because they will also have to remember to disable a setting after a reboot.

I'm fine with USB debugging enabled on 1st boot if it stays disabled after I explicitly disable it in Developer settings. On the other hand, if USB debugging enables itself on boot even after it's disabled, I'm not going to recommend any users install that ROM (at least until this issue is fixed).

Features that don't matter (at least to me)

Game Space


Pictured above is Game Space, which is meant to be an open source alternative to Goolag's proprietary Game Dashboard, which provides an user interface for the Android Game Mode API. Listed below are some clarifications of why Game Space is irrelevant to me. (in a nutshell, most of these either could be disabled and/or have more effective substitutes in the ROM's settings, and what cannot be disabled could with some change in device usage)

Back to top

List of custom ROMs

Index - cellphone

Main Page