26

[ROM][13.0_r13][Official]crDroid Android[v9.0]

 1 year ago
source link: https://forum.xda-developers.com/t/rom-13-0_r13-official-crdroid-android-v9-0.4528047/#post-87867679
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

[ROM][13.0_r13][Official]crDroid Android[v9.0]

BE3pE0l.png

*** Disclaimer ***​

I am not responsible for any damage you cause to your device.
I hope you like reading.
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:​

See our current feature list at our GitHub!

Device-specific:​

  • OnePlus Camera & Gallery fully working (using APKs directly from OOS 11.1.2.2 or apkmirror.com with verifiable signatures; currently shipping OnePlus Camera v3.14.40 and OnePlus Gallery v4.0.297); including 60fps video recording in 1080p & 4K, watermark, depth effect, smart content detection, actually-working HDR, 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, 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 and mcdachpappe).
  • Upstreamed updates from 4.9-q branch of Android common kernel for 4.9 LTS (merges courtesy of BananaFunction).

Everything you never wanted to know about slots & A/B devices (but have been forced to find out):​

Notes on stock recovery & TWRP:​

Flashing Instructions:​

Pre-installation prerequisites:​

Updating Firmware:​

First-time installation:​

(when coming from any other ROM or stock OOS or crDroid 8.x or earlier)

Update installation:​

Please see post #2 for current boot.img files, information about Google apps & microG, release notes, installation notes, known issues, and lots of helpful links.
Please see post #3 for information about bug reporting & troubleshooting.

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/13.0-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/9
https://crdroid.net/fajita/9

Changelog:​

https://crdroid.net/enchilada/9#changelog
https://crdroid.net/fajita/9#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)
Last edited: Thursday at 10:11 PM

General Notes:

  • 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 (13.0 arm64).
    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 & reasoning:
    https://wiki.lineageos.org/gapps.html
  • MindTheGapps are recommended and considered the default supported configuration for either Android 12 or 13 (per the LineageOS wiki, linked above). Assistant works great out of the box.
    Note on Google Keyboard: It used to only allow for on-device recognition if installed as a system app (as part of a Google apps package, before first boot). This no longer seems to be the case, so don't bother trying to install it as a Nik add-on on top of MindTheGapps. It works great straight from the Play Store.
    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 13.0, although it has historically 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.
    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 I have no idea about in Android 13.0.
    https://flamegapps.github.io/download.html
  • OpenGApps are not recommended, for reasons outlined in the LineageOS wiki link above.
  • BitGApps ... exist. No idea how that's going.
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 9.0 - November 2022 ASB release notes/changelog:

Changelog for initial Android 13 release (notable changes moving forward from Android 12 device trees/kernel):
  • Merged November ASB & changes from upstream LineageOS device/kernel/vendor trees.
  • It's a new major Android version; if you want to see changes since previous testing builds, join the Telegram group.
  • Kernel updated to 4.9.333 with updates merged from Google's AOSP 4.9 LTS repository (thanks to BananaFunction).
  • Updated my stack of kernel commits, including refreshed wifi & power commits and numerous other tweaks from MCD kernel r19 (thanks, Danny! 🖤 ).
  • Kernel adreno driver should no longer aggressively try to downclock GPU below 40% battery (causing everything to be sluggish regardless of CPU settings).
  • NFC stack is now built from source, and some security authentication apps might struggle running under Android 13. NFC itself seems to be working fine & Google Wallet for contactless payment seems to be working fine.
  • I would've gotten this release out a month ago except it took that long to figure out how to get OnePlus Camera & Gallery back to 100% working again (huge thanks to Weritos & jabashque).
  • Dropped "Multiple intensities" vibration option from Accessibility/haptics, since it never actually worked correctly. Use DeviceExtras for controlling vibration strength.
  • Look, DASH charging & Smart Charging & a bunch of other things took way more work to figure out how to get them to behave (nearly) the same as they did before than they should have. Takes time to make it appear like a simple, easy update.

9.0 Installation notes:​

  • Plan on doing a clean flash when changing major Android system versions (so if you're coming from crDroid 8 and want to give me a bug report, back up your data & factory reset & do a clean flash, because I'll ignore you otherwise). If you don't, and just try to dirty flash update from 8.x to 9.x, you might have issues with NFC, OnePlus Camera/Gallery, itchiness, frequent/painful urination, and in very few cases spontaneous human combustion. Safety not guaranteed.
  • If you're coming from stock or another ROM, reboot to bootloader and fastboot flash the boot.img for your device (enchilada or fajita, attached below) to both boot slots, then reboot to bootloader again *so it actually loads the new recovery ramdisk*.
  • YOU SHOULD INSTALL FROM CRDROID RECOVERY, since we can't do a clean flash from built-in Updater, and we DON'T want to run addon.d scripts because you need to update to a newer GApps package. So follow the regular adb sideloading process from recovery (reboot to recovery, format data if doing clean install, adb sideload ROM zip, reboot to recovery to trigger slot switch, adb sideload GApps/microG/magisk/whatever, then reboot to system).
  • MindTheGapps is the recommended Google Apps package (it says it already above, but people always suck at reading comprehension).
  • Did you see anything in here about TWRP? Neither did I. Follow these instructions if you want support.

Known issues:

  • Users upgrading from 8.x should plan on doing a clean flash, and again,
  • Smart charging doesn't always stop exactly at the specified percentage when using a DASH charger or when device is in deep sleep. That's as smart as it gets for initial Android 13 release.
  • "Haptic feedback on Back gesture" feature doesn't actually work yet. Needs investigation after we worry about updating to December ASB sources.
  • Haptic feedback for tri-state-key disappears when you turn off "touch feedback" haptics now, when it wasn't like that before. Android 13, amirite? Not marking as an issue after this, because it's different, not bugged.
  • Custom fonts don't apply properly to 3rd party apps. It's in the crDroid GitHub issue tracker already.
  • Maintainer is busy af in real life and often takes forever to get official releases tested & out. People who ask for help without reading a damn thing first aren't helping matters.
  • You tell me, with logs!

Other helpful links:​

Attachments

  • crDroidAndroid-13.0-20221213-enchilada-v9.0_boot.img
    64 MB · Views: 91
  • crDroidAndroid-13.0-20221213-fajita-v9.0_boot.img
    64 MB · Views: 13
Last edited: Thursday at 5:05 AM

LOGS OR IT DIDN'T HAPPEN​

How to make bug reports (and how not to):​

i appreciate bug reports, but I also need details. If an app is crashing ("FCing", meaning "force closing") then at a bare minimum, copy the crash log URL and share that with your report.
That probably won't be enough, though, which is why there are two main logs that I'll ask for:

1. logcat​

You can either use the built-in MatLog tool to acquire this, or get it via USB debugging and adb on the computer (which was in the prerequisites section of the XDA first post, so you installed platform-tools and have adb & fastboot on your PATH, riiiight? 😜)

Using MatLog
  • MatLog is shipped built-in, and it works great. It's built for an older API though, so you'll need to manually grant it permission to access all files (it doesn't know enough to ask since it's a system app and assumes itself to be privileged). If you don't, then you can only use the "Sharing" interface to save logs, rather than saving them to internal storage.
  • To use, open the MatLog app, and go into settings and tick the box for "omit sensitive info" so that you don't end up sharing your IMEI or email addresses with the world. Probably still best if you PM me the logs instead of share to the group.
  • Ideally if it's a reproducible problem, reboot, open MatLog, do the thing that causes the buggy behavior, switch back to MatLog, tap on the menu and choose "Save Zip", then send me the resulting file (they're saved to /sdcard/matlog/saved_logs/). Otherwise, try to open it as soon after the issue as possible and Save Zip.
Using ADB (Android debug bridge)
  • Since we're currently building as "userdebug", you can always grab a logcat even without being rooted. I'm assuming you've got adb and fastboot installed & can run them from a terminal.
  • Enable Developer Options if you haven't already by going to "Settings" > "About Phone" > scroll down to the bottom and tap on the "Build number" field 7 times to enable, then back up to System and choose the new "Developer options" menu, and toggle on "Enable USB debugging".
  • Connect the phone to computer via USB, then on the computer open a terminal type adb devices to start the server & verify you can see the phone. At this point you might get a prompt on the phone asking if you want to trust the computer with some ID for debugging; tell it yes (probably always yes, in case you need to do troubleshooting later due to a boot loop). You should see your phone's serial number listed under the output of adb devices in the terminal window. If not, you probably need to install OnePlus USB drivers.
  • Run adb logcat from the terminal and get ready for a wall of text. Ctrl-C to stop the firehose after about 10 seconds. Save the output to a file. Note: this is the stupid way assuming you just opened a command window or built-in PowerHhell in Windows. Any linux shell or current version of PowerShell should instead be able to just run adb logcat > logcat.txt to dump the output directly to a text file in the current working directory without the wall of text; just give it about 10-15 seconds and Ctrl-C to stop the capture.
  • That's it! PM me the file, with any other details about what's happening and your setup (device, how you flashed, GApps, and so on).

2. dmesg​

Requires root, probably USB debugging, platform-tools added to your PATH, and knowledge of what the below instructions mean
  • Open a root shell on the phone (via local terminal or adb shell via USB).
  • Run dmesg and save the output to a text file.
  • PM me the dmesg.txt file, along with a logcat capture as well, and a detailed description of what the problem is, what the behavior is you noticed, how to reproduce, details of your setup (which device, what GApps, what Magisk modules, any custom kernels, how you installed, and so on).
If you are rooted, I highly recommend installing & using SysLog (by Tortel), available on the Play Store and on F-Droid; it's a GUI app that lets you easily capture both logcat & dmesg & can generate zip archives to send to your favorite maintainer, while allowing for scrubbing potentially sensitive data, and has some other advanced filtering options.

3. A detailed description of the actual problem & how to reproduce​

Maintainer is not a mind-reader
  • Describe what the actual problematic behavior is, compared to what the expected behavior is. Don't just throw a logcat at me and expect me to figure out what you think was actually wrong. Explain how to reproduce the bug, and what you were doing at the time. Give me details about your configuration: are you actually on the most current version, did you clean install, did you use the recommended MindTheGapps package, are you rooted & if so what add ons/modules/root-required utilities are you using regularly, etc.
  • A picture is worth a thousand words. Moving pictures even moreso. If you can use screenshots, or better yet a screen recording, to show me how something is failing, that helps a TON.
  • Realize that a number of things are beyond my control. I'm not a software developer, I'm not on the ROM dev team, and some things might never get resolved. It's *still* better than OnePlus though, hey?
  • Feature requests are not bug reports. If you don't have a stack of tested commits that you can submit as a pull request for the dev team to merge, it's not likely to happen. But you can always ask politely!

Other Notes:​

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 root-required modifications & Magisk modules like Project Themer, Xposed/Riru, Dolby Atmos, Viper4A, modified Adreno GPU drivers, etc.
  • immediately start flashing stuff like "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 in the first post.

"Supported" status - Updating from crDroid 8.x:​

To be considered a "supported configuration", I need for folks to do a clean installation when jumping from Android 12 to 13, rather than trying to migrate from crDroid 8.x to 9.x. So do your backups accordingly, because internal storage on the phone is gonna get wiped.

It generally works to do a dirty upgrade from recovery, as long as you reboot to recovery & flash an Android 13 version of the EXACT SAME GOOGLE APPS PACKAGE AS YOU HAD BEFORE, but there's going to be odd things broken and you're really better off doing a clean install for a new major Android version number change.

Connectivity issues:​

If you are having problems with wifi or mobile data under Android 13, try some of the following (and please let us know if one/all actually fixed things for you):
  • Go into Settings > Network & internet, scroll down to "Private DNS" and choose a different private DNS provider or simply turn the feature off.
  • Go into Settings > Network & internet, scroll down to "Connectivity check" and turn it off (in case connections to Google are being filtered at the network level).
  • Go into Settings > Network & internet > Internet, tap the gear icon next to the wifi network you're trying to connect to, and change Privacy to "Use device MAC" (some networks actively reject spoofed MAC addresses).
  • Go into Settings > Network & internet > Calls & SMS, and make sure your primary SIM is actually selected for calls, messages, and mobile data, then back up one menu level, go into SIMs, select your SIM if needed, and make sure "Mobile data" is toggled on.
  • Go into Settings > Network & internet > SIMs, select your SIM, and change the radio mode to one of the ones that *doesn't* start with "NR", like "LTE/TDSCDMA/CDMA/EvDO/GSM/WCDMA" (or the one without the CDMA/EvDO stuff if you know you're not on a CDMA carrier).
  • Go into Settings > Network & internet > SIMS, select your SIM, go into Access Point Names, and make sure you've got the correct APN selected.
  • Go into Phone (whatever you have for the default dialer), keypad, type in *#*#4636#*#* to open the "Testing" activity, choose "Phone information", then in the three-dot menu in the upper-right, choose "Select Radio Band" and choose the correct region instead of leaving it on "Automatic".
Last edited: Tuesday at 6:52 PM
One huge ass bug report coming right up 🤡

Reactions: Terminator.J

Aaaand we're official!
Just in time to merge Android 13.0_r16 qpr1, which is an enormous rebase of android/frameworks/base/ with over 10K commits different, so Neobuddy89 and the rest of the team have been busy trying to redo all our customization/features on top of THAT for a week now. So everything that was finally working is probably broken again, sweeeeeet! 😅

Reactions: kmr168401

runtosafety

Member
Apr 2, 2011
Thanks again for your work.

I know dirty flash isn't the recommended way, but this worked for me:
OTA 8.10 -> 8.11 -> fastboot flash boot.img to both slots (just in case something's changed since I flashed it the last time) -> reboot to recovery -> dirty flash 9.0 -> flash NikGApps Basic (not the recommended GApps, I know, but I found out too late to switch) - > flash Magisk -> reboot to system.
Last time when I tried to dirty flash 7 to 8, I got a bootloop since I was one version behind unlike this guy, so I figured waiting for the latest 8 release might be the right thing.

So far, so good. System feels much more responsive now and all the minor issues I encountered in crDroid 8 are gone (not sure about RAM management yet, I'll see).

I had a few issues initially, but everything's resolved now:
  1. I had a "Settings Services not responding" pop-up after the first boot, which I fixed by clearing the app's storage
  2. My 6T randomly became completely unresponsive after locking a screen (with a double-tap on the default launcher, I think). I've encountered a similar issue on crDroid 8 several times before, but I think that had something to do with the pocket mode. When it happened on 8, I'd have to force reboot with hardware buttons. This time however long pressing the power button showed me the power menu (although it looked like a standard Android one, with a white background and only 3 options, unlike the crDroid one). This has only happened once and hopefully never will again
My only pet peeves (probably upstream issues and not out device-specific) are:
  1. Weather service doesn't seem to be working (neither OpenWeatherMap nor MET Norway, neither on lockscreen nor the OmniJaws widget). Do I need a custom OWM key?
  2. Mobile icon used to hide when data was off. Now there's a permanent data disabled indicator, which is kinda annoying but I guess I'll get used to it 😅

Adnan Hussaini

New member
Nov 10, 2021
Aaaand we're official!
Just in time to merge Android 13.0_r16 qpr1, which is an enormous rebase of android/frameworks/base/ with over 10K commits different, so Neobuddy89 and the rest of the team have been busy trying to redo all our customization/features on top of THAT for a week now. So everything that was finally working is probably broken again, sweeeeeet! 😅

Bluetooth keeps crashing.Any One Experiencing the same?

Awner

New member
Jan 31, 2019
For some reason, the GPS doesn't work (in google maps for example). Gave all of the apps location access and made sure to turn on the "use location" toggle. All location services are turned on as well (e.g. google location accuracy). However, location data does work in the metadata of pictures taken by the camera app.

Top Liked Posts

  • General Notes:

    • 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 (13.0 arm64).
      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 & reasoning:
      https://wiki.lineageos.org/gapps.html
    • MindTheGapps are recommended and considered the default supported configuration for either Android 12 or 13 (per the LineageOS wiki, linked above). Assistant works great out of the box.
      Note on Google Keyboard: It used to only allow for on-device recognition if installed as a system app (as part of a Google apps package, before first boot). This no longer seems to be the case, so don't bother trying to install it as a Nik add-on on top of MindTheGapps. It works great straight from the Play Store.
      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 13.0, although it has historically 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.
      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 I have no idea about in Android 13.0.
      https://flamegapps.github.io/download.html
    • OpenGApps are not recommended, for reasons outlined in the LineageOS wiki link above.
    • BitGApps ... exist. No idea how that's going.
    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 9.0 - November 2022 ASB release notes/changelog:

    Changelog for initial Android 13 release (notable changes moving forward from Android 12 device trees/kernel):
    • Merged November ASB & changes from upstream LineageOS device/kernel/vendor trees.
    • It's a new major Android version; if you want to see changes since previous testing builds, join the Telegram group.
    • Kernel updated to 4.9.333 with updates merged from Google's AOSP 4.9 LTS repository (thanks to BananaFunction).
    • Updated my stack of kernel commits, including refreshed wifi & power commits and numerous other tweaks from MCD kernel r19 (thanks, Danny! 🖤 ).
    • Kernel adreno driver should no longer aggressively try to downclock GPU below 40% battery (causing everything to be sluggish regardless of CPU settings).
    • NFC stack is now built from source, and some security authentication apps might struggle running under Android 13. NFC itself seems to be working fine & Google Wallet for contactless payment seems to be working fine.
    • I would've gotten this release out a month ago except it took that long to figure out how to get OnePlus Camera & Gallery back to 100% working again (huge thanks to Weritos & jabashque).
    • Dropped "Multiple intensities" vibration option from Accessibility/haptics, since it never actually worked correctly. Use DeviceExtras for controlling vibration strength.
    • Look, DASH charging & Smart Charging & a bunch of other things took way more work to figure out how to get them to behave (nearly) the same as they did before than they should have. Takes time to make it appear like a simple, easy update.

    9.0 Installation notes:​

    • Plan on doing a clean flash when changing major Android system versions (so if you're coming from crDroid 8 and want to give me a bug report, back up your data & factory reset & do a clean flash, because I'll ignore you otherwise). If you don't, and just try to dirty flash update from 8.x to 9.x, you might have issues with NFC, OnePlus Camera/Gallery, itchiness, frequent/painful urination, and in very few cases spontaneous human combustion. Safety not guaranteed.
    • If you're coming from stock or another ROM, reboot to bootloader and fastboot flash the boot.img for your device (enchilada or fajita, attached below) to both boot slots, then reboot to bootloader again *so it actually loads the new recovery ramdisk*.
    • YOU SHOULD INSTALL FROM CRDROID RECOVERY, since we can't do a clean flash from built-in Updater, and we DON'T want to run addon.d scripts because you need to update to a newer GApps package. So follow the regular adb sideloading process from recovery (reboot to recovery, format data if doing clean install, adb sideload ROM zip, reboot to recovery to trigger slot switch, adb sideload GApps/microG/magisk/whatever, then reboot to system).
    • MindTheGapps is the recommended Google Apps package (it says it already above, but people always suck at reading comprehension).
    • Did you see anything in here about TWRP? Neither did I. Follow these instructions if you want support.

    Known issues:

    • Users upgrading from 8.x should plan on doing a clean flash, and again,
    • Smart charging doesn't always stop exactly at the specified percentage when using a DASH charger or when device is in deep sleep. That's as smart as it gets for initial Android 13 release.
    • "Haptic feedback on Back gesture" feature doesn't actually work yet. Needs investigation after we worry about updating to December ASB sources.
    • Haptic feedback for tri-state-key disappears when you turn off "touch feedback" haptics now, when it wasn't like that before. Android 13, amirite? Not marking as an issue after this, because it's different, not bugged.
    • Custom fonts don't apply properly to 3rd party apps. It's in the crDroid GitHub issue tracker already.
    • Maintainer is busy af in real life and often takes forever to get official releases tested & out. People who ask for help without reading a damn thing first aren't helping matters.
    • You tell me, with logs!

    Other helpful links:​

    BE3pE0l.png

    *** Disclaimer ***​

    I am not responsible for any damage you cause to your device.
    I hope you like reading.
    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:​

    See our current feature list at our GitHub!

    Device-specific:​

    • OnePlus Camera & Gallery fully working (using APKs directly from OOS 11.1.2.2 or apkmirror.com with verifiable signatures; currently shipping OnePlus Camera v3.14.40 and OnePlus Gallery v4.0.297); including 60fps video recording in 1080p & 4K, watermark, depth effect, smart content detection, actually-working HDR, 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, 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 and mcdachpappe).
    • Upstreamed updates from 4.9-q branch of Android common kernel for 4.9 LTS (merges courtesy of BananaFunction).

    Everything you never wanted to know about slots & A/B devices (but have been forced to find out):​

    Notes on stock recovery & TWRP:​

    Flashing Instructions:​

    Pre-installation prerequisites:​

    Updating Firmware:​

    First-time installation:​

    (when coming from any other ROM or stock OOS or crDroid 8.x or earlier)

    Update installation:​

    Please see post #2 for current boot.img files, information about Google apps & microG, release notes, installation notes, known issues, and lots of helpful links.
    Please see post #3 for information about bug reporting & troubleshooting.

    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/13.0-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/9
    https://crdroid.net/fajita/9

    Changelog:​

    https://crdroid.net/enchilada/9#changelog
    https://crdroid.net/fajita/9#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)

    LOGS OR IT DIDN'T HAPPEN​

    How to make bug reports (and how not to):​

    i appreciate bug reports, but I also need details. If an app is crashing ("FCing", meaning "force closing") then at a bare minimum, copy the crash log URL and share that with your report.
    That probably won't be enough, though, which is why there are two main logs that I'll ask for:

    1. logcat​

    You can either use the built-in MatLog tool to acquire this, or get it via USB debugging and adb on the computer (which was in the prerequisites section of the XDA first post, so you installed platform-tools and have adb & fastboot on your PATH, riiiight? 😜)

    Using MatLog
    • MatLog is shipped built-in, and it works great. It's built for an older API though, so you'll need to manually grant it permission to access all files (it doesn't know enough to ask since it's a system app and assumes itself to be privileged). If you don't, then you can only use the "Sharing" interface to save logs, rather than saving them to internal storage.
    • To use, open the MatLog app, and go into settings and tick the box for "omit sensitive info" so that you don't end up sharing your IMEI or email addresses with the world. Probably still best if you PM me the logs instead of share to the group.
    • Ideally if it's a reproducible problem, reboot, open MatLog, do the thing that causes the buggy behavior, switch back to MatLog, tap on the menu and choose "Save Zip", then send me the resulting file (they're saved to /sdcard/matlog/saved_logs/). Otherwise, try to open it as soon after the issue as possible and Save Zip.
    Using ADB (Android debug bridge)
    • Since we're currently building as "userdebug", you can always grab a logcat even without being rooted. I'm assuming you've got adb and fastboot installed & can run them from a terminal.
    • Enable Developer Options if you haven't already by going to "Settings" > "About Phone" > scroll down to the bottom and tap on the "Build number" field 7 times to enable, then back up to System and choose the new "Developer options" menu, and toggle on "Enable USB debugging".
    • Connect the phone to computer via USB, then on the computer open a terminal type adb devices to start the server & verify you can see the phone. At this point you might get a prompt on the phone asking if you want to trust the computer with some ID for debugging; tell it yes (probably always yes, in case you need to do troubleshooting later due to a boot loop). You should see your phone's serial number listed under the output of adb devices in the terminal window. If not, you probably need to install OnePlus USB drivers.
    • Run adb logcat from the terminal and get ready for a wall of text. Ctrl-C to stop the firehose after about 10 seconds. Save the output to a file. Note: this is the stupid way assuming you just opened a command window or built-in PowerHhell in Windows. Any linux shell or current version of PowerShell should instead be able to just run adb logcat > logcat.txt to dump the output directly to a text file in the current working directory without the wall of text; just give it about 10-15 seconds and Ctrl-C to stop the capture.
    • That's it! PM me the file, with any other details about what's happening and your setup (device, how you flashed, GApps, and so on).

    2. dmesg​

    Requires root, probably USB debugging, platform-tools added to your PATH, and knowledge of what the below instructions mean
    • Open a root shell on the phone (via local terminal or adb shell via USB).
    • Run dmesg and save the output to a text file.
    • PM me the dmesg.txt file, along with a logcat capture as well, and a detailed description of what the problem is, what the behavior is you noticed, how to reproduce, details of your setup (which device, what GApps, what Magisk modules, any custom kernels, how you installed, and so on).
    If you are rooted, I highly recommend installing & using SysLog (by Tortel), available on the Play Store and on F-Droid; it's a GUI app that lets you easily capture both logcat & dmesg & can generate zip archives to send to your favorite maintainer, while allowing for scrubbing potentially sensitive data, and has some other advanced filtering options.

    3. A detailed description of the actual problem & how to reproduce​

    Maintainer is not a mind-reader
    • Describe what the actual problematic behavior is, compared to what the expected behavior is. Don't just throw a logcat at me and expect me to figure out what you think was actually wrong. Explain how to reproduce the bug, and what you were doing at the time. Give me details about your configuration: are you actually on the most current version, did you clean install, did you use the recommended MindTheGapps package, are you rooted & if so what add ons/modules/root-required utilities are you using regularly, etc.
    • A picture is worth a thousand words. Moving pictures even moreso. If you can use screenshots, or better yet a screen recording, to show me how something is failing, that helps a TON.
    • Realize that a number of things are beyond my control. I'm not a software developer, I'm not on the ROM dev team, and some things might never get resolved. It's *still* better than OnePlus though, hey?
    • Feature requests are not bug reports. If you don't have a stack of tested commits that you can submit as a pull request for the dev team to merge, it's not likely to happen. But you can always ask politely!

    Other Notes:​

    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 root-required modifications & Magisk modules like Project Themer, Xposed/Riru, Dolby Atmos, Viper4A, modified Adreno GPU drivers, etc.
    • immediately start flashing stuff like "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 in the first post.

    "Supported" status - Updating from crDroid 8.x:​

    To be considered a "supported configuration", I need for folks to do a clean installation when jumping from Android 12 to 13, rather than trying to migrate from crDroid 8.x to 9.x. So do your backups accordingly, because internal storage on the phone is gonna get wiped.

    It generally works to do a dirty upgrade from recovery, as long as you reboot to recovery & flash an Android 13 version of the EXACT SAME GOOGLE APPS PACKAGE AS YOU HAD BEFORE, but there's going to be odd things broken and you're really better off doing a clean install for a new major Android version number change.

    Connectivity issues:​

    If you are having problems with wifi or mobile data under Android 13, try some of the following (and please let us know if one/all actually fixed things for you):
    • Go into Settings > Network & internet, scroll down to "Private DNS" and choose a different private DNS provider or simply turn the feature off.
    • Go into Settings > Network & internet, scroll down to "Connectivity check" and turn it off (in case connections to Google are being filtered at the network level).
    • Go into Settings > Network & internet > Internet, tap the gear icon next to the wifi network you're trying to connect to, and change Privacy to "Use device MAC" (some networks actively reject spoofed MAC addresses).
    • Go into Settings > Network & internet > Calls & SMS, and make sure your primary SIM is actually selected for calls, messages, and mobile data, then back up one menu level, go into SIMs, select your SIM if needed, and make sure "Mobile data" is toggled on.
    • Go into Settings > Network & internet > SIMs, select your SIM, and change the radio mode to one of the ones that *doesn't* start with "NR", like "LTE/TDSCDMA/CDMA/EvDO/GSM/WCDMA" (or the one without the CDMA/EvDO stuff if you know you're not on a CDMA carrier).
    • Go into Settings > Network & internet > SIMS, select your SIM, go into Access Point Names, and make sure you've got the correct APN selected.
    • Go into Phone (whatever you have for the default dialer), keypad, type in *#*#4636#*#* to open the "Testing" activity, choose "Phone information", then in the three-dot menu in the upper-right, choose "Select Radio Band" and choose the correct region instead of leaving it on "Automatic".
    If I were you, I'd have reservations about this as well.
    One huge ass bug report coming right up 🤡

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK