My issues with most custom ROMs
Last update : 11/12/2023
Introduction
Originally written in the ColtOS section of my custom ROM list, now it has its own page dedicated to it.
Issues with most custom ROMs
- Cuckflared site, in addition to soydev dependencies such as JS, XHR, CDN assets, and occassionally BlockAdBlock (and probably more)
Lineage & crDroid are 2 examples guilty of having both issues present - the latter's also got BlockAdBlock.
Some, such as Arrow, isn't cuckflared but still has BlockAdBlock, JS, & XHR dependency. iodeOS is also guilty of having 50 scripts that run the site, but isn't cuckflared as well. Graphene, Calyx, Divest, & Lineage-microG are the only ones that doesn't suffer from these issues (though Divest requires other enabled in Chromium-based browsers for downloads).
- Lack of properly archived working older builds. This point used to speak about downloads only on 3rd-party providers, but at the end of the day, the ideal is to provide both 1st-party (for latest and/or some older build (latest working build of previous versions included) if server costs are not an issue - mirrors included) & 3rd-party providers like Pling & SourceForge (which can & should be used to archive latest working old builds). For anyone asking why a properly archived working older build is important - some users (such as me) don't like being forced into latest Android (especially when I can't tune my system to my liking without some compromises I'd rather not take) & would like an older build that simply works (and are fine with the security tradeoffs that come with it).
As far as I know, only crDroid, Havoc (SourceForge), /e/, & Lineage-microG (own server, though in Lineage-microG's case it's inconsistent) provides their latest working older builds.
- Some basic settings (and not-so-basic settings available on plain AOSP) may be thrown in the "advanced" settings bin (for unknown reasons, probably to increase feature count), which is common practice for the featurefests.
- If released with a Vanilla/GApps distrbution, it may be not well-enforced, therefore leading to the Limbo category
Very few ROMs do actually enforce Vanilla/GApps distributions - AOSiP, Arrow, Dot, Jaguar, Spark, & Stag are the only ones I know. Havoc comes pretty close with only 1 Vanilla-only device, before it changed to GApps-only with A13.
- Most custom ROMs don't change any default connections, let alone document them. CalyxOS, DivestOS, & GrapheneOS are the only ones to document them; & GrapheneOS & DivestOS (both of which are security-focused ROMs) are the only ones to provide an option for changing some of them (GrapheneOS offers both Go-ogle & its own captive portal (with the latter being default); DivestOS adds various providers in addition to GrapheneOS' offering). As for Private DNS, it's available in every ROM, custom or not (starting with Pie/A9?), so it doesn't count.
24/11/2023 Update : Dishonorable mention goes to /e/. Not only do they not document important default connections (like captive portal & ntp, leaving me to discover it myself), they also hardcoded them in a way that can never be changed. If you blindly trust the /e/ team (or don't connect the device to internet in any way), it shouldn't matter much; but if you want to use your own provider of choice, tough luck unless next update removes the hardcode... if ever.
- ROM source code & device tree is in either GitHub and/or official GitLab, which are bloated big corpo platforms (GitHub is the worst Git platform available; very closely followed by official GitLab which demands JS & XHR; in addition to cuckflared instance). Is there any custom ROM repository on something like Notabug, Codeberg, or even self-hosted Git repo, other than the 3 mentioned below?
At the time of writing (29/11/2023), LMODroid & /e/ are the only ones known to use their own GitLab instance. DivestOS is also on Codeberg in addition to GitHub & GitLab so there's that.
- ROM developers tend to discontinue older stable bases for ones that needs some work done to them (such as feature re-porting & additions). Here's a very rough cycle of how this goes :
- Google releases new AOSP base somewhere in August / September (or at least timed with latest Pixel release?) 2xx1 (let's call the new base v2.0, or 3.0 after point 4 in 2xx2). They also release quarterly platform updates in December, March, & June; which tends to include codebase changes on top of security patches.
- Custom ROM developers fork v2.0 & slowly reapply their features from v1.0 while also adapting them to v2.0, while also having to adapt their fork with AOSP security patches, API changes, bug fixes, & rebases (which may also change v2.0 to v2.1 / further). Then, such intial v2.0 builds (which are going to be stock with extra branding) are released starting in late October 2xx1. They may also keep working on the older base(s), but development for those older base(s) are reduced to either the occassional monthly security patches or complete abandonment; as developing newer & potentially unstable bases are somehow preferred to maintaining battle-tested & functional older bases. Considering most custom ROM developers tend to be "tech" enthusiasts as well, this kinda makes sense.
CarbonROM (mostly stuck to A11), DivestOS (on older devices), /e/ (which releases older builds, though only for the direct predecesor & with mixed consistency), & Lineage are odd exceptions as they didn't release the initial new base builds alongside others, officially releasing it only if it's deemed stable enough (somewhere in point 3, though some exceptions can be made, such as LineageOS 20 in 31/12/2022).
- After quite some time (let's assume between April & August 2xx2), ROM developers finally feel their v2.0 (or v2.1 / further if there are rebases) builds are worthy enough to their "standards" (as stable & usable as the v1.0 last year, ignoring whatever issues come out of the changes from 1.0 to v2.0/v2.1). However, at that time, Google has a v3.0 beta somewhere in Beta2-Beta4.
This point tends to be the general time when custom recoveries get full support for the new base.
- Fast forward to somewhere around August / September 2xx2 & it's back to point 1 as Google finally feels their v3.0 base is stable enough for a mass release... and we're back on point 1 of this cycle again.
Back to top
Custom ROM list
Index - Rants/ramblings
Index - cellphone
Main Page