[ROM][OFFICIAL][enchilada][10.0]crDroid Android[v6.27]

Search This thread
BE3pE0l.png

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 many of the best features in existence today.

Features

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

- "Clean flash": Removing device protection & clearing user settings before installing a bootable system install zip (usually by either wiping or formatting data, see below).
- "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": Synonymous with "factory reset", accomplished from TWRP recovery by selecting "Wipe", then performing the "Slide to factory reset". Clears user data without erasing any partitions, removing encryption, or deleting contents of internal storage.
- "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.
- 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 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.

Prerequisites:
- 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, with a known-good USB cable (see links in post #2).
- Make sure you've downloaded the most recent full Android 10 OxygenOS OTA installer zip (10.3.12), crDroid zip, matching crDroid boot.img, official TWRP 3.5.2_9-0 installer zip and bootable 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.

Let's get started!

Updating firmware (if already on crDroid):
- Reboot to bootloader (with no USB cable connected).
- Open a terminal on your computer, and run `fastboot flash boot path/to/boot.img`, 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 into the built-in TWRP recovery. The device's internal storage should now be available for read/write on the computer via MTP.
- Copy the official OxygenOS 10.3.12 full OTA zip & latest crDroid zip into the device's internal storage, then choose "Install", select the current crDroid zip, choose "Add more zips", and crDroid installer zip, then swipe to confirm flash. No TWRP zip required, since it's built in to the boot.img that gets installed.
- Reboot recovery, then choose "Install", and select the OOS zip, then select "Add more zips" and choose the crDroid zip, and swipe to confirm flash again.
- Reboot recovery, and re-flash magisk/gapps if needed.
- Wipe dalvik.
- Reboot system.

First time installing crDroid to your OP6, coming from stock OxygenOS or another ROM (will also update firmware while we're at it):
- Reboot to bootloader, then `fastboot boot path/to/twrp.img` to start up into TWRP recovery.
- Mount System partition read-write, use file manager to delete the /system/addons.d/ directory if it exists, unmount System.
- Choose Wipe > Format data, type "yes" and hit enter to nuke everything in the data partition and clear encryption.
- Choose Advanced > ADB sideload (don't worry about selecting cache/dalvik wipe options yet) and then on the computer, do `adb sideload path/to/OxygenOSOTA.zip` to flash the OxygenOS 10.3.12 full OTA installation zip & make sure you're on the latest Android 10 firmware.
- Go get a drink, this'll be a bit.
- When that's done, hit "back" in TWRP and start ADB sideload again, and this time send the crDroid installation zip (includes TWRP built-in, so don't need separate zip for that at this point).
- Reboot to recovery (this will switch the active slot to use the system partition you just installed those zip files into).
- Wipe data (Wipe > "Slide to factory reset" in TWRP).
- That was so much fun, let's do it again! ADB sideload OxygenOS full OTA zip.
- ADB sideload crDroid zip.
- Reboot to recovery (switches slots again, now we have latest OxygenOS firmware plus crDroid populated in both sets of partitions and won't have to do that again).
- Flash Magisk (if desired).
- Flash GApps or microG package (if desired).
- Wipe dalvik.
- If you copied anything to internal storage instead of flashing it via ADB sideload, delete it now before first boot.
- Reboot system.
- Go through setup wizard.
- Reboot system (for reasons I don't comprehend, it never shows "OnePlus Settings" in the Settings app top level menu on a fresh install until after rebooting once).
- It's gonna harass you to finish setup, go ahead and customize everything to your heart's content.

Updating crDroid from TWRP (preferred):
You don't need to remove device protection; it works fine with PIN. Be sure you have a PIN set, or have looked up whatever that arcane chart of pattern > numeric incantations in case of pattern unlock. It's awful.
- Boot into TWRP recovery.
- Choose install, then select OOS firmware OTA (if needed), then choose select additional zips, then select crDroid.zip, slide to confirm flash.
- Reboot recovery.
- Choose install, then select Magisk zip (if using), select additional zips, choose GApps/microG (if using), slide to confirm flash.
- Please keep off of the grass, shine your shoes, wipe your... dalvik.
- Reboot system.

Updating crDroid from Updater app:
Warning: I don't remember if crDroid 6 even *has* the built-in Updater app function or not, or how well it handles addon.d survival scripts. Use with caution.
- Install update in built-in Updater app (Settings > System > Updater), do NOT reboot yet.
- Go to Magisk app home, click "Install" next to Magisk, and choose the "Install to Inactive Slot (After OTA)" method.
- For GApps/microG: If you use GApps/microG that needs to be re-flashed to /system (as opposed to magisk module GApps/microG), reboot *recovery* at this point, mount the system partition in TWRP, and dig around with the File Manager in system/priv-app/ & system/product/priv-app/ to make sure that everything you expect was copied over to the now-currently-active slot, and if need be re-flash your installer zip, or else your world will be pain when you boot normally. Yes, I expect you to know what your preferred package installs & to keep the zip handy.
- NOW you can reboot to system.

Reporting bugs:
I'm a parent of three young kids whose industry disappeared in the pandemic and is now full-time house husband & parent-in-charge while my wife is teaching full-time, I'm trying to save my small live-event-turned-streaming-studio company in my spare time. I'm doing in-home caregiving for a family member overnight one day a week. This is the back-up spare-spare-time hobby. I'm not a software developer nor do I know any programming languages, I just wanted a ROM with signature spoofing support and more customization than the unofficial microg-compatible LineageOS builds. So if there are bugs or feature requests, I go over to the crDroid dev chat and ask if someone has time to hold my hand & help. Don't make me get yelled for annoying them, mmkay? That said...
- Logs/screenshots/recordings or it didn't happen. Syslog (free, open source, available on Play store and F-droid) is your friend.
- I try to keep an organized notebook of roadmap, feature reqeusts, bug reports, etc. I won't always be able to fix it, but I'll at least look and do my best to ask the actual devs.
- I don't sign into XDA much, so if I haven't said anything, 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, and I use Magisk & microG and like to tweak things myself. But don't expect much support if you:
- didn't do a clean flash.
- aren't using the built-in kernel.
- are using extensive modifications (besides Magisk) like Xposed/Riru, Dolby Atmos, Viper4A, etc.
- immediately start using "finalize.zip" or flashing migrate restore zips instead of following the actual instructions.
- are running decrypted.

Donate - Support development!

crDroid Website - Download here!

Telegram Oneplus6/6t group - Share your best cat pictures!

Source Code:
- Device tree: https://github.com/crdroidandroid/android_device_oneplus_enchilada/tree/10.0
- OP6/6T Common device tree: https://github.com/crdroidandroid/android_device_oneplus_sdm845-common/tree/10.0
- OnePlus Common device tree: https://github.com/Terminator-J/crdroid_device_oneplus_common/tree/10.0-test
- Kernel: https://github.com/crdroidandroid/android_kernel_oneplus_sdm845/tree/10.0
 
Last edited:
Notes:
- Yes it supports package signature spoofing permission for microG compatibility out of the box (but will work without ANY GApps/microG implementation installed as well).
- Aux camera doesn't work correctly due to framework issues beyond my control/comprehension. So, still no portrait mode in OnePlusCamera in cr6. But 60fps video recording in OOSCam works great; huzzah!
- Doesn't pass safetynet out of the box, despite many tests with different fingerprints/props. Just use Magisk & enable the Zygisk DenyList & kdrag0n's "safetynet-fix" module and be happy. If your bank's app doesn't work, switch to a local credit union and stop feeding the bougie bankers. Smash capitalism!
- Maintainer does not use GApps, so cannot answer questions about which packages work best from firsthand experience. In general, go with the smallest package you can and then install other Google apps from the Play Store. Please note that if you replace the stock dialer with Google Dialer, you may lose access to the Phone Info menu (*#*#4636#*#*) until you install another dialer. For recommendations, see https://wiki.lineageos.org/gapps.
- Requires OOS 10.3.12 OOS firmware.
- Includes built-in TWRP, pulled from official 3.5.2_9-0 ramdisk, works well.
- Tested against latest Magisk canary (with zygisk instead of magiskhide), works well.
- No there won't be official builds with inline GApps; please don't ask.


crDroid 6.27 - February 2022 ASB release notes/known issues:
Changelog since v6.23 release:
- Merged Android Security Bulletins through February 2022 from upstream.
- Whatever changed upstream in the ROM proper (not likely much; they want to freeze it besides security updates).
- Reimplemented DeviceSettings based on crDroid 7 version (no more greyed-out things that don't actually work in Android 10).
- Backported updated display panel handling in device tree and kernel to match crDroid 7 (panel color modes are in LiveDisplay now). FOD on fajita is still kinda crap with OOS 10 firmware, but oh well.
- Little more tidying/tightening in device tree & kernel for moving to maintenance-only releases.
- Imported current wireguard VPN kernel-mode driver.


Known issues:
- Some screen-off gestures may not work, due to limitations beyond my control; don't use those gestures. Sorry.
- You tell me! With logs!


Other stuff:
- At this point, any little feature bugs will be considered "can't fix/won't fix"; I can't keep working on this one, I'm going to try to only do security-update-only releases of crDroid v6.
- Where do bad rainbows go? Prism. It's a light sentence.


Helpful links:

Download ROM

TWRP (use old official v3.5.2_9-0)
(TWRP is built-in to the crDroid 6 zip, but you might need the img or standalone installer zip in order to get to that point)

Magisk (use latest)

OxygenOS 10.3.12 Full OTA

MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade)
 

Attachments

  • crDroidAndroid-10.0-20220308-enchilada-v6.27_boot.img
    64 MB · Views: 4
Last edited:

starche_old

Senior Member
Apr 13, 2006
1,330
259
ON, Canada
crDroid is designed to increase performance and reliability over stock Android for your device also attempting to bringing many of the best features existent today


Features:
To be defined



First time installing crDroid to your Op6, or coming from another ROM:
- Be on the latest firmware
- Make sure you're running latest TWRP
- Copy GApps and crDroid zip to your internal storage
- Disable your screenlocks
- Boot into Recovery
- Wipe cache,data
- Flash crDroid zip
- Flash TWRP zip
- Reboot to recovery
- Flash GApps zip
- Flash Magisk zip
- Reboot system



Don't expect any support if you:
- are not running stock crDroid-kernel
- have installed any mods such as Xposed!
- have modified system files


DONATE


crDroid Website


Telegram Oneplus6/6t group



XDA:DevDB Information
crdroidandroid, ROM for the OnePlus 6

Contributors
firebird11, neobuddy89, gwolfu
Source Code:https://github.com/crdroidandroid
Source Code Kernel:https://github.com/crdroidandroid/android_kernel_oneplus_sdm845

ROM OS Version: Android 10
ROM Kernel: Linux 4.x
Based On: LOS

Version Information
Status: Testing

Created 2019-10-16
Last Updated 2019-10-16
Any bugs or something not working?

Will try this weekend.
 

veronesi.n

Senior Member
Jun 15, 2011
297
39
Piétrain
Hello, I flashed rom yesterday.

I've got 1 issue. Fingerprint unlock doesn't work. I mean fingerprint sensor works because I can set up a fingerprint. But when phone is locked (screen on or off) I can't unlock it.
Maybe this is Gapps related? (I used Nano beta from october). Not rooted

Rom is fast and responsive. No other bug/ lag or freezes so far.

If anyone can help me with fingerprint unlock it would be much appreciated.

Have a nice day.
 

savinjo22

Senior Member
Oct 26, 2012
358
93
Podgorica
Hello, I flashed rom yesterday.

I've got 1 issue. Fingerprint unlock doesn't work. I mean fingerprint sensor works because I can set up a fingerprint. But when phone is locked (screen on or off) I can't unlock it.
Maybe this is Gapps related? (I used Nano beta from october). Not rooted

Rom is fast and responsive. No other bug/ lag or freezes so far.

If anyone can help me with fingerprint unlock it would be much appreciated.

Have a nice day.

Same here, I think new magisk 20 breaks it , because with 19.4 working fine
 

Dirk

Senior Member
May 11, 2009
12,424
3,818
dev i tried to flash this rom but it says failed because the file for oneplus 5 not oneplus 6 could you check the download link?

I assume you used the 'Green Box' link in Sourceforge? That always trips people up. That link is the latest ROM across all crDroid devices. (Currently the OP5 'Cheeseburger') Or next time actually read the file name before flashing.

Ignore that Green Box. Just pretend it doesn't exist. Use the links underneath to get the Enchilada downloads.
 

ewong3

Senior Member
May 28, 2015
201
38
just tried moving from havoc 2.9 (pie) to crd6 (q), but unfortunately at this point no twrp can handle Q OOS flashing (to bring firmware to up to Q levels), latest available twrp is Mauronofrio's 3.3.1.4 so if anyone succeeds in flashing stock followed by CrD6 on a later/another twrp, would love to hear the success story...

for now, someone suggested only a local upgrade route within ota, but you end up without a functioning twrp environment which is probably too much hassle for most, so we will wait on the sidelines for a bit longer.

hope this helps!
 
Last edited:

meistr91

Senior Member
Jan 26, 2015
667
156
OnePlus 6
What the latest fw is required pie or Q beta 1?:)

---------- Post added at 08:03 PM ---------- Previous post was at 08:02 PM ----------

just tried moving from havoc 2.9 (pie) to crd6 (q), but unfortunately at this point no twrp can handle Q OOS flashing (to bring firmware to up to Q levels), latest available twrp is Mauronofrio's 3.3.1.4 so if anyone succeeds in flashing stock followed by CrD6 on a later/another twrp, would love to hear the success story...

for now, someone suggested only a local upgrade route within ota, but you end up without a functioning twrp environment which is probably too much hassle for most, so we will wait on the sidelines for a bit longer.

hope this helps!
There is a way to have a twrp on open beta 1.

https://forum.xda-developers.com/oneplus-6/how-to/how-to-update-to-android-10-beta-1-twrp-t3987041

---------- Post added at 08:04 PM ---------- Previous post was at 08:03 PM ----------

just tried moving from havoc 2.9 (pie) to crd6 (q), but unfortunately at this point no twrp can handle Q OOS flashing (to bring firmware to up to Q levels), latest available twrp is Mauronofrio's 3.3.1.4 so if anyone succeeds in flashing stock followed by CrD6 on a later/another twrp, would love to hear the success story...

for now, someone suggested only a local upgrade route within ota, but you end up without a functioning twrp environment which is probably too much hassle for most, so we will wait on the sidelines for a bit longer.

hope this helps!
There is a way to have a twrp on open beta 1.

https://forum.xda-developers.com/oneplus-6/how-to/how-to-update-to-android-10-beta-1-twrp-t3987041
 

ewong3

Senior Member
May 28, 2015
201
38
What the latest fw is required pie or Q beta 1?:)

---------- Post added at 08:03 PM ---------- Previous post was at 08:02 PM ----------


There is a way to have a twrp on open beta 1.

https://forum.xda-developers.com/oneplus-6/how-to/how-to-update-to-android-10-beta-1-twrp-t3987041

---------- Post added at 08:04 PM ---------- Previous post was at 08:03 PM ----------


There is a way to have a twrp on open beta 1.

https://forum.xda-developers.com/oneplus-6/how-to/how-to-update-to-android-10-beta-1-twrp-t3987041

thank you for the suggestion... gone well beyond the link's status by the time i read this (on oos from local update), so may just wait it out for a working twrp solution - been too long since last used OOS anyway!
 

Top Liked Posts

  • There are no posts matching your filters.
  • 34
    BE3pE0l.png

    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 many of the best features in existence today.

    Features

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

    - "Clean flash": Removing device protection & clearing user settings before installing a bootable system install zip (usually by either wiping or formatting data, see below).
    - "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": Synonymous with "factory reset", accomplished from TWRP recovery by selecting "Wipe", then performing the "Slide to factory reset". Clears user data without erasing any partitions, removing encryption, or deleting contents of internal storage.
    - "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.
    - 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 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.

    Prerequisites:
    - 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, with a known-good USB cable (see links in post #2).
    - Make sure you've downloaded the most recent full Android 10 OxygenOS OTA installer zip (10.3.12), crDroid zip, matching crDroid boot.img, official TWRP 3.5.2_9-0 installer zip and bootable 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.

    Let's get started!

    Updating firmware (if already on crDroid):
    - Reboot to bootloader (with no USB cable connected).
    - Open a terminal on your computer, and run `fastboot flash boot path/to/boot.img`, 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 into the built-in TWRP recovery. The device's internal storage should now be available for read/write on the computer via MTP.
    - Copy the official OxygenOS 10.3.12 full OTA zip & latest crDroid zip into the device's internal storage, then choose "Install", select the current crDroid zip, choose "Add more zips", and crDroid installer zip, then swipe to confirm flash. No TWRP zip required, since it's built in to the boot.img that gets installed.
    - Reboot recovery, then choose "Install", and select the OOS zip, then select "Add more zips" and choose the crDroid zip, and swipe to confirm flash again.
    - Reboot recovery, and re-flash magisk/gapps if needed.
    - Wipe dalvik.
    - Reboot system.

    First time installing crDroid to your OP6, coming from stock OxygenOS or another ROM (will also update firmware while we're at it):
    - Reboot to bootloader, then `fastboot boot path/to/twrp.img` to start up into TWRP recovery.
    - Mount System partition read-write, use file manager to delete the /system/addons.d/ directory if it exists, unmount System.
    - Choose Wipe > Format data, type "yes" and hit enter to nuke everything in the data partition and clear encryption.
    - Choose Advanced > ADB sideload (don't worry about selecting cache/dalvik wipe options yet) and then on the computer, do `adb sideload path/to/OxygenOSOTA.zip` to flash the OxygenOS 10.3.12 full OTA installation zip & make sure you're on the latest Android 10 firmware.
    - Go get a drink, this'll be a bit.
    - When that's done, hit "back" in TWRP and start ADB sideload again, and this time send the crDroid installation zip (includes TWRP built-in, so don't need separate zip for that at this point).
    - Reboot to recovery (this will switch the active slot to use the system partition you just installed those zip files into).
    - Wipe data (Wipe > "Slide to factory reset" in TWRP).
    - That was so much fun, let's do it again! ADB sideload OxygenOS full OTA zip.
    - ADB sideload crDroid zip.
    - Reboot to recovery (switches slots again, now we have latest OxygenOS firmware plus crDroid populated in both sets of partitions and won't have to do that again).
    - Flash Magisk (if desired).
    - Flash GApps or microG package (if desired).
    - Wipe dalvik.
    - If you copied anything to internal storage instead of flashing it via ADB sideload, delete it now before first boot.
    - Reboot system.
    - Go through setup wizard.
    - Reboot system (for reasons I don't comprehend, it never shows "OnePlus Settings" in the Settings app top level menu on a fresh install until after rebooting once).
    - It's gonna harass you to finish setup, go ahead and customize everything to your heart's content.

    Updating crDroid from TWRP (preferred):
    You don't need to remove device protection; it works fine with PIN. Be sure you have a PIN set, or have looked up whatever that arcane chart of pattern > numeric incantations in case of pattern unlock. It's awful.
    - Boot into TWRP recovery.
    - Choose install, then select OOS firmware OTA (if needed), then choose select additional zips, then select crDroid.zip, slide to confirm flash.
    - Reboot recovery.
    - Choose install, then select Magisk zip (if using), select additional zips, choose GApps/microG (if using), slide to confirm flash.
    - Please keep off of the grass, shine your shoes, wipe your... dalvik.
    - Reboot system.

    Updating crDroid from Updater app:
    Warning: I don't remember if crDroid 6 even *has* the built-in Updater app function or not, or how well it handles addon.d survival scripts. Use with caution.
    - Install update in built-in Updater app (Settings > System > Updater), do NOT reboot yet.
    - Go to Magisk app home, click "Install" next to Magisk, and choose the "Install to Inactive Slot (After OTA)" method.
    - For GApps/microG: If you use GApps/microG that needs to be re-flashed to /system (as opposed to magisk module GApps/microG), reboot *recovery* at this point, mount the system partition in TWRP, and dig around with the File Manager in system/priv-app/ & system/product/priv-app/ to make sure that everything you expect was copied over to the now-currently-active slot, and if need be re-flash your installer zip, or else your world will be pain when you boot normally. Yes, I expect you to know what your preferred package installs & to keep the zip handy.
    - NOW you can reboot to system.

    Reporting bugs:
    I'm a parent of three young kids whose industry disappeared in the pandemic and is now full-time house husband & parent-in-charge while my wife is teaching full-time, I'm trying to save my small live-event-turned-streaming-studio company in my spare time. I'm doing in-home caregiving for a family member overnight one day a week. This is the back-up spare-spare-time hobby. I'm not a software developer nor do I know any programming languages, I just wanted a ROM with signature spoofing support and more customization than the unofficial microg-compatible LineageOS builds. So if there are bugs or feature requests, I go over to the crDroid dev chat and ask if someone has time to hold my hand & help. Don't make me get yelled for annoying them, mmkay? That said...
    - Logs/screenshots/recordings or it didn't happen. Syslog (free, open source, available on Play store and F-droid) is your friend.
    - I try to keep an organized notebook of roadmap, feature reqeusts, bug reports, etc. I won't always be able to fix it, but I'll at least look and do my best to ask the actual devs.
    - I don't sign into XDA much, so if I haven't said anything, 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, and I use Magisk & microG and like to tweak things myself. But don't expect much support if you:
    - didn't do a clean flash.
    - aren't using the built-in kernel.
    - are using extensive modifications (besides Magisk) like Xposed/Riru, Dolby Atmos, Viper4A, etc.
    - immediately start using "finalize.zip" or flashing migrate restore zips instead of following the actual instructions.
    - are running decrypted.

    Donate - Support development!

    crDroid Website - Download here!

    Telegram Oneplus6/6t group - Share your best cat pictures!

    Source Code:
    - Device tree: https://github.com/crdroidandroid/android_device_oneplus_enchilada/tree/10.0
    - OP6/6T Common device tree: https://github.com/crdroidandroid/android_device_oneplus_sdm845-common/tree/10.0
    - OnePlus Common device tree: https://github.com/Terminator-J/crdroid_device_oneplus_common/tree/10.0-test
    - Kernel: https://github.com/crdroidandroid/android_kernel_oneplus_sdm845/tree/10.0
    17
    Notes:
    - Yes it supports package signature spoofing permission for microG compatibility out of the box (but will work without ANY GApps/microG implementation installed as well).
    - Aux camera doesn't work correctly due to framework issues beyond my control/comprehension. So, still no portrait mode in OnePlusCamera in cr6. But 60fps video recording in OOSCam works great; huzzah!
    - Doesn't pass safetynet out of the box, despite many tests with different fingerprints/props. Just use Magisk & enable the Zygisk DenyList & kdrag0n's "safetynet-fix" module and be happy. If your bank's app doesn't work, switch to a local credit union and stop feeding the bougie bankers. Smash capitalism!
    - Maintainer does not use GApps, so cannot answer questions about which packages work best from firsthand experience. In general, go with the smallest package you can and then install other Google apps from the Play Store. Please note that if you replace the stock dialer with Google Dialer, you may lose access to the Phone Info menu (*#*#4636#*#*) until you install another dialer. For recommendations, see https://wiki.lineageos.org/gapps.
    - Requires OOS 10.3.12 OOS firmware.
    - Includes built-in TWRP, pulled from official 3.5.2_9-0 ramdisk, works well.
    - Tested against latest Magisk canary (with zygisk instead of magiskhide), works well.
    - No there won't be official builds with inline GApps; please don't ask.


    crDroid 6.27 - February 2022 ASB release notes/known issues:
    Changelog since v6.23 release:
    - Merged Android Security Bulletins through February 2022 from upstream.
    - Whatever changed upstream in the ROM proper (not likely much; they want to freeze it besides security updates).
    - Reimplemented DeviceSettings based on crDroid 7 version (no more greyed-out things that don't actually work in Android 10).
    - Backported updated display panel handling in device tree and kernel to match crDroid 7 (panel color modes are in LiveDisplay now). FOD on fajita is still kinda crap with OOS 10 firmware, but oh well.
    - Little more tidying/tightening in device tree & kernel for moving to maintenance-only releases.
    - Imported current wireguard VPN kernel-mode driver.


    Known issues:
    - Some screen-off gestures may not work, due to limitations beyond my control; don't use those gestures. Sorry.
    - You tell me! With logs!


    Other stuff:
    - At this point, any little feature bugs will be considered "can't fix/won't fix"; I can't keep working on this one, I'm going to try to only do security-update-only releases of crDroid v6.
    - Where do bad rainbows go? Prism. It's a light sentence.


    Helpful links:

    Download ROM

    TWRP (use old official v3.5.2_9-0)
    (TWRP is built-in to the crDroid 6 zip, but you might need the img or standalone installer zip in order to get to that point)

    Magisk (use latest)

    OxygenOS 10.3.12 Full OTA

    MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade)
    14
    new build up !
    12
    a new build is up , read the OP for instructions
    12
    a new v6 build is up !
    october security and statusbar padding are new