[ROM][12.1][Official]crDroid Android[v8.10]

Search This thread

jmno c

Member
Oct 3, 2021
26
0
hello for me 60 fps is also important because finally a few years ago I bought op6 for this function.

please keep updating crdroid with camera op6.

I just have a question why in gcam this function does not work 60 fps? 1080p is enough.

I also have a moto g7plus and there is 60 fps on all roms

and maybe it can be done on the op6 oos camera which will also work on all custiom roms?

I also have a question for owners of chrome os on pc with google play is it possible to install svplayer applications?
 

janesz555

Member
Feb 18, 2009
8
1
Hi guys!

Does anybody now, how to fix the battery stats? I experienced high battery drain, and than I noticed that the Designed battery capacity is wrong, also the Current battery capacity is at an impossible value. I've searched the net for an answer, but found nothing usable, just some people saying it might be a kernel issue. (maybe I'm not too good at seaching.)

I've done the clean first time installation method, tested with version 8.7 with MindTheGapps and NikGapps Core, than 8.6 with MindTheGapps, using latest Magisk (25.2) each time, and than ruled out partition types (tested with ext4 and f2fs), also tested the 8.7 rom with mcd-kernel [r18-custom].

That means 5 clean installs, starting from msmtool 10.3.8 format, updating, and than clean method each time with no luck.
I'm coming from OOS 10.3.8 with magisk, and everything was working fine, with ~3 days battery with average use. This rom gives me 18 hours. But does that very precisely. :)

Btw, love the rom, highly customizable, can be set to be very clean and very fast, that is why I can't let it go. Pls help :)

[edit 1] - I've done one more round, with msmtool (10.3.8), with upgrading to latest 11, and installing the same latest 11 OTA manually to fulfill the requirement of having latest 11 oos on both A/B partitions. After installing crdroid, I did not install anything else, and the outcome is the same. Designed battery capacity is at ~2800, current battery capacity is "2" (It could be ad 2xxx without the digits, because it was "3" at the first few times) and battery is draining fast.

These (A12) roms are way to advanced in many aspects to just give up and use the OOS 10, and no other (A12) roms give the same stable and clear feeling as this crdroid did to me in the last days. In the last few years I was a fan of RR, C-ROM, and CRdroid on many phones, despite that this is my first actual post ever. :) Help/any takers?
 

Attachments

  • Screenshot_20220926-131413_Settings.png
    Screenshot_20220926-131413_Settings.png
    141.2 KB · Views: 55
  • Screenshot_20220926-133307_Settings.png
    Screenshot_20220926-133307_Settings.png
    160.5 KB · Views: 55
Last edited:

TinderSamurai

Member
Sep 7, 2022
5
8
Okay, hi everyone! So I'll probably edit this post later once I've got more time, but quick status update:
- Still busy AF in real life
- 8.8 will be out soon, and moves OnePlus Camera & Gallery to vendor partition so there should be room for larger GApps installs (for clean install).
- I'll make a "OP Camera" troubleshooting post here for what to do if it's behaving funky for you after updating, but short version is to clear app storage & cache for OP Camera & OP Gallery, and possibly download the apks directly and do an "update this app" install using the same version, and then it'll get its head on straight and work properly.
- I know 8.9 is already out for other devices, I've just been way too busy and want to push 8.8 official. It's been release-worthy for a long time and I've been daily driving it, it just takes time to go through the checklist and especially write proper release notes/make sure everything's still current in the first posts of the thread.
- I did a test build of crDroid 9.0 (Android 13), and it 1) compiled eventually, 2) booted, and 3) no network access for any apps. That wasa a month ago. It's probably all fixed in upstream sources now, and I'll be shifting attention to that soon. But let's get Android 12 updates that are already ready pushed to official, hey?
Thanks for the hard work! Will wait for 8.8 to come out
 
Hi guys!

Does anybody now, how to fix the battery stats? I experienced high battery drain, and than I noticed that the Designed battery capacity is wrong, also the Current battery capacity is at an impossible value. I've searched the net for an answer, but found nothing usable, just some people saying it might be a kernel issue. (maybe I'm not too good at seaching.)

I've done the clean first time installation method, tested with version 8.7 with MindTheGapps and NikGapps Core, than 8.6 with MindTheGapps, using latest Magisk (25.2) each time, and than ruled out partition types (tested with ext4 and f2fs), also tested the 8.7 rom with mcd-kernel [r18-custom].

That means 5 clean installs, starting from msmtool 10.3.8 format, updating, and than clean method each time with no luck.
I'm coming from OOS 10.3.8 with magisk, and everything was working fine, with ~3 days battery with average use. This rom gives me 18 hours. But does that very precisely. :)

Btw, love the rom, highly customizable, can be set to be very clean and very fast, that is why I can't let it go. Pls help :)

[edit 1] - I've done one more round, with msmtool (10.3.8), with upgrading to latest 11, and installing the same latest 11 OTA manually to fulfill the requirement of having latest 11 oos on both A/B partitions. After installing crdroid, I did not install anything else, and the outcome is the same. Designed battery capacity is at ~2800, current battery capacity is "2" (It could be ad 2xxx without the digits, because it was "3" at the first few times) and battery is draining fast.

These (A12) roms are way to advanced in many aspects to just give up and use the OOS 10, and no other (A12) roms give the same stable and clear feeling as this crdroid did to me in the last days. In the last few years I was a fan of RR, C-ROM, and CRdroid on many phones, despite that this is my first actual post ever. :) Help/any takers?
Okay, friend, you're working way too hard on it there. I removed the "battery health" section in 8.8 because, as you've exhaustively researched, it's broken and reports garbage values for everything. There are some commits in the upstream LineageOS kernel that even mention the fact that the cdsp reports garbage values for battery stuff. Presumably OnePlus knows how to deal with it, but we don't have access to all the proprietary Qualcomm stuff they do, so... We basically ignore it and go with "look, we know it's this big, it says it's that big, but the percentage life and actual battery life for s full charge seems to be right, so ... Ignore it" as an approach.
You're not doing anything wrong, there's just some slightly more esoteric stuff that we're never going to have working 100% exactly the way it should since we still rely on proprietary binary blobs for undocumented hardware behavior in order for this phone to work.
Don't panic when you plug in a DASH charger and it tells you that it'll take 13 his to charge, either. At least the DASH charging WORKS, and you know it'll be fine in a half hour.
It was better than the constant error log spam that was getting churned out making it impossible to debug anything else 😅
 

janesz555

Member
Feb 18, 2009
8
1
Okay, friend, you're working way too hard on it there. I removed the "battery health" section in 8.8 because, as you've exhaustively researched, it's broken and reports garbage values for everything. There are some commits in the upstream LineageOS kernel that even mention the fact that the cdsp reports garbage values for battery stuff. Presumably OnePlus knows how to deal with it, but we don't have access to all the proprietary Qualcomm stuff they do, so... We basically ignore it and go with "look, we know it's this big, it says it's that big, but the percentage life and actual battery life for s full charge seems to be right, so ... Ignore it" as an approach.
You're not doing anything wrong, there's just some slightly more esoteric stuff that we're never going to have working 100% exactly the way it should since we still rely on proprietary binary blobs for undocumented hardware behavior in order for this phone to work.
Don't panic when you plug in a DASH charger and it tells you that it'll take 13 his to charge, either. At least the DASH charging WORKS, and you know it'll be fine in a half hour.
It was better than the constant error log spam that was getting churned out making it impossible to debug anything else 😅
Thanks for the answer, thats good to know. :) Don't worry, it was not in vain. I'm not all about the stats, I just wanted the rom to last at least for 2 and a half days. Than only one question remains:

Why is my battery life draining on a clean crdroid 8.7 (exactly like it says, ~18h battery estimation) even in "deep sleep", getting in the morning 60-70% battery (on both 8.7 and 8.6), and on a clean manually debloated OOS10.3.11 (no oos apps, disabled oos update, and most of the google stuff disabled for user 0) , it's at 98% after a night?

Am I doing something wrong? Or missing something? Or should I accept the less than one day battery?
 

ctushar97

Senior Member
Nov 12, 2014
76
20
OnePlus 6
Thanks for the answer, thats good to know. :) Don't worry, it was not in vain. I'm not all about the stats, I just wanted the rom to last at least for 2 and a half days. Than only one question remains:

Why is my battery life draining on a clean crdroid 8.7 (exactly like it says, ~18h battery estimation) even in "deep sleep", getting in the morning 60-70% battery (on both 8.7 and 8.6), and on a clean manually debloated OOS10.3.11 (no oos apps, disabled oos update, and most of the google stuff disabled for user 0) , it's at 98% after a night?

Am I doing something wrong? Or missing something? Or should I accept the less than one day battery?
I'm assuming you have a 100% at night and you wake up to check drain. In that case, crDroid doesn't behave this way at all (I'm using mcd r18). I'm getting about 3-4% drain overnight. Maybe your apps are setting up in the background or something. Give it time, use your phone for a day, let the apps settle, and check the drain over the second night.
 

janesz555

Member
Feb 18, 2009
8
1
I'm assuming you have a 100% at night and you wake up to check drain. In that case, crDroid doesn't behave this way at all (I'm using mcd r18). I'm getting about 3-4% drain overnight. Maybe your apps are setting up in the background or something. Give it time, use your phone for a day, let the apps settle, and check the drain over the second night.

Thanks for the comparison, and I'm glad to hear that yours working correctly. Also thanks for the tip, that was the first thing I tried, I charged it 3 times over 2,5 days, sadly it didn't help. The time estimation is very accurate in this case with that 18h, and it is really strange, that if I do battery consuming things, it doesn't drain it much faster. :D

Right now, I'm back on OOS10.3.12, with manual debloat, and latest magisk. I think I'll just wait for the A13 version of the crdroid.

But if someone knows what could be the problem, I'll give it a shot to test it.
 
Thanks for the comparison, and I'm glad to hear that yours working correctly. Also thanks for the tip, that was the first thing I tried, I charged it 3 times over 2,5 days, sadly it didn't help. The time estimation is very accurate in this case with that 18h, and it is really strange, that if I do battery consuming things, it doesn't drain it much faster. :D

Right now, I'm back on OOS10.3.12, with manual debloat, and latest magisk. I think I'll just wait for the A13 version of the crdroid.

But if someone knows what could be the problem, I'll give it a shot to test it.
Oof, that's weird. Not sure what's happening there, honestly. Up to date firmware? What GApps version? Logcat?
 
Okay, finally pushed 8.8 to official OTA! I've had an insanely busy month, sorry it's so late.
The big hold-up was that it was too big! Somehow the system partition was basically full when trying to install the 8.8 test builds with the recommended GApps package (MindTheGapps 12.1 arm64), which forced me to get off my butt and learn how to migrate OnePlusCamera & OnePlusGallery to reside in /vendor/priv-apps/ instead of /system/priv-apps/, so now we're not wasting ~300MB of space in the vendor partition, and have ~150MB more free space to play with in the system partition (might help those who insist on using a huge ass GApps package).
Long story short, most upgrade problems I've seen stem from leftover cruft in the /system/addon.d/ dir.
CHECK IT BEFORE UPDATING, MAKE SURE YOU DON'T HAVE ANYTHING IN THERE THAT SHOULDN'T BE THERE.
Read the installation notes in post #2. Come to the Telegram group if you get stuck with a boot loop after using the updater.
 

TinderSamurai

Member
Sep 7, 2022
5
8
Okay, finally pushed 8.8 to official OTA! I've had an insanely busy month, sorry it's so late.
The big hold-up was that it was too big! Somehow the system partition was basically full when trying to install the 8.8 test builds with the recommended GApps package (MindTheGapps 12.1 arm64), which forced me to get off my butt and learn how to migrate OnePlusCamera & OnePlusGallery to reside in /vendor/priv-apps/ instead of /system/priv-apps/, so now we're not wasting ~300MB of space in the vendor partition, and have ~150MB more free space to play with in the system partition (might help those who insist on using a huge ass GApps package).
Long story short, most upgrade problems I've seen stem from leftover cruft in the /system/addon.d/ dir.
CHECK IT BEFORE UPDATING, MAKE SURE YOU DON'T HAVE ANYTHING IN THERE THAT SHOULDN'T BE THERE.
Read the installation notes in post #2. Come to the Telegram group if you get stuck with a boot loop after using the updater.
Thanks for the update! If you dont mind asking, is OP camera better than the ported Gcams? Alot of people are asking to put OPcamera
 
Thanks for the update! If you dont mind asking, is OP camera better than the ported Gcams? Alot of people are asking to put OPcamera
No. For most photography purposes, any Google Camera port will look MUCH better.
The big reason people want OPCamera is that it allows for 60fps(-ish) video recording. Less well-known is that the "Smart Content Detection" means that it will actually read QR codes and can do character recognition of URLs. That's it. The bokeh mode in portrait using the second rear camera is kinda crappy, the watermark is pointless, the HDR doesn't look as good, night mode isn't as good, etc etc.
The high frame-rate video recording is really the only major selling point. I almost always use DMGC's v4.5 (based on Google Camera v7.3) port myself on my daily driver enchilada, unless I'm trying to record 60fps video for something, or scanning a QR code.
 

janesz555

Member
Feb 18, 2009
8
1
Oof, that's weird. Not sure what's happening there, honestly. Up to date firmware? What GApps version? Logcat?
Right now, I'm on 8.8 with Nikgapps Core and Magisk (crdroid boot img, and built in kernel). Its doing the same as before. I don't know which logs are appropriate to inspect, I used the built in app to save and attached it. I'm not familiar with these kind of things, but it does some permission denial stuff repeatedly.

I have two suspicion:
- It might be carrier related thing (I'm from Hungary, using 4G)
- or the battery is not genuine (bought it 2nd hand)

Could you look into the log files, I'm still hoping that this problem can be solved with some kind of setting, or disabling something.
I don't want to update it, if it works I'll probably leave the phone with this rom for 1 or 2 years. :)

Btw, as a conservative user, I loved the original TWRP, but this crdroid recovery method (with the sideloading) is way more convenient for me to work with. And I also love the gui style and colors. :)
 

Attachments

  • logs-2022-09-30-15-18-38.zip
    172 KB · Views: 5
Last edited:

Jelq

Member
Jun 7, 2011
8
2
Long story short, most upgrade problems I've seen stem from leftover cruft in the /system/addon.d/ dir.
CHECK IT BEFORE UPDATING, MAKE SURE YOU DON'T HAVE ANYTHING IN THERE THAT SHOULDN'T BE THERE.
Read the installation notes in post #2. Come to the Telegram group if you get stuck with a boot loop after using the updater.
First of all, thank you for maintaining this great ROM (keeping my OP6 alive, really). I am not too savvy myself and have a probably silly question - is the issue just with the built-in updater (your post #2 may imply that)? That is, if I dirty flash 8.8 in recovery (coming from 8.7), will I potentially face this same issue or would it definitely avoid the bootloop?
 
Last edited:

karmst

Member
Oct 15, 2011
19
5
Hello!

I am currently running crDroid 7.19 on my t-mobile 6t (I am in the USA), and I wanted to upgrade to the latest (8.8) version. Can anyone verify if Dual SIM works on the latest version? I converted the t-mobile 6t to the Global OS version before installing crDroid, and after I bought a Dual SIM tray it works like a charm.

I need Dual SIM, and that is why I am holding off; if someone has Dual SIM working on this ROM, please let me know and I will upgrade ASAP.

I love crDroid...it's been so stable on the 7.x version, and has so many tweaks...therefore I want to stay with this ROM.

Thank you very much!
 
Last edited:
Hello!

I am currently running crDroid 7.19 on my t-mobile 6t (I am in the USA), and I wanted to upgrade to the latest (8.8) version. Can anyone verify if Dual SIM works on the latest version? I converted the t-mobile 6t to the Global OS version before installing crDroid, and after I bought a Dual SIM tray it works like a charm.

I need Dual SIM, and that is why I am holding off; if someone has Dual SIM working on this ROM, please let me know and I will upgrade ASAP.

I love crDroid...it's been so stable on the 7.x version, and has so many tweaks...therefore I want to stay with this ROM.

Thank you very much!
Dual SIM works fine on normal 6 & 6T. I use it regularly.
What you need to ask is if anybody with a converted T-Mobile fajita who got the dual SIM tray replacement has it working for them properly.
 
First of all, thank you for maintaining this great ROM (keeping my OP6 alive, really). I am not too savvy myself and have a probably silly question - is the issue just with the built-in updater (your post #2 may imply that)? That is, if I dirty flash 8.8 in recovery (coming from 8.7), will I potentially face this same issue or would it definitely avoid the bootloop?
Can't say for sure; it should, but Nik is a little funny about flashing from recovery sometimes...? Or it used to be? Largely, coming from 8.7, it's been pretty painless for most people afaik.
Feel free to hop in the TG chat and ask people there as well.
 
  • Like
Reactions: Jelq

karmst

Member
Oct 15, 2011
19
5
Dual SIM works fine on normal 6 & 6T. I use it regularly.
What you need to ask is if anybody with a converted T-Mobile fajita who got the dual SIM tray replacement has it working for them properly.
Thanks for the quick reply. Yes, you're right; I should have specifically asked whether T-Mobile dual sim works with crDroid 8.x. The fact that it works with crDroid 7.x is no guarantee that functionality will stay intact after an upgrade.

Thanks again.
 

nostri

Senior Member
Apr 6, 2006
52
9
Peru
OnePlus 5
OnePlus 6T
Hello!

I am currently running crDroid 7.19 on my t-mobile 6t (I am in the USA), and I wanted to upgrade to the latest (8.8) version. Can anyone verify if Dual SIM works on the latest version? I converted the t-mobile 6t to the Global OS version before installing crDroid, and after I bought a Dual SIM tray it works like a charm.

I need Dual SIM, and that is why I am holding off; if someone has Dual SIM working on this ROM, please let me know and I will upgrade ASAP.

I love crDroid...it's been so stable on the 7.x version, and has so many tweaks...therefore I want to stay with this ROM.

Thank you very much!
I have 6t t-mobile and dual sim tray , dual sim working normal
 

Top Liked Posts

  • There are no posts matching your filters.
  • 2
    8.10 is now live on OTA! As always, check post #2 for changelog & release notes.
    It's always updated, every month. The number of people who ask things without reading or using ctrl-f is mind-boggling.
    2
    I have never used those options in twrp and know nothing about them i always flash normal way, do you mean flash gapps by mounting it and using the adb sideload in twrp?

    (BTW there is nothing in the advanced tab in twrp about Mount/Unmount System??)
    I'm giving instructions relating to the built-in recovery, since that's what I provide support for. For all the reasons explained in the first post(s), I don't have the time or inclination to deal with all the various flavors of TWRP and derivatives and whether they happen to work correctly this month or not. You can use it if you like of course, it's your phone.
    1
    Thats the thing i tried flashing MindTheGapps but i get a error 1 and it wont let me thats why i tried another gapps im not sure why im getting the error 1.
    Interesting... if it does that, maybe try going into `Advanced` and choose `Mount/Unmount System` first and then try the adb sideload again, see if that makes it happy.
    You can also enable ADB from the Advanced menu, and `adb pull /tmp/recovery.log` to get the recovery log off the phone to save here so we can take a look at it more.
  • 22
    BE3pE0l.png

    *** Disclaimer ***​

    I am not responsible for any damage you cause to your device.
    You have been warned.


    crDroid is built on top of LineageOS, and is designed to increase performance and reliability over stock Android for your device, while also attempting to bring you many of the best features in existence today.

    Features:​

    General:​

    https://github.com/crdroidandroid/crdroid_features/blob/12.1/README.mkdn

    Device-specific:​

    • OnePlus Camera & Gallery fully working (using APKS extracted directly from OOS 11.1.2.2); including 60fps in 1080p & 4K, watermark, depth effect, smart content detection, et al.
    • DeviceExtras for OnePlus-feature-specific customizations including alert slider modes, DC dimming, High Brightness Mode including customizable Auto-HBM threshold, customizable rendered FPS overlay, digital earpiece/mic gain controls, built-in UI jitter test, USB 2.0 force-fast charge mode toggle (requests 900mA from compatible motherboards, turn off when not using because it conflicts with DASH charging), and 3-category vibration strength control (thanks to AnierinBliss for all his work on this implementation).
    • OnePlus-style color modes available through LiveDisplay (6 & 6T have slightly different implementations and you may not notice a difference, but think of "Natural" and "Wide Gamut" like uncalibrated versions of "sRGB" and "DCI-P3").
    • Ongoing kernel tuning (trying to get the best of both worlds tuning existing QTI perfd & scheduler & lmk, rather than cutting over to Google libperfmgr/powerhints/userspace lmk, definite improvements over vanilla LOS, mostly importing/adapting work by EdwinMoq).

    A quick glossary and primer on flashing & slots for A/B devices (like ours):​

    • "Clean flash": Removing device protection & clearing user settings before installing a bootable system install zip by formatting data.
    • "Dirty flash": Flashing a ROM zip (usually upgrading to new version, sometimes just re-flashing the existing one) without wiping data or anything first.
    • "Wipe data": This used to be synonymous with "factory reset" in TWRP, without formatting the data partition and losing the contents of internal storage. Now, with TWRP being deprecated and using built-in LineageOS-based recovery, "wipe data" and "factory reset" mean the same thing as "format data" (which means, everything in internal storage gets erased).
    • "Format data": Formats the data partition itself, resets all file-based encryption keys, loses all contents of internal storage, and in fact deletes all "user 0" directories (this has some implications for internal storage before & after first boot).
    • "User 0" directories are a series of directories that store userdata for the primary user, "Owner", and get created in various places throughout the filesystem on first system boot if they don't exist already. Anything you copy to "internal storage" while booted in recovery after "formatting data" will actually be copied to /data/media/ instead of /data/media/0/, and will become invisible to regular file browsing after first boot once the system has created /data/media/0, since the system will prefer to use that path for internal storage from then on (so you'll need a root file browser to delete things from /data/media, or just ADB sideload things instead of copying after formatting but before booting).
    • "OTA package": Originally an abbreviation for "over the air", referring to how a software update could be delivered (as opposed to having to take your phone to a carrier's store for a firmware update via serial/USB connection). The common usage in Android circles is any installation zip file that actually includes a bootable system. Is always installed to the currently "inactive slot", and will trigger a slot switch upon the next reboot.
    • Some partitions are duplicated (system, vendor, boot, and probably a couple others, but not data) and have a "slot A" & "slot B" copy.
    • "Slot A" and "slot B" are absolute designations, but most installer zip scripts use the relative designations: "active" and "inactive". Whichever slot you're booted from currently is "active", and the other one is "inactive".
    • Installing a zip file that's flagged as being an OTA package will 1) install the contents to the "inactive" slot, and then 2) flag the bootloader to switch which slot is considered "active" (and booted from) and "inactive" upon next reboot.
    • The OxygenOS full OTA zip files and all custom ROM installer zip files are considered "OTA packages" and will trigger a slot switch on next boot after installation.
    • You can install multiple OTA zip packages one after the other without rebooting in both the stock recovery and TWRP; they will all get installed into the correct partitions in the "inactive" slot, one on top of the other, and then it will swap active & inactive upon reboot.
    • We don't use what are called "delta" updates, which can patch existing partitions by block or by file; we use full filesystem images. So for us, OTA zip packages are really just a bunch of partition filesystem image files all wrapped up into a "payload.bin" with some extra instructions & metadata/checksums, so when you flash a ROM, it overwrites entire partitions at a time instead of individual files or filesystem blocks within that partition. So if you've changed something in a partition like system that gets written as part of flashing an OTA zip, all your changes are gone. The only thing in the system partition afterward will be what was in the system.img that was included in the ROM zip payload.
    • The partitions that crDroid, LineageOS, and most custom ROMs for OnePlus 6 & 6T install to when flashing are boot (contains recovery & kernel), dtbo, system, vbmeta, and now vendor as of Android 12. If you are planning on going back to an Android 11 ROM that does not build the vendor partition from source (so everything except SyberiaOS, essentially), you'll need to flash the OOS stock vendor partition to both slots from fastboot before installing the OTA zip.
    • "Prebuilt vendor" vs. "source-built" vendor partitions: when first trying to get a custom ROM working on a new device now that we have separate system & vendor partitions & Google's "Project Treble" is a thing, you'll often just leave the contents of the vendor partition alone, because that's where all the proprietary or device-specific stuff lives (manufacturer specific hardware drivers & interfaces, any DRM libraries, custom frameworks & selinux policies for talking to them), and you make a compatibility map of what framework versions you're compiling against in system and what vendor version they're compatible with or supersede or you overlay updated things that should replace stuff in the vendor partition and keep it in system_ext instead. But you're also limited in that if there are some things in vendor, you CAN'T work around it from the ROM side (like, OnePlus Camera working correctly). So often, once the basics are functioning, the goal is to move to building the contents of the vendor partition from source, because you then have the freedom to fix problems with sepolicy, library/framework mismatches, etc. and make things work with the custom ROM instead of only working with the OEM's flavor of Android, and you can still copy individual pre-compiled files from the stock vendor filesystem image if needed (like if there's no open-source equivalent for some driver). We finally got a source-built vendor bringup for OnePlus SDM845 (enchilada & fajita) as part of the Android 12 (lineage-19.1) bringup, so some things work better, and some things work worse, but at least it's possible to fix things and keep moving forward to newer Android versions. However, since we're still dependent upon at least SOME binary blobs copied over from OxygenOS 11.1.2.2, the vendor patch level will remain at the release date for the last release of OOS 11, because we can't know for sure that some component isn't vulnerable, no matter how new all of the source-built components are.
    • "Updating firmware" simply means we're flashing updated contents from the manufacturer into all the OTHER partitions besides the ones that the ROM OTA zip touches. There are another dozen or more of those, besides system & boot, that the full OxygenOS OTA zip would normally write to when you install it. The contents of the system & vendor partitions in custom ROMs for our device are generally built against a particular version of OxygenOS; in this case OOS 11.1.2.2 was the final release by OnePlus before they announced the end of support & updates for the OnePlus 6 series. Some people are still on older firmware that is now dramatically different than what the current custom ROM was intended to deal with (that is, all the stuff from OxygenOS is still based on Android 10, while the ROM is expecting VNDK compatibility with Android 11), and while I tend to agree that OxygenOS 10 was better than 11, that doesn't matter when you're talking about installing the custom ROM over it. So please; update to OOS 11.1.2.2 firmware (see instructions below).

    Notes on stock recovery & TWRP:​

    • TWRP is deprecated & unsupported, for purposes of bug reporting & getting help with crDroid. I liked it personally, and I agree with all the reasons for wanting to try and keep using it; but the source is a hot mess, and the official releases for enchilada & fajita don't have good compatibility with Android 12 (they can't decrypt file-based encryption for userdata).
    • Meanwhile, the stock crDroid recovery (based on LineageOS) intentionally cannot decrypt userdata, and doesn't correctly process addon.d OTA survival scripts; so after using it to flash any OTA zips, you'll need to reboot to recovery and manually flash things like Magisk or GApps installers. But for all those shortcomings, it has working fastbootd (aka "Userspace fastboot", which is what happens when you go to "Advanced", then choose "Enter fastboot") that lets you flash one image to both slots at once with a single command, and unlocks critical partitions... while the OnePlus OEM bootloader (where it says "Fastboot Mode" in a square, then goes to the big green "START" text over white & dark red terminal font type text) can't be used to flash every partition to update firmware. Personally, I still think of it as wannabe-class and not a "real" custom recovery until the Lineage team 1) implements userdata decryption so you can manage files in /data and install updates from internal storage, and 2) allows for a factory reset the way we've always all understood it ("wipe data") WITHOUT nuking the contents of internal storage for no good reason ("formatting data"). But they're not going to, and since crDroid is LineageOS-based; it's what we've got, and fastbootd is the best way to update firmware.
    • The takeaway: If you want to try different custom recoveries (new builds of TWRP, OrangeFox, PBRP, whatever), feel free; and let us know how it works! But you're on you're own doing that; it's an unsupported configuration.
    • For purposes of doing updates, plan on doing your initial installation from bootloader & recovery then applying subsequent system OTA updates using the built-in Updater tool (Settings > System > Updater), both with new OTA releases and when choosing a file from "Local Installation". It executes OTA survival scripts correctly from /system/addon.d/ as well. I've personally tested and it correctly preserved Magisk canary for several versions, and MindTheGapps & NikGapps on my tester fajita and MinMicroG "system" install package on my daily driver enchilada.

    Flashing Instructions:​

    Pre-installation:​

    • Make sure your bootloader is unlocked (and don't plan on relocking it ffs).
    • Make sure you have a reasonably-current, working installation of android platform tools (adb & fastboot command line binaries & necessary drivers) on your computer, USB drivers, and a known-good USB cable (see links in post #2).
    • Make sure you've downloaded the most recent full OxygenOS OTA installer zip (11.1.2.2), crDroid zip, matching crDroid boot.img, and whatever Magisk/GApps/microG installation packages you want to use to your computer (see links in post #2).
    • Make sure you've backed up whatever data you want to keep to somewhere that's not on your phone; for a new install, we're going to format the data partition and you're going to lose everything from internal storage.
    • If you don't KNOW you already have OOS 11.1.2.2 flashed to BOTH slots, follow the "Updating Firmware" instructions below.

    Updating Firmware:​

    • Reboot phone to bootloader (no USB cable connected).
    • If you're not already using the stock crDroid recovery, you'll need to 'fastboot flash boot path/to/boot.img' on the computer, substituting in the path & filename for the current crDroid boot.img that you downloaded as part of the prerequisites.
    • Reboot to bootloader again (actually loads new bootloader that you just flashed).
    • Use Vol +/- buttons to select "Recovery mode" and press Pwr button to boot stock recovery.
    • Tap "Advanced", then tap "Enter fastboot" (the already-selected first option).
    • Follow the instructions for extracting the partition images from the official OxygenOS Updater full OTA zip you already downloaded using the "payload-dumper-go" utility, and flashing them one at a time, from https://wiki.lineageos.org/devices/enchilada/fw_update or https://wiki.lineageos.org/devices/fajita/fw_update, except for the very last command ('fastboot reboot').
    • If you're only updating firmware and were already on crDroid, you can just 'fastboot reboot' which will go back to booting the system normally. If this is part of coming to crDroid 8.x from another ROM, continue with the instructions below.

    First time installation:​

    (when coming from any other ROM or crDroid 7.x or earlier)
    • *Back up anything you want to keep from three phone's internal storage to your computer/cloud storage, because we're going to format the userdata partition in this process.*
    • Download boot.img & rom zip to computer.
    • Reboot phone to bootloader.
    • Flash boot image to both slots ('fastboot flash boot_a boot.img' then 'fastboot flash boot_b boot.img').
    • Reboot phone to bootloader.
    • Use vol +/- keys to select recovery mode & press power button to enter recovery.
    • On phone, choose "Factory reset / Wipe data", and confirm (note: this will erase everything from the phone's internal storage; make sure that you have backed up anything you want to keep first!).
    • On phone, choose "Apply update" > "ADB sideload" & then from computer, 'adb sideload path/to/rom.zip' (substituting the actual path to the actual filename) to sideload the installation zip; the orange recovery header graphic will disappear until the process has completed ("error" messages like "no error", or finishing at 47% on the computer are normal).
    • On phone, choose "Advanced" > "Reboot recovery" to reboot into recovery on the newly-flashed slot.
    • Use adb sideload to flash any magisk or GApps or microG installer zips (some installers might require you to choose "Advanced" > "Mount/unmount system" first).
    • Reboot into system.
    • ???
    • Profit!

    Update installation:​

    • Use the built-in Updater ("Settings > System > Updater") to apply OTA updates as they become available, or to manually flash a ROM zip by going to the three-dot menu in the upper right and choosing "Local update". Seriously, that's it; it processes addon.d survival scripts correctly, including Magisk, MindTheGapps, NikGapps, MinMicroG, and presumably others.
    If you must flash from recovery, then be aware that the stock crDroid recovery does NOT process addon.d OTA survival scripts correctly on our A/B system-as-root device, so you'll need to do the following:
    • Reboot phone to recovery.
    • Choose "Apply update > Apply from ADB" on the phone, and 'adb sideload path/to/installation.zip' from a terminal on the computer.
    • After installation has completed and the menus have reappeared on the phone, go back, then choose "Advanced > Reboot to recovery" on the phone.
    • Choose "Apply update > Apply from ADB" on the phone, and 'adb sideload path/to/installation.zip' for each addon like Magisk or GApps installation zip you need in order to match what was initially installed on the phone.
    • Reboot system.

    Reporting bugs:​

    I'm the full-time parent-in-charge at home of three young children & primary housekeeper while my wife works full-time. I have a small business on the side I'm trying to keep afloat.
    This is what I do on a volunteer basis in my spare-time's spare time. So please, don't waste what little time I have.

    • Logs/screenshots/recordings or it didn't happen. Either the built-in Matlog app, or Syslog if you're rooted (free, open source, available on Play store and F-droid) are your friends here. Tombstones, dmesg if you're rooted, pstore/ramoops from recovery after a crashdump are worth their weight in gold if you know how to get those.
    • If you're not running a supported configuration, don't expect much help (see below).
    • I won't always be able to fix your problem, but if you get me usable logs, I'll at least look and do my best to get help from the ROM dev team if I can't figure it out.
    • I don't sign into XDA much, so if I haven't replied to you in a while, check out the Telegram group. Lots of helpful folks there.
    • Please keep your questions in this thread instead of PMing me with them directly, so that the entire class can benefit from the discussion and you can find out if it's just you or if this is a widespread issue.

    It's your device to use the way you want of course, but don't expect support for your bug reports if you:​

    • didn't update firmware in both slots.
    • didn't do a clean flash.
    • installed with TWRP/any other custom recovery (or, worse yet, installed that custom recovery after).
    • aren't using the built-in kernel.
    • are using extensive modifications & Magisk modules like Xposed/Riru, Dolby Atmos, Viper4A, etc.
    • immediately start flashing "finalize.zip" or migrate restore zips instead of following the actual instructions.
    • are running decrypted (ugh, just don't).
    • re-locked your bootloader for some reason... you're on a custom ROM; don't do that.
    • followed some other installation method different than the steps above.
    Please see post #2 for current boot.img files, release notes, & known issues.

    Sources:​

    ROM:​

    https://github.com/crdroidandroid

    Device trees:​

    https://github.com/crdroidandroid/android_device_oneplus_enchilada
    https://github.com/crdroidandroid/android_device_oneplus_fajita
    https://github.com/crdroidandroid/android_device_oneplus_sdm845-common
    https://github.com/crdroidandroid/android_hardware_oneplus/tree/12.1-op6

    Kernel:​

    https://github.com/crdroidandroid/android_kernel_oneplus_sdm845

    Vendor-specific:​

    https://gitlab.com/crdroidandroid/proprietary_vendor_oneplus_enchilada
    https://gitlab.com/crdroidandroid/proprietary_vendor_oneplus_fajita
    https://gitlab.com/crdroidandroid/proprietary_vendor_oneplus_sdm845-common
    https://gitlab.com/crdroidandroid/android_vendor_oneplus_apps

    Download:​

    ROM:​

    https://crdroid.net/enchilada/8
    https://crdroid.net/fajita/8

    Changelog:​

    https://crdroid.net/enchilada/8#changelog
    https://crdroid.net/fajita/8#changelog

    Links:​

    Visit the official website at crDroid.net
    crDroid OnePlus 6/6T Telegram Group
    crDroid Community Telegram Group
    crDroid Updates Telegram Channel
    Donate to help our team pay server costs (PayPal or Patreon)
    Donate to support me in maintaining this device (PayPal or Patreon)
    8

    General Notes:

    • As of the release of 8.10, maintainer is now moving to actively working on crDroid 9.x (Android 13) primarily and running that as daily driver. We'll be relying on community members in the Telegram group to verify any regressions/new issues in Android 12 builds, but will continue to release as new monthly security patches are merged in crDroid sources.
    • Yes this ROM supports package signature spoofing permission for microG compatibility out of the box (but will work without ANY GApps/microG implementation installed as well).
    • Requires OOS 11.1.2.2 firmware (last official release). You should consider using an Android 10 ROM if you want to continue using Android 10 firmware.
    • Tested against latest Magisk canary, works well.
    • No there won't be official builds with inline GApps; please don't ask. The dev team's policy is vanilla-only whenever possible (and it's very possible with our devices).

    Google Apps:​

    Maintainer doesn't often use Google Apps personally as daily driver, but here are some notes gathered from peoples' testing:
    • TL;DR: Use MindTheGapps.
      Otherwise, in general, try to go with the lightest weight package you can and don't replace the stock dialer/messaging apps (just download them from Play Store and set defaults).

    • Since we are LineageOS-based, here are the Lineage team's recommendations:
      https://wiki.lineageos.org/gapps.html

    • MindTheGapps are recommended and considered the default supported configuration for either Android 11 or 12 (per the LineageOS wiki, linked above). Assistant works great out of the box.
      Note on Google Keyboard: If installed as a system app, GBoard will actually do on-device speech recognition when it doesn't have a network connection, so you might want to try adding the Nik Addon for Gboard on top of MTG, just to get on-device speech recognition as an input method (someone please test this out & report back?), but not required for regular usage and GBoard works perfectly well installed from the Play Store as a user app after first boot as well.
      MindTheGapps survives built-in System Updater OTA updates, works fine after doing manual update with built-in recovery, and passes SafetyNet.
      http://downloads.codefi.re/jdcteam/javelinanddart/gapps

    • NikGapps also seems to work in Android 12.1, although it has had some issues with clobbering overlays leading to system apps triggering the privacy indicators that shouldn't be doing that. Recommend using Core plus addons, rather than going heavier from the beginning (we don't have much space left in the system partition).
      You'll need Googlesearch (the actual "Google" app) and Velvet (Assistant pacakges), plus GBoard (gets offline speech recognition if installed to system) and either SetupWizard or PixelSetupWizard for the best voice-recognition & assistant experience.
      Not the recommended GApps package, but give it a shot if you like the customization options. Survives built-in System Updater OTA updates, might have issues with re-flashing during manual updates from built-in recovery (needs testing by some brave soul), passes SafetyNet afaik.
      https://nikgapps.com/downloads#downloads

    • Flame Gapps also seems to work well in Android 11 (haven't heard reports about Android 12.1 yet), although the "basic" package is a little heavier than Nik Core, at least it doesn't start replacing stock dialer & messages. Also survives OTA & passes SafetyNet, not sure about manual updates with built-in recovery.
      https://flamegapps.github.io/download.html

    • OpenGApps are not recommended, for reasons outlined in the LineageOS wiki link above.
    Please report what worked for you, whether or not it survives updates when using the System Updater, whether or not it survives manual "dirty" update flashing via built-in recovery, and whether it passed SafetyNet, so I can keep this list updated.

    crDroid 8.10 - October 2022 ASB release notes/changelog:

    Changelog since 8.9
    • Merged October ASB & changes from upstream LineageOS device/kernel/vendor trees.
    • Removed most of the device tree init script changes & kernel scheduler changes that I had just picked as a monolithic chunk from the gerrit, back to using regular QTI kernel lmk for now (same as LineageOS).
    • Dropped a bit of wifi & charger stuff from kernel commits to simplify things.
    • Switched to zstd algorithm for zram, set to use 50% system RAM (this is what the stock OOS boot scripts try to do already, they just haven't been able to under LineageOS all this time, whoops).
    • VoLTE/VoWiFi should be allowed by default now unless carrier explicitly disallows it.
    • Google Dialer should now allow call recording.
    • Little more performance tuning, should help jank while scrolling.
    • Build & ship "ih8sn" inline (spoofs safetynet-sensitive props without having to install Magisk).
    • Switched to sdFAT (updated exFAT) driver, kanged from LineageOS xiaomi-sdm845 kernel (for beryllium), cuz the OnePlus exFAT driver version is OLD.
    • Moved DC Dimming ("Anti-Flicker") and High Brightness Mode ("Outdoor mode") control back to LineageOS "LiveDisplay" section of Display settings, to make my life easier.
    • Since Automatic "Outdoor mode" HBM lux threshold can't currently be modified by user at runtime in LiveDisplay, changed the compile time threshold down to 7000 lux & hysteresis value to 1000 to match what the regular auto brightness controller is doing at that point. The default 12000 was ridiculously high, and resulted in HBM only coming on after it was too bright to read the screen even with HBM enabled. Might adjust it a touch higher later, but it's much more functional now already.
    • The usual device sources cleanup in prep for Android 13 (not visible, but administrative overhead takes time & helps prevent bugs/problems later).

    8.10 Installation notes:​

    • In case of bootloop (boot animation stuck for longer than about 2 minutes and never gets to lock screen), reboot to recovery and manually flash the ROM zip either via ADB sideload from computer, or from a FAT32-formatted USB thumb drive via OTG, then reboot to recovery again, and re-flash your same Google Apps/microG/Magisk/whatever install zips (again via ADB sideload or USB OTG), and reboot system. This *should* take care of any lingering errors with old things getting stuck in your /system/addon.d/ directory that might be trying to preserve old privileged system apps without privileged permissions (which is what causes those boot loops in the first place).
    • The built-in OTA updater in Settings > System > Updater goes a lot faster if you go into Updater preferences and toggle on "prioritize updater process", and make sure the screen stays on by using the Caffeine QS tile, or "never sleep while charging" toggle in Developer Options, or changing your Display timeout to 30 minutes.
    • If you experience issues with OnePlusCamera & OnePlusGallery after updating from an old version, first get App Info and clear storage & cache for both. You might have luck with "update" installing the same apk version in-place (it will ask if you want to update the app, even though it's the same version). I used OP Camera v3.14.40, which is available from here: https://www.apkmirror.com/apk/onepl.../oneplus-camera-3-14-40-android-apk-download/ and OP Gallery v4.0.297, available from here: https://www.apkmirror.com/apk/onepl...eplus-gallery-4-0-297-2-android-apk-download/. Reports are that it usually works just fine updating from official 8.7, but here are some troubleshooting steps for just-in-case.

    Known issues:

    • The usual LineageOS Android 12 things.
    • HBM will now be turned off when the screen goes off. That's how the OnePlus OxygenOS display panel handling codebase works. AutoHBM in DeviceExtras will still turn it back on if you enable that feature & the ambient light level is bright enough (like direct sunlight). Not a bug.
    • (fajita-only) The "Pocket detection" toggle in crDroid Settings > Miscellaneous will interfere with "Screen off UDFPS" (crDroid Settings > Lock screen > UDFPS customization) and "Prevent accidental wakeup" (Display settings). If you use it, turn off the others, or you might run into the screen-won't-turn-on issue. Personally, I was just dealing with having to press the power button a few extra times, because disabling "Pocket detection" ended up with me almost calling emergency services several times a day.
      Thankfully this seems to be fixed in crDroid 9 (Android 13), so I definitely recommend upgrading once that's released.
    • Maintainer is busy af in real life and takes forever to get releases out.

    Helpful links:

    8
    8.7 testing releases available in the OP 6/6T TG channel if anyone is feeling adventurous!
    7
    Okay, I took a mental health day to work on Android stuff. :D
    First test builds of 8.8 will be going up tonight in the Telegram group if anyone wants to join & try them out!
    Had to drop Camera2 (the basic AOSP camera) since that little 5MB makes the difference between MindTheGapps 12.1 arm64 & Magisk both being able to install and updater able to correctly process addon.d scripts when installing the zip, and a bootloop because it couldn't quiiiiite finish copying over the privapp permission XMLs to system/product/. Stupid tiny system partition...
    No device-specific bugfixes yet in my trees, just testing with the most recent lineage changes & crDroid 8.8 sources.
    6
    After a week of usage, everything rock solid. I have noticed a daily message offering an update to Android 13, what probably is an issue with upstream crdroid. Other than that, everything running smoothly.

    I am surprised how few people are paying attention to this thread. Thing is, you hardly find this thread in xda when searching for rooms. Even searching in Google for "xda crdroid oneplus 6" will point you to less relevant threads. I usually have to find it through crdroid page, which I guess is not how people should find one of the best ROMS for enchilada out there. Any way to improve the exposure?