[ROM][12.1][Official]crDroid Android[v8.14][March 2023 ASB] - OnePlus 6 & 6T Cross Device Development

NOTICE: crDroid 8.x (Android 12) is moving into maintenance-only release mode, and no new feature changes should be expected.
I'll be merging monthly Android Security Bulletins from upstream as they're available, and pushing releases, but they'll be blind builds going forward.
Please consider updating to crDroid 9.x (Android 13):
crDroid 9.x XDA thread - OP 6/6T
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
*** 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, 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 and mcdachpappe).
Everything you never wanted to know about slots & A/B devices (but have been forced to find out):​
Spoiler: Show/Hide
"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 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 "inactive" upon next reboot; causing it to attempt to boot from the formerly-inactive slot's boot partition.
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 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 this custom ROM over it. So please; update to OOS 11.1.2.2 firmware (see instructions below).
Notes on stock recovery & TWRP:​
Spoiler: Show/Hide
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 has been described as a hot mess, the official releases for enchilada & fajita have not had good compatibility with Android 12 or newer (trouble with decrypting file-based encryption for userdata), and there are too many variations & unofficial TWRP-based recoveries for me to keep track of.
Meanwhile, the stock crDroid recovery (based on LineageOS) intentionally cannot decrypt userdata, and doesn't correctly process addon.d OTA survival scripts on A/B devices; 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 "proper" custom recovery until the Lineage team 1) implements userdata decryption so you can manage files in /data and install updates from internal storage, 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"), and 3) gets the updater to call backuptool correctly & process addon.d OTA survival scripts on A/B devices. 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.
The built-in recovery DOES support use of a USB thumb drive and will mount it in OTG mode, so any place in the instructions you see "adb sideload", you can instead copy all your things to a FAT32- or exFAT-formatted USB stick and then apply the update from there instead.
Flashing Instructions:​Pre-installation prerequisites:​
Spoiler: Show/Hide
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. You may also want a utility like 7-zip in order to extract .tgz files under Windows.
Updating Firmware:​
Spoiler: Show/Hide
Reboot phone to bootloader (no USB cable connected until you've entered OEM bootloader).
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 listed above.
Reboot to bootloader again (actually loads new bootloader contents 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 9.x from another ROM, continue with the first-time installation instructions below.
First-time installation:​(when coming from any other ROM or stock OOS or crDroid 7.x or earlier)
Spoiler: Show/Hide
*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 "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 "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 "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:​
Spoiler: Show/Hide
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 (or use a USB drive with appropraite files copied to it and choose OTG as the update source instead).
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.
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/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
https://github.com/Terminator-J/vendor_ih8sn
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)

General Notes:​
Maintainer is only 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.1 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 & reasoning:
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.
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 8.14 - March 2023 ASB release notes/changelog: ​Changelog since v8.13 hotfix 1 release:
Merged February and March 2023 Android Security Bulletins & any changes from upstream LineageOS device/kernel/vendor trees (lineage-19.1 branch).
Whatever the ROM dev teams changed upstream in LineageOS and crDroid sources (not much? they're busy with Android 13).
Other misc fixes ... probably.
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 (mostly that big ugly blank spot at the top after reboot before unlocking).
(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:​
Download ROM: enchilada / fajita
Download current boot.img files: enchilada / fajita (also attached below)
Android platform tools (adb & fastboot)
OxygenOS 11.1.2.2 Full OTA: enchilada / fajita
Firmware update instructions (LineageOS Wiki): enchilada / fajita
MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade): enchilada / fajita
Magisk (recommend latest canary version)

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).
Protip: If you're not rooted, since this is a "userdebug" build, you can go into Settings > System > Developer options, turn on the toggle for "Rooted debugging", and then on your computer, do adb root to restart the adb server process. The next adb shell you run from the computer will get superuser privilege instead and you can run dmesg or do other things without having to root with Magisk.
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 7.x:​To be considered a "supported configuration", I need for folks to do a clean installation when jumping from Android 11 to 12, rather than trying to migrate from crDroid 7.x (Android 11, prebuilt vendor partition) to 8.x (Android 12.1, source-built vendor partition). 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 a newer 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 mobile data under Android 12, 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 "Adaptive Connectivity" and turn it off
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"

thank you boss, thx for this hard work

crDroidAndroid-12.1-20220709-enchilada-v8.6.zip
is it Beta version..?

Yay we're finally official! Come 'n' get it kids!

syamkumar.tpl said:
crDroidAndroid-12.1-20220709-enchilada-v8.6.zip
is it Beta version..?
Click to expand...
Click to collapse
Nope, I just PR'd last night to go official and it was accepted.
crDroid 8.x has stricter requirements for device maintainers with Android 12 releases, so until now I've only been able to classify the 8.x builds I've been working on for the last several months as betas, and honestly I haven't had the time until now to set up all of the XDA pages, so they've just been linked in the Telegram chat group.

(also, please don't link to the sourceforge files directly -- having people go through the crdroid.net website and have ads displayed helps fund the ROM dev team's server costs. Unless you don't WANT the ROM to keep getting developed, of course...)

Terminator.J said:
If you're feeling super-adventurous, you *might* be able to update to the latest release of 7.x (I'm finally getting around to making official 7.19 builds now), then reboot to bootloader, flash the boot.img to current slot, reboot bootloader, start recovery, flash the 8.x ROM zip from recovery, reboot recovery AGAIN, flash an Android 12.1-compatible version of the same Google apps or microG package you were using, plus Magisk if you're using that, and boot into system... but... I have no idea how well that will work, or not.
I can't afford to consider that an officially-supported configuration, because I have no idea what will be broken or not; but I'm interested to know if it works for you.
Click to expand...
Click to collapse
Thank you for your work!
I just updated on my OnePlus 6 crDroid from version 7.19 to 8.6. For a quick check what I checked is working fine, all data is preserved.
Thanks!

tomasz-c said:
Thank you for your work!
I just updated on my OnePlus 6 crDroid from version 7.19 to 8.6. For a quick check what I checked is working fine, all data is preserved.
Thanks!
Click to expand...
Click to collapse
Oh holy crap, it worked?! That's... kind of amazing. I didn't expect it to work, ngl. Thanks for the report, and enjoy!
___
If you don't mind me asking; what GApps (if any) did you have before & which package did you flash as part of the update, what recovery or with built-in updater in Settings > System > Updater, etc etc.?

Terminator.J said:
Oh holy crap, it worked?! That's... kind of amazing. I didn't expect it to work, ngl. Thanks for the report, and enjoy!
Click to expand...
Click to collapse
Yes, it worked And could you explain why it surprised you? Looks like it was more risky than I thought but I made copies beforehand, of course.
All the apps I checked work without any problem. Contacts, SMS, call history, photos and other data on storage and data of other apps are preserved.
I didn't remove the encryption before the update and my pin (sign) works fine.
In the previous post I forgot to add an important piece of information: I don't use GApps so I didn't test it.
At first I uploaded boot.img to both slots (because I forgot that in the description for the update it said to upload to one) but I guess it doesn't matter. I uploaded crDroidAndroid-12.1-20220709-enchilada-v8.6.zip to slot B, rebooted it booted after a long while (probably updating something) Android 12.1, when I saw that it worked I rebooted to recovery and uploaded it to slot A as well.

Terminator.J said:
If you don't mind me asking; what GApps (if any) did you have before & which package did you flash as part of the update, what recovery or with built-in updater in Settings > System > Updater, etc etc.?
Click to expand...
Click to collapse
I only now saw the questions in the second part of your post.
Basically, I did it as you stated in the instructions: "First time installation:" only without the "Factory reset / Wipe data" step and without installing GApps, because I don't use them.
To begin with, I updated to the latest version of crDroid 7.x (7.19)
Reboot phone to bootloader
fastboot flash boot_a crDroidAndroid-12.1-20220709-enchilada-v8.6_boot.img
fastboot flash boot_b crDroidAndroid-12.1-20220709-enchilada-v8.6_boot.img
Reboot phone to bootloader.
Use vol +/- keys to select recovery mode & press power button to enter recovery.
On phone, in red menu recovery choose "Apply update" > "Apply from ADB" > "ADB sideload" & then from computer,
adb sideload crDroidAndroid-12.1-20220709-enchilada-v8.6.zip
Reboot to system
When I saw that everything worked I rebooted to recovery and uploaded the zip image to the second slot via ADB Sideload.
I didn't have GApps before and didn't install them afterwards because I don't use them.

I noticed that on the keyboard AOSP in Polish:
- swiping does not work,
- spell check does not work,
- word prompting does not work,
All these things worked on crDroid 7.19. Now they also work but in other popular languages, such as German or English.
I've tried deleting all AOSP keyboard app data and reconfiguring it from scratch, but that doesn't help.
Could I ask someone who has a clean installation to check this? Because without confirming it, it's unlikely to report the error.

8.7 testing releases available in the OP 6/6T TG channel if anyone is feeling adventurous!

Thanks for your hard work.
ROM runs pretty well, although there are some minor yet annoying issues (don't know if they have been mentioned in the Telegram group but I'll list them here anyway).
Sometimes the notification shade noticeably lags.
Text selection menu (cut, copy, etc) doesn't appear after selecting, I have to long tap the selection again for it to appear. It happens for both input fields and usual text (e.g. on a web page)
Gboard doesn't always save the buffer content into the clipboard manager. Same applies for the paste suggestions. Maybe I should install it as a system app? (I'm pretty sure I used it as a user app on crDroid 7 though)
Apps seem to unload from RAM more aggressively than on crDroid 7.
I guess they were removed in crDroid 8, but there used to be settings for weather on lock screen and smart charging (auto-disabling charging at XX%).
In quick settings, when I tap mobile data, it takes very long for the animation to switch on/off while Wi-Fi is on (only the animation). Sometimes it will get stuck at on or off until I reopen the notification shade. Also if you quickly reopen the shade, the animation will change instantly without any lag. (All this is true regardless of the Mobile data always active developer setting)

runtosafety said:
Thanks for your hard work.
ROM runs pretty well, although there are some minor yet annoying issues (don't know if they have been mentioned in the Telegram group but I'll list them here anyway).
Sometimes the notification shade noticeably lags.
Text selection menu (cut, copy, etc) doesn't appear after selecting, I have to long tap the selection again for it to appear. It happens for both input fields and usual text (e.g. on a web page)
Gboard doesn't always save the buffer content into the clipboard manager. Same applies for the paste suggestions. Maybe I should install it as a system app? (I'm pretty sure I used it as a user app on crDroid 7 though)
Apps seem to unload from RAM more aggressively than on crDroid 7.
I guess they were removed in crDroid 8, but there used to be settings for weather on lock screen and smart charging (auto-disabling charging at XX%).
In quick settings, when I tap mobile data, it takes very long for the animation to switch on/off while Wi-Fi is on (only the animation). Sometimes it will get stuck at on or off until I reopen the notification shade. Also if you quickly reopen the shade, the animation will change instantly without any lag. (All this is true regardless of the Mobile data always active developer setting)
Click to expand...
Click to collapse
So, dirty little not-so-secret: I'm not really sure what I'm doing most of the time. There are a lot of things that seem to be regressions in Android 12, and I believe I've set up overlays correctly to configure crDroid-specific features. But... There are plenty of things where I don't know where to begin, and just assume that it's something that one of the actual core ROM dev team for crDroid (I am a device maintainer, not part of the core dev team) will eventually deal with, or it's just an issue with our specific device, or ... Whatever. Occasionally it's a thing that maybe I can dig up bug reports and logs and reproduce and figure out what's up and fix it.
Most of the things you mention are entirely beyond my control.
1. I believe you. Dunno what to do there; this will probably be an upstream ROM thing that needs to get fixed, but possibly relies on an overlay I need to fix. Usually things like this, I try and try to get to the bottom of it and pull my hair out and waste hours & hours and then it's something that was in the frameworks anyway and I don't know enough Java or Kotlin or C/C++ to have possibly been able to fix it, and then someone else fixes it and I could've just waited and it would've been fine in a month or two.
2. Yeah, I've had that too; seems to depend on app. Can you send me a log after it happens?
3. I'm using GBoard as a user app myself, although that's with MinMicroG, and haven't had problems with it. But I believe you. What GApps are you using?
4. Yeah, I noticed that too. There's work to do tuning things, but I'm not sure where to begin. I'm in a little over my head trying to keep the best of both worlds between just running with the Qualcomm QTI perfd kernel driver, and cutting over to using Google's libperfmgr with power hinting, and their corresponding low memory killer drivers (the "EdwinMoq" commits you may have heard mention of). It feels like I'm getting better performance/battery life right now, with trying to just use some of the "clean up and do some tuning without dropping QTI perfd" commits as an approach, but it might be overkill. If I remove all those things, then we basically end up functioning just like vanilla LineageOS on stock kernel for battery life/performance/smoothness. I'm open to suggestions there.
5. Yes, they were removed. Lock screen was reworked a lot in Android 12, as well as background services, and running the OmniJAWS service (which was intended for older Android versions anyway) apparently broke. Smart charging functionality can be brought back by using the Advanced Charging Control (acc) Magisk module. Best results seem to be by installing the last release of AccA (the graphical front-end), and then manually setting it to use acc module v2022.2.22.1 (newer "android 12 compatible" ones actually kinda fail to work), and then check for a charging switch that supports "battery idle mode" (and toggle on "prioritize battery idle mode").
6. Quick Settings and data handling in Android 12 is... man I don't even know. See point #1. It's not just our device though, from what I've seen scroll by in the crDroid maintainer chat.

Status update (11 August):
There's a lot of stuff I'd like to work on fine-tuning, because I might not be a pro AOSP dev, but I like having things feel polished.
LineageOS has been working on merging the August ASB, maybe they're done by now; and I know Neobuddy89 has been working on merging that into crDroid sources (it wasn't ready to build/test as of a few days ago, but probably fine now).
We finally hit summer weather here and it's been too hot for me to work in the back room where my build computer (and monitor setup) lives, and my wife took the summer off teaching and I've been busy working... And working on real life household projects, cleaning, repairs, dealing with the aftermath of my cousin-in-law passing away, taking care of the kids since school is out; lots of things.
I want to fine-tune things of course, but I'll have to save that for the August security patch or later.
I'll just throw 7.20 (whatever test version) and 8.7 test 2 out to OTA for now as the official releases, because "real artists ship"... And I can't sync crDroid sources now to keep working on July ASB releases because it would probably end up pulling in August changes anyway.
Definitely seems like they've been good enough to release for weeks, I've been daily driving and haven't run into regressions, and I can't let "it's not perfect yet!" prevent people from getting updates.

Terminator.J said:
So, dirty little not-so-secret: I'm not really sure what I'm doing most of the time. There are a lot of things that seem to be regressions in Android 12, and I believe I've set up overlays correctly to configure crDroid-specific features. But... There are plenty of things where I don't know where to begin, and just assume that it's something that one of the actual core ROM dev team for crDroid (I am a device maintainer, not part of the core dev team) will eventually deal with, or it's just an issue with our specific device, or ... Whatever. Occasionally it's a thing that maybe I can dig up bug reports and logs and reproduce and figure out what's up and fix it.
Most of the things you mention are entirely beyond my control.
1. I believe you. Dunno what to do there; this will probably be an upstream ROM thing that needs to get fixed, but possibly relies on an overlay I need to fix. Usually things like this, I try and try to get to the bottom of it and pull my hair out and waste hours & hours and then it's something that was in the frameworks anyway and I don't know enough Java or Kotlin or C/C++ to have possibly been able to fix it, and then someone else fixes it and I could've just waited and it would've been fine in a month or two.
2. Yeah, I've had that too; seems to depend on app. Can you send me a log after it happens?
3. I'm using GBoard as a user app myself, although that's with MinMicroG, and haven't had problems with it. But I believe you. What GApps are you using?
4. Yeah, I noticed that too. There's work to do tuning things, but I'm not sure where to begin. I'm in a little over my head trying to keep the best of both worlds between just running with the Qualcomm QTI perfd kernel driver, and cutting over to using Google's libperfmgr with power hinting, and their corresponding low memory killer drivers (the "EdwinMoq" commits you may have heard mention of). It feels like I'm getting better performance/battery life right now, with trying to just use some of the "clean up and do some tuning without dropping QTI perfd" commits as an approach, but it might be overkill. If I remove all those things, then we basically end up functioning just like vanilla LineageOS on stock kernel for battery life/performance/smoothness. I'm open to suggestions there.
5. Yes, they were removed. Lock screen was reworked a lot in Android 12, as well as background services, and running the OmniJAWS service (which was intended for older Android versions anyway) apparently broke. Smart charging functionality can be brought back by using the Advanced Charging Control (acc) Magisk module. Best results seem to be by installing the last release of AccA (the graphical front-end), and then manually setting it to use acc module v2022.2.22.1 (newer "android 12 compatible" ones actually kinda fail to work), and then check for a charging switch that supports "battery idle mode" (and toggle on "prioritize battery idle mode").
6. Quick Settings and data handling in Android 12 is... man I don't even know. See point #1. It's not just our device though, from what I've seen scroll by in the crDroid maintainer chat.
Click to expand...
Click to collapse
Just updated, I'll see if 8.7 has fixed that.
See the spoiler below for logs.
NikGApps Basic. Yeah, I only noticed it's not a recommended option after installing (although that's what I used on crDroid 7 where I didn't have that issue).
Spoiler: Text selection log
Code:
08-16 22:44:05.021 2387 2387 D BatteryInfoBroadcast: onReceive: android.intent.action.BATTERY_CHANGED isPowerSaveMode: false
08-16 22:44:05.022 2387 2387 D BatteryDefenderNotification: isPlugged: true | isOverheated: false | defenderEnabled: false | isCharged: false
08-16 22:44:07.564 1035 1035 D vendor.qti.vibrator: Vibrator on for timeoutMs: 10
08-16 22:44:07.566 1035 4878 D vendor.qti.vibrator: Starting on on another thread
08-16 22:44:07.576 1035 4878 D vendor.qti.vibrator: Notifying on complete
08-16 22:44:07.577 1035 1035 D vendor.qti.vibrator: QTI Vibrator off
08-16 22:44:07.583 12805 12805 I cr_CompositorSurfaceMgr: Transitioning to surface with format: -1
08-16 22:44:07.592 12805 12805 D androidtc: Initializing SystemTextClassifier, type = System
08-16 22:44:07.593 12805 12805 W androidtc: TextClassifier called on main thread
08-16 22:44:07.595 3597 3597 I AiAiTextClassifier: onCreateTextClassificationSession = TextClassificationSessionId {8321aa96-9441-474e-9836-c6170d716612}
08-16 22:44:07.596 3597 3597 I AiAiTextClassifier: AiaiTextClassifierServiceConnector.onSuggestSelection
08-16 22:44:07.600 12805 12805 I cr_CompositorSurfaceMgr: surfaceCreated format: 0
08-16 22:44:07.667 12805 12805 I cr_CompositorSurfaceMgr: SurfaceState : detach from parent : -3
08-16 22:44:07.668 12805 12805 E cr_CompositorSurfaceMgr: surfaceDestroyed format : -3
08-16 22:44:09.149 1347 4506 D WindowManager: perform drag: [email protected] surface=Surface(name=drag surface)/@0x3a9d179 flags=100 data=ClipData { text/plain {T(8)} }
08-16 22:44:09.149 1347 4506 D WindowManager: registering drag input channel
08-16 22:44:09.171 1347 4506 D WindowManager: broadcasting DRAG_STARTED at (366.0, 1025.0)
08-16 22:44:09.171 1347 1731 W WindowManager: Unexpected ACTION_DOWN in drag layer
08-16 22:44:09.179 1035 1035 D vendor.qti.vibrator: Vibrator on for timeoutMs: 10
08-16 22:44:09.180 1035 4884 D vendor.qti.vibrator: Starting on on another thread
08-16 22:44:09.191 1035 4884 D vendor.qti.vibrator: Notifying on complete
08-16 22:44:09.192 1035 1035 D vendor.qti.vibrator: QTI Vibrator off
08-16 22:44:09.534 1347 1731 D WindowManager: Got UP on move channel; dropping at 366.0,1025.0
08-16 22:44:09.537 1347 1731 D WindowManager: sending DROP to Window{e1f7993 u0 com.vivaldi.browser.snapshot/com.google.android.apps.chrome.Main}
08-16 22:44:09.542 12805 12805 I ViewRootImpl[Main]: Reporting drop result: true
08-16 22:44:09.542 1347 8568 D WindowManager: Drag into new candidate view @ [email protected]
08-16 22:44:09.542 1347 8568 D WindowManager: Drop result=true reported by [email protected]
08-16 22:44:09.542 1347 8568 D WindowManager: unregistering drag input channel
08-16 22:44:09.542 1347 8568 D WindowManager: broadcasting DRAG_ENDED
08-16 22:44:09.542 1347 1731 D WindowManager: Drag ending; tearing down input channel
08-16 22:44:09.545 1347 1731 W InputManager-JNI: Input channel object 'drag (client)' was disposed without first being removed with the input manager!
08-16 22:44:10.880 3014 3086 I PhenotypeProcessReaper: Memory state is: 125
08-16 22:44:11.370 2387 2387 D PowerNotificationWarningsGoogleImpl: onReceive: android.intent.action.BATTERY_CHANGED
08-16 22:44:11.376 2387 2387 D BatteryInfoBroadcast: onReceive: android.intent.action.BATTERY_CHANGED isPowerSaveMode: false
08-16 22:44:11.376 2387 2387 D BatteryDefenderNotification: isPlugged: true | isOverheated: false | defenderEnabled: false | isCharged: false
08-16 22:44:11.768 4405 4485 E QMI_FW : qmi_cci_get_ref: ref count increased 2
08-16 22:44:11.772 4405 4415 E QMI_FW : qmi_cci_get_ref: ref count increased 2
08-16 22:44:11.792 3840 10026 I ConnectivityReport: signalStrength of #1 updated to 2
08-16 22:44:12.054 2387 2387 D PowerNotificationWarningsGoogleImpl: onReceive: android.intent.action.BATTERY_CHANGED
08-16 22:44:12.059 2387 2387 D BatteryInfoBroadcast: onReceive: android.intent.action.BATTERY_CHANGED isPowerSaveMode: false
08-16 22:44:12.059 2387 2387 D BatteryDefenderNotification: isPlugged: true | isOverheated: false | defenderEnabled: false | isCharged: false

Everything blew up this summer in real life.
I finally pushed the 8.7 test 2 that I've been using as a daily driver personally and everyone in Telegram seems to have been more than happy with to OTA as the official July 2022 ASB release, sorry it's like a month late.
The July patch took a long time to merge, and August even longer, but it'll take me a while to release August unless I just skip working on my backlog of bugfix notes entirely.

Okay, I took a mental health day to work on Android stuff.
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.

Related

LineageOS 16.0 (build 20190425) - Microg, sig spoofing with full SafetyNet

UPDATE 06 OCT 2019: I will be returning to the project next week...
Apologies for my long silence over the past few months. After the initial release of this ROM I started focusing on getting the fingerprint sensor to work, which after some struggle I got it working. I then began spending time on removing non-FLOSS apps, services and providers that comes with lineageOS and replacing them with even better FLOSS alternatives. I made some good progress on this and created an automated build script for this. I also wanted to make the installation of the ROM easier, so I even created a script that automates the entire flashing procedure for you....yip...it's pretty cool On the security side I also made some good progress: I've applied several recommended hardening patches to the base system, and also patched the flawed mac-address randomization implementation that still exists in android today.
As I got close to preparing for release, google decided to stop support for maps-api V1 which is used by migrog. This completely broke all map views in apps and even started crashing the mobile browser. Because of the complexity of the android build workflow and tool-chain, I initially thought I screwed something up, but it was only after a couple of days of pulling my hair out people started reporting it on github. I had to wait for the mapbox implementation of microg to be released, and it eventually came a few weeks later.
It was shortly after the release that my personal priorities changed. I've been occupied (visa related) with that ever since but I'm happy to report that I should be able to return back to the project next week. Obviously some time has passed, so I will have to get up to speed with the latest releases of all of the repos and get that merged with my local changes, but that should only take a day. Hopefully there won't be many breaking changes, and if that is the case then I should be in a position to release V2 in about two weeks!
Cheers,
fanix (git-repo here: https://github.com/FaN11X?tab=repositories). Once you see commits you'll know I've started.
New build is available apparently.... don't know if it's the same dev..
UPDATE 08 MAY 2019: I'm in the process of adding support for the in-display fingerprint sensor. Stay tuned.
This is a lineageos 16.0 build from source on 25 April using latest source. The ROM is has been prepatched for system lavel signature spoofing based on the MicroG Android Pie patch (url removed, sigh). I did however change the protection level from "Dangerous" to "Signature|Restricted". This is a more secure way of enable signature patching as it requires the app using signature spoofing to be privaliaged, in other words, it needs to be installed to /system/priv-app in order for it to be granted this permission. This means that you wont be at risk of downloading and installing apps that might abuse signature spoofing.
The ROM also passes FULL SafetyNet with microg installed. It uses a custom build from Nanadroid which contains all the latest code changes which you wont find in there official releases as its not yet been packaged as a release. This solved many issues for me, like safetyNet now passing which allows me to install and run banking applications (like Barclay's Mobile Banking) and also uber seems to work just fine using the UnifiedNLP backend providers.
This custom ROM has NO google related apps or code, and you have the ability to switch on google released integration services through the microg services menu.
WORKING
So far... everything I've tested. (except fingerprint)
NOT WORKING
On-display fingerprint.
Installation steps:
1. Restore to stock firmware. I recommend the following Fastboot ROM as thats the one I used. *url removed* (download file search google "equuleus global images V10.2.2.0.PECMIXM")
2. Put device in fastboot mode (adb reboot bootloader or Power Button + Vol Down)
3. Flash using MiFlash (Find it on google and be sure to select the "FLASH ALL.bat" option at the bottom and NOT the LOCK on, otherwise you will relock your device)
4. After flashing the stock ROM, let it boot up, then enable developer options and USB debugging.
5. Flash TWRP
* adb reboot bootloader
* fastboot erase recovery
* fastboot flash TWRP_equuleus_1102.img
* fastboot boot TWRP_equuleus_1102.img
6. Once in TWRP, goto WIPE and select DATA. Enter the word "yes" and once it is complete, go back to main menu, RESTART=>RECOVERY to reboot and automatically boot back into recovery.
7. Goto WIPE again, but this time WIPE DalvicCache, SYSTEM & Cache by selecting all 3 and wiping them (NO NOT RESTART AFTER THIS STEP
8. Once wipe is complete, push the content from the download folder provided below to the sdcard folder of the phone.
* adb push download_folder_containing_all_the_files /sdcard/
example: adb push /home/fanix/Downloads/lineageosrom /sdcard/
9. Once complete, you are now ready to flash lineage ROM. Select the lineageos zip file and flash it. (filename => lineage-16.0-20190425-UNOFFICIAL-equuleus.zip)
10. Once complete, you can then reboot to system to load lineage. After going through the lineage setup, you can then install microg (if you want)
Optional - Installing microg (from latest nanodroid) FULL SAFETYNET SUPPORTED
* Boot into TWRP (adb reboot recovery)
* Goto INSTALL, and select the following file: (NanoDroid-microG-20.7.92.20190424.zip).
* NOTE: This will install microg, including MsfProxy and UnifiedNLP with 4 backend providers. It will also install Aurora Store & Fake store.
* When install is complete, reboot and once in lineage, you can configure microg. You can log into google store using Aurora, either with your own account or their anonymised account. This allows you to download anything form the google app store, including apps that require verification, like mobile banking apps.
* If you want, you can test your SafetyNET using Magisk. You can find the magisk manager in the download folder. Install that and test SafetyNET. You do NOT need to root your phone to test this, you can simply install the manager. If you want to root your phone, simply boot back into TWRP and select the magisk 19.0 zip file and that will then also root your device.
Enjoy!
DOWNLOAD LINK:
https://drive.google.com/open?id=1aJ...bkaHPw86sgHYMj
I've contacted one of the mods and asked if thye could post the link. Hope they do, otherwise if someone has the ability to post links then message me and i'll PM you the download link which you can then share to the thread.
Cheers
fanix
Hi fanix-uk,
Thank you very much! Is 3D face recognition working or just the 2d with the front camera?
mateHD said:
Hi fanix-uk,
Thank you very much! Is 3D face recognition working or just the 2d with the front camera?
Click to expand...
Click to collapse
Not sure, I haven't tried it. To be honest I've never used that feature on this phone before.
fanix-uk said:
Not sure, I haven't tried it. To be honest I've never used that feature on this phone before.
Click to expand...
Click to collapse
I tried it. Face unlock works with google smartlock. It use IR sensor, not the front camera, but it isn't 3D. So it works without light, but less secure than the stock rom version.
Btw. the rom works perfectly. Thanks again.
Is possible to have the miui camera with this rom?
mateHD said:
I tried it. Face unlock works with google smartlock. It use IR sensor, not the front camera, but it isn't 3D. So it works without light, but less secure than the stock rom version.
Btw. the rom works perfectly. Thanks again.
Click to expand...
Click to collapse
You are most welcome! Thanks for testing it... I'm working on a new release with some really cool features, including
Updated, hardened kernel.
Wireguard kernel module built into kernel.
Removal of non-FOSS apps/providers/services and replace with FOSS alternatives
Weather provider integration with openweathermap.
In-display fingerprint
perillo95 said:
Is possible to have the miui camera with this rom?
Click to expand...
Click to collapse
I can try and grab the camera app and drivers from stock and package it for you, but won't be including proprietary software in this build. I'll keep you posted.
fanix-uk said:
You are most welcome! Thanks for testing it... I'm working on a new release with some really cool features, including
Updated, hardened kernel.
Wireguard kernel module built into kernel.
Removal of non-FOSS apps/providers/services and replace with FOSS alternatives
Weather provider integration with openweathermap.
In-display fingerprint
Click to expand...
Click to collapse
Looking forward to it. I will probably try the current version as soon as I'm allowed to unlock my bootloader.
fanix-uk said:
I can try and grab the camera app and drivers from stock and package it for you, but won't be including proprietary software in this build. I'll keep you posted.
Click to expand...
Click to collapse
With miui camera and the in-display fingerprint would be a perfect ROM, Great work
thanks a lot for LOS!
Q: do i need to install gapps after ROM?
eerastov said:
thanks a lot for LOS!
Q: do i need to install gapps after ROM?
Click to expand...
Click to collapse
Yes.
Whats up with the new version? Can i help somehow?
Thanks
Hi Fanix
I really appreciate what you have done for Mi8 Pro. If you did not share your work here, I think I nearly sell my phone, as the MIUI is pretty trash.
Also, thanks for your progress on adding in-display finger sensor, after you done it I feel you can create one link for donation. I really hope you can keep develop on this phone and make LOS Andorid Q available in the future.
Kind regards
One of Mi8 Pro users
---------- Post added at 07:51 AM ---------- Previous post was at 07:47 AM ----------
I flashed this rom on my phone, it works really well. And I flashed a Gapps on my phone, work well as well. I did not flash the Nanadroid on my phone, is it necessary? I just worry about it becasue you said something related to SafetyNet, ahaha. I do not know if I do not have it, is my phone still safe?
Thanks a lot again.
fanix-uk said:
UPDATE 08 MAY 2019: I'm in the process of adding support for the in-display fingerprint sensor. Stay tuned.
This is a lineageos 16.0 build from source on 25 April using latest source. The ROM is has been prepatched for system lavel signature spoofing based on the MicroG Android Pie patch (url removed, sigh). I did however change the protection level from "Dangerous" to "Signature|Restricted". This is a more secure way of enable signature patching as it requires the app using signature spoofing to be privaliaged, in other words, it needs to be installed to /system/priv-app in order for it to be granted this permission. This means that you wont be at risk of downloading and installing apps that might abuse signature spoofing.
The ROM also passes FULL SafetyNet with microg installed. It uses a custom build from Nanadroid which contains all the latest code changes which you wont find in there official releases as its not yet been packaged as a release. This solved many issues for me, like safetyNet now passing which allows me to install and run banking applications (like Barclay's Mobile Banking) and also uber seems to work just fine using the UnifiedNLP backend providers.
This custom ROM has NO google related apps or code, and you have the ability to switch on google released integration services through the microg services menu.
WORKING
So far... everything I've tested. (except fingerprint)
NOT WORKING
On-display fingerprint.
Installation steps:
1. Restore to stock firmware. I recommend the following Fastboot ROM as thats the one I used. *url removed* (download file search google "equuleus global images V10.2.2.0.PECMIXM")
2. Put device in fastboot mode (adb reboot bootloader or Power Button + Vol Down)
3. Flash using MiFlash (Find it on google and be sure to select the "FLASH ALL.bat" option at the bottom and NOT the LOCK on, otherwise you will relock your device)
4. After flashing the stock ROM, let it boot up, then enable developer options and USB debugging.
5. Flash TWRP
* adb reboot bootloader
* fastboot erase recovery
* fastboot flash TWRP_equuleus_1102.img
* fastboot boot TWRP_equuleus_1102.img
6. Once in TWRP, goto WIPE and select DATA. Enter the word "yes" and once it is complete, go back to main menu, RESTART=>RECOVERY to reboot and automatically boot back into recovery.
7. Goto WIPE again, but this time WIPE DalvicCache, SYSTEM & Cache by selecting all 3 and wiping them (NO NOT RESTART AFTER THIS STEP
8. Once wipe is complete, push the content from the download folder provided below to the sdcard folder of the phone.
* adb push download_folder_containing_all_the_files /sdcard/
example: adb push /home/fanix/Downloads/lineageosrom /sdcard/
9. Once complete, you are now ready to flash lineage ROM. Select the lineageos zip file and flash it. (filename => lineage-16.0-20190425-UNOFFICIAL-equuleus.zip)
10. Once complete, you can then reboot to system to load lineage. After going through the lineage setup, you can then install microg (if you want)
Optional - Installing microg (from latest nanodroid) FULL SAFETYNET SUPPORTED
* Boot into TWRP (adb reboot recovery)
* Goto INSTALL, and select the following file: (NanoDroid-microG-20.7.92.20190424.zip).
* NOTE: This will install microg, including MsfProxy and UnifiedNLP with 4 backend providers. It will also install Aurora Store & Fake store.
* When install is complete, reboot and once in lineage, you can configure microg. You can log into google store using Aurora, either with your own account or their anonymised account. This allows you to download anything form the google app store, including apps that require verification, like mobile banking apps.
* If you want, you can test your SafetyNET using Magisk. You can find the magisk manager in the download folder. Install that and test SafetyNET. You do NOT need to root your phone to test this, you can simply install the manager. If you want to root your phone, simply boot back into TWRP and select the magisk 19.0 zip file and that will then also root your device.
Enjoy!
DOWNLOAD LINK:
https://drive.google.com/open?id=1aJ...bkaHPw86sgHYMj
Click to expand...
Click to collapse
hello I have tried treble version but i got MusicFX Force Close i hope you can fix this
and maybe you can port Miui Camera on this ROM thanks for your work
I found a bug :
NFC is not found in Settings and NFC Icon on status bar is error
Edit :
sometimes when opening the camera, freeze and got pop-up cannot be connected to the camera
And for musicFX is working...
Thanks
fanix-uk said:
UPDATE 08 MAY 2019: I'm in the process of adding support for the in-display fingerprint sensor. Stay tuned.
This is a lineageos 16.0 build from source on 25 April using latest source. The ROM is has been prepatched for system lavel signature spoofing based on the MicroG Android Pie patch (url removed, sigh). I did however change the protection level from "Dangerous" to "Signature|Restricted". This is a more secure way of enable signature patching as it requires the app using signature spoofing to be privaliaged, in other words, it needs to be installed to /system/priv-app in order for it to be granted this permission. This means that you wont be at risk of downloading and installing apps that might abuse signature spoofing.
The ROM also passes FULL SafetyNet with microg installed. It uses a custom build from Nanadroid which contains all the latest code changes which you wont find in there official releases as its not yet been packaged as a release. This solved many issues for me, like safetyNet now passing which allows me to install and run banking applications (like Barclay's Mobile Banking) and also uber seems to work just fine using the UnifiedNLP backend providers.
This custom ROM has NO google related apps or code, and you have the ability to switch on google released integration services through the microg services menu.
WORKING
So far... everything I've tested. (except fingerprint)
NOT WORKING
On-display fingerprint.
Installation steps:
1. Restore to stock firmware. I recommend the following Fastboot ROM as thats the one I used. *url removed* (download file search google "equuleus global images V10.2.2.0.PECMIXM")
2. Put device in fastboot mode (adb reboot bootloader or Power Button + Vol Down)
3. Flash using MiFlash (Find it on google and be sure to select the "FLASH ALL.bat" option at the bottom and NOT the LOCK on, otherwise you will relock your device)
4. After flashing the stock ROM, let it boot up, then enable developer options and USB debugging.
5. Flash TWRP
* adb reboot bootloader
* fastboot erase recovery
* fastboot flash TWRP_equuleus_1102.img
* fastboot boot TWRP_equuleus_1102.img
6. Once in TWRP, goto WIPE and select DATA. Enter the word "yes" and once it is complete, go back to main menu, RESTART=>RECOVERY to reboot and automatically boot back into recovery.
7. Goto WIPE again, but this time WIPE DalvicCache, SYSTEM & Cache by selecting all 3 and wiping them (NO NOT RESTART AFTER THIS STEP
8. Once wipe is complete, push the content from the download folder provided below to the sdcard folder of the phone.
* adb push download_folder_containing_all_the_files /sdcard/
example: adb push /home/fanix/Downloads/lineageosrom /sdcard/
9. Once complete, you are now ready to flash lineage ROM. Select the lineageos zip file and flash it. (filename => lineage-16.0-20190425-UNOFFICIAL-equuleus.zip)
10. Once complete, you can then reboot to system to load lineage. After going through the lineage setup, you can then install microg (if you want)
Optional - Installing microg (from latest nanodroid) FULL SAFETYNET SUPPORTED
* Boot into TWRP (adb reboot recovery)
* Goto INSTALL, and select the following file: (NanoDroid-microG-20.7.92.20190424.zip).
* NOTE: This will install microg, including MsfProxy and UnifiedNLP with 4 backend providers. It will also install Aurora Store & Fake store.
* When install is complete, reboot and once in lineage, you can configure microg. You can log into google store using Aurora, either with your own account or their anonymised account. This allows you to download anything form the google app store, including apps that require verification, like mobile banking apps.
* If you want, you can test your SafetyNET using Magisk. You can find the magisk manager in the download folder. Install that and test SafetyNET. You do NOT need to root your phone to test this, you can simply install the manager. If you want to root your phone, simply boot back into TWRP and select the magisk 19.0 zip file and that will then also root your device.
Enjoy!
DOWNLOAD LINK:
https://drive.google.com/open?id=1aJ...bkaHPw86sgHYMj
Click to expand...
Click to collapse
Current anything is good !
thanks a lot again
Any news plss
Any news?
Still others are maintaining this rom, looking forward to updating
I was willing to bring up the rest of the hardware and make this device official, but I don't have the device. Is there any interest in donating a device for such purpose?
bgcngm said:
I was willing to bring up the rest of the hardware and make this device official, but I don't have the device. Is there any interest in donating a device for such purpose?
Click to expand...
Click to collapse
Would love to be in a position to do that. However, I have just had my OnePlus 6T stolen, and now need my Mi 8 Pro as a daily driver. Would be happy to donate to get the fingerprint reader working on AOSP / GSI-Treble ROMs for the MI 8 Pro.

[GUIDE][AOSP][A10] Phh treble Q GSI non-root with Safetynet as a daily driver

This post is for specific ROM focusing on encrypted un-rooted setup https://github.com/phhusson/treble_experimentations/releases v217+
Usual lecture from your local system administrator: your warranty will be void, all you do is your own risk
Known issues:
- bluetooth in-call echo (patch needs to be applied)
- AVC mediacodec on Pie vendor issue (patch needs to be applied)
- VoLTE not tested, other things please report in this thread if discovered
Prerequisites:
- unlocked bootloader
- global stock Pie/Q rom already flashed (may also work for In/Cn variants - needs to be tested)
- A/B PHH GSI with Gapps unpacked (system-quack-arm64-ab-gapps.img is inside downloadable system-quack-arm64-ab-gapps.img.xz)
- stock fastboot rom unpacked (we need vbmeta.img)
- data and localstorage should be backed up, the process requires factory reset
Fastboot flash method:
- `fastboot flash system system-quack-arm64-ab-gapps.img`
- `fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img`
- reboot to system, do not put effort into setup, just get to settings
- if you do not have/not willing to flash twrp, patches need to be applied at this point with some root file explorer (see below)
- apply settings->phh->securize, the device should reboot and be stuck on android logo
- press and hold vol-up + power buttons, get to recovery
- for TWRP, format data partition (not just wipe, but format is needed, like mke2fs via adb/terminal); for stock recovery - wipe data
- reboot to system and setup
To apply patches via TWRP, just flash one of attached zips (Pie/Quack)
To apply patches without twrp, replace files in vendor filesystem with ones in vendor folder of the patch archive
To dirty flash new version, see post #2
Updating to new version without encryption issues
Prerequisite: TWRP
1. Flash new system image, like system-quack-arm64-ab-gapps.img, do not reboot
2. Mount system read-write
3. In terminal (adb) execute:
Code:
touch /system_root/system/phh/secure
rm /system_root/system/xbin/su
rm /system_root/system/bin/phh-su
rm /system_root/system/etc/init/su.rc
rm /system_root/system/bin/phh-securize.sh
rm -Rf /system_root/system/app/me.phh.superuser/
rm -Rf /data/su || true
Note: /system_root path prefix is for LR TWRP, if your recovery puts system to different folder when mounted, then adjust accordingly
Reboot. Done.
On v216 with EEA rom, deep sleep and AVC seem to be working for me without any patches. Also, if AVC doesn't work on a rom, the rest of the codecs might not work either - I've noticed this on LOS with VP9.
Can't test if VoLTE works, as I've dirty flashed it and phone services sqlite db is newer than this rom supports (and if I plug in a SIM, the phone services just crash).
I've used phh for the past week and I concur that it is stable enough for a daily driver.
Do you have root?
To resurrect telephony provider after installing older one (like aosp over los) I usually clean provider data in data/data and/or /data/user_de/0
Hello may I know how to fix the status bar to make it away from the rounded area? Thank you.
Developer options - display cutout - hide
btvbtv said:
Do you have root?
To resurrect telephony provider after installing older one (like aosp over los) I usually clean provider data in data/data and/or /data/user_de/0
Click to expand...
Click to collapse
Wait, do you know where the precise location of the sqlite db? The package name didn't show up in data and cleaning storage+cache within settings didn't seem to work (probably since it was a persistent service).
Otherwise, I'll probably clean flash phh sometime later anyway (I'm using the camera for scanning my exam papers these weeks, and I don't feel like setting up my accounts again so soon).
Hi i tried both phh asop v216 and Havoc-3.5 gsi based on v216 with lastest android 9 vendor.
On Asop RIL works well but not on Havoc i don't know why as they have same basis.
Got a couple of questions in PM lately.
I believe the forum is just for that - to ask the community.
If I do not answer each and every question - that's probably due to that fact that I do not know all the answers.
Still, the question in the thread has a chance of being answered by someone else, as opposed to pm.
Can someone please test and confirm if VOLTE works and is this daily driver capable? Thanks
I would argue that in my country no carrier has volte even with lte. Would be awesome to have a volunteer to test.
Updated to new version securized - all good
https://forum.xda-developers.com/showpost.php?p=82631277&postcount=2
seems to run pretty smooth.
I just realized that the security patch is dated on 1st december 2019 whilst v216 was may 2020.
Is there a possibility to use gestures like in PixelExperience while being securized?
Securize fakes security patch date from vendor. BTW, new a10 vendor has May security patch.
No idea for native gestures. Many apps for that in market. Accessibility service they use might add a small lag though.
Easily best AOSP rom on the phone

[ROM][All Quark][Android 11] LineageOS 18.1

ROM dedicated for All Quark (Moto MAXX/Turbo and Droid Turbo - XT1225, XT1250 and XT1254)
This ROM is the LineageOS from https://lineageos.org/ with specific changes to improve the experience for Quark that is why the ROM has the MOD type, all modification are in the changelog
Download:
ROM:
Main:
Main google Drive link
Secondary:
sourceforge (This is the server used by the Updates app in Setting>System>Updater)
Gapps:
Open Gapps
Choose Platform: ARM, Android: 11.0, and a Variant the one that have all you need, I recommend the Nano pack, but it may not have all you need so check before download, if any problem with a diferent version try the Nano before reporting issues.
TWRP For Quark:
TWRP Use laste Mod version from xda
Installation:
Make sure you are running latest MOD TWRP from xda TWRP thread
Download the latest ROM and GApps**.
Reboot to recovery (recommended make a backup)
Coming from different ROM? Then Always wipe Data (without media aka without internal memory)
Wipe System*
Flash the latest build and GApps **
Reboot and enjoy!
* Wipe of Dalvik Cache and Cache not demanding but may help with some random minor bug that show after a update
** Gapps not demanding the ROM works perfect without it but if you plan to use gapps you need to flash it on a clean install with the ROM, In a ROM updates a "dirty flash" if you already have gapps always flash gapps again with the ROM update
Changelogs:
LineageOS - 18.1 source and Quark Changelog (Click Here)
What's working :
Everything minus VoLTE support for XT1254 (1225 doesn't have this featuring).
Known Android 11 issues :
Not PRE-ROOTED, ROOT solution is available read this thread second post
Old issue maybe resolved on latest TWPR update but... TWRP may not be able to backup or decrypt data encrypted on Oreo or Up: no know workaround, one day TWRP will support it.
General bug help/fix in second post or some were in the thread, use XDA building "Search Thread" option to find general help for this thread project...
Source:
LineageOS Source
Device Tree
Kernel tree
Vendor tree
Mod Kernel Adiutor tree
XDA:DevDB Information
[ROM][All Quark][Android 11] LineageOS 18.1 for Quark
Contributors
Felipe Leon (fgl27) is the main contributor (as I'm the one making it).
But the XDA community, quark user base plus the open source community from XDA, github and the LineageOS team is what make this project so good, thank you all :good:.
ROM OS Version: 10.x
ROM Kernel: Linux 3.10.x
Based On: LineageOS 18.x
Version Information
Status: Stable
Created 2021-30-05
Last Updated Check Changelog click here
Below are some of the helps and or workarounds for the most occurring issues.
ROOT Use Magiks
GPS / Radio:
Changing/Updating the ROM may cause GPS lock problem, there is two separated help
option 1) Install "GPS Status & Toolbox" , open the app, slide the left option and open "Manage A-GPS state" click in Reset, after repete the process and now click in Download, close the app after receive the OK, wait a few seconds and try a gps lock using the same app, if that doesn't help try again after a reboot, if that doesn't help go to option 2 below
option 2) If the above doesn't help you can try to erase all the radio status
Erase the radio status also applies to the case you have No SIM Card or no Cell Signal level in status bar.
To erase the radio status is very simple just flash this zip "Clean_modem_status.zip" via TWRP no wipe is need, is also recommended to try option 1 after this if you flashed because of a GPS problem.
If after flashing the cleaner you find any problem related to lost of signal, re-try the flash of "Clean_modem_status.zip", if the problem persist, flash latest radio.img version via fastboot (aka "via bootloader")
Code:
mfastboot flash radio radio.img
find the radio.img inside the stock ROM xml.zip, some xml.zip and fastboot for windows can be found here (click here)
Random Power off or reboots?
To identify if the device random reboot or simply power it self off there is two ways.
1) If after the device goes black you can't power it up again without plunging the charger, then is because the battery is dead, even if yours battery had good % left before it shutdown yours battery is probably damage doesn't matter if the device/battery is new a battery can go bad simply by charging the device wrong, a wrong way to do it is let the device constantly go bellow 20% as low you let it get worse yours battery will be with time.
2) Check the boot reason prop "ro.boot.bootreason" :
Using the app BHB27 Kernel Audiutor > logs section > search in a log > mark getprop > search keyword "reason".
If the result is power_key_press the device didn't reboot it power off.
Code:
[ro.boot.bootreason]: [power_key_press]
On this case, is recommended to set the battery "Automatic power saver" from default 15% to a higher value then the one yours device is power it self off.
-----------------------------
If the result is reboot the device reboot it self
Code:
[ro.boot.bootreason]: [reboot]
On this case, is recommended to just share a log, do as is recommended on next post.
Bootloop to TWRP after a Factory Reset (Settings/System/Reset option/Factory reset):
This is a Nougat and up problem, it only happens if you are using a TWRP from the official site (with is not update to properly support Nougat and Up Android versions) or a old version of TWRP, to fix it just flash latest MOD TWRP version from the TWRP xda.
TWRP xda thread Click Here
Pictures access, view, sharing or related:
One thing that I notice regarding permission is if you have a app that access a folder that was created in older OS this app may be able to access this folder but not fully access the files like the below example.
You take a picture or a screenshot and can't see or share it with some apps, the simple fix is just erased/delete the folder with that problem for example the DCIM (camera folder) and or Pictures (Screenshot) folder under Main storage (or any folder were you face a picture or file access related problem), of course you can backup the files to another folders first using a file explorer that can see the files (maybe necessary one with ROOT access), then let the OS service recreate the folder, it will automatic recreates after you take a new picture or screenshot (or manually make the new folder if is a custom folder mane by you), test to see if the problematic app can see after.
USB OTG player:
On latest android version Nougat and above, to play anything from a USB OTG device is needed proper permission, that is not simple to give as the app must request it to be given, so to play anything from a USB driver find a app like this one
VVM XT1254 only
VVM app (VVM may only be accessible via play with the link, click here and chose open with play), VVM may not work correctly google has it on version is free and seems to work 100% Google voice, the in the phone app of b this ROM also has a dedicated option for voice calls
Bug report are welcome, make with in the most accurate description possible, do not spare words, screens and logs, a bug that I can't understand or reproduced I can't fix.
Always post a bug with @fgl27 and a log .zip generated by the app
BHB27 Kernel Adiutor > Logs > One click all Logs to a ZIP (ROOT is needed for this)...
Even after a random reboot share a log
If is a Reboot/Power off related bug make the log as soon the device finishes boot up
Everything was working great, until this weekend. I was in an old hotel that gets terrible signal, so i used WIFI the whole time. When i left to head in to work this morning, i noticed that my data never came back. I can make calls, send texts, get on WIFI, use bluetooth... but the 4g LTE icon is not on my top bar, and im getting "No internet connection" errors. --- I verified that Data is turned on, i have something along the lines of "LTE/CDMA/EvDo" selected, ive restarted the phone, and ive tried popping out my SIM card and reinstalling it. -- Any suggestions?
imcensored1 said:
Everything was working great, until this weekend. I was in an old hotel that gets terrible signal, so i used WIFI the whole time. When i left to head in to work this morning, i noticed that my data never came back. I can make calls, send texts, get on WIFI, use bluetooth... but the 4g LTE icon is not on my top bar, and im getting "No internet connection" errors. --- I verified that Data is turned on, i have something along the lines of "LTE/CDMA/EvDo" selected, ive restarted the phone, and ive tried popping out my SIM card and reinstalling it. -- Any suggestions?
Click to expand...
Click to collapse
I figured it out. I started playing with all the network settings, and i found one that allowed me to set the "access point". I found the access point somehow was set to "Xfinity", once i changed it to "Verizon" my data came back. I am not sure how it changed or why it changed, as it was working before I entered the no coverage zone.
I push a update.
Download:
ROM:
Main:
Main google Drive link
Secondary:
sourceforge (This is the server used by the Updates app in Setting>System>Updater)
Changelogs:
LineageOS - 18.1 source and Quark Changelog
I push a update.
Download:
ROM:
Main:
Main google Drive link
Secondary:
sourceforge (This is the server used by the Updates app in Setting>System>Updater)
Changelogs:
LineageOS - 18.1 source and Quark Changelog
fgl27 said:
Below are some of the helps and or workarounds for the most occurring issues.
ROOT Use Magiks
GPS / Radio:
Changing/Updating the ROM may cause GPS lock problem, there is two separated help
option 1) Install "GPS Status & Toolbox" , open the app, slide the left option and open "Manage A-GPS state" click in Reset, after repete the process and now click in Download, close the app after receive the OK, wait a few seconds and try a gps lock using the same app, if that doesn't help try again after a reboot, if that doesn't help go to option 2 below
option 2) If the above doesn't help you can try to erase all the radio status
Erase the radio status also applies to the case you have No SIM Card or no Cell Signal level in status bar.
To erase the radio status is very simple just flash this zip "Clean_modem_status.zip" via TWRP no wipe is need, is also recommended to try option 1 after this if you flashed because of a GPS problem.
If after flashing the cleaner you find any problem related to lost of signal, re-try the flash of "Clean_modem_status.zip", if the problem persist, flash latest radio.img version via fastboot (aka "via bootloader")
Code:
mfastboot flash radio radio.img
find the radio.img inside the stock ROM xml.zip, some xml.zip and fastboot for windows can be found here (click here)
Click to expand...
Click to collapse
I tried these fixes for the GPS a few times but no luck. Do you have any other ideas?
Thank you.
It's been awhile since I've had to deal with this issue. I forget exactly what I went through to get it resolved. Have you tried an absolute cold raw reinstall? Wipe everything in the phone except internal memory, from TWRP.
SecretPotatoChip said:
I tried these fixes for the GPS a few times but no luck. Do you have any other ideas?
Thank you.
Click to expand...
Click to collapse
Sorry I was busy didn't check xda for a while.
If those don't help the best option is to try Einsteindks from above post
On Android was added a update to the GPS libs that fixed most of the issue, that is way most don't have any issue anymore, but if you have one is probably something very odd that need a full clean to resolve.
Active display is not working. How do I turn it on?
DobrRk said:
Active display is not working. How do I turn it on?
Click to expand...
Click to collapse
Active display is a Motorola name.
Use Ambient display, enable it on settings -> system -> actions
fgl27 said:
Active display is a Motorola name.
Use Ambient display, enable it on settings -> system -> actions
Click to expand...
Click to collapse
Thank you very much. It is a pity that it does not work as on the old motorola, with a separate processor under this option. I really liked the firmware.
Power Functions was an awesome option on Motorolas, at one point. Shame they didn't carry over. At least other options exist. Neat idea, though. Good to see the display stuff be standard, albeit under different names.
Verizon just sent me this text. (Advanced Calling /HD Voice). I feel like I enabled this years ago. I went to search to turn it on and I see it's not an option. Is this something that was coded out of Lineage?
I know you have to activate it on your phone and then Verizon has to activate it on their end.
imcensored1 said:
Verizon just sent me this text. (Advanced Calling /HD Voice). I feel like I enabled this years ago. I went to search to turn it on and I see it's not an option. Is this something that was coded out of Lineage?
I know you have to activate it on your phone and then Verizon has to activate it on their end.
Click to expand...
Click to collapse
I believed HD voice needs VoLTE something that doesn't work in custom ROM
opengapps release they version for Android 11, I updated OP with the link.
Sometimes after not using my device from a few hours it became very slow the first few minutes I try to use it, some apps freeze giving me that warning "app is freeze kill it" or something like that, I notice that a lot of service don't run as they did on old version of android regularly on background, but they sometimes run all together when you wake the device up.
Most are service from google apps and frameworks, to improve this I'm using this new battery option that show on each app info, that allows you to enable "Background restriction" see attached.
You have to manually set to restrict each individually app that you wanna to be restricted, after I did to almost all available apps, notifications are working as expected and I don't have slows down at least not from service on the background.
If anyone has some issue related try to use those options to improve.
I push a update.
Download:
ROM:
Main:
Main google Drive link
Secondary:
sourceforge (This is the server used by the Updates app in Setting>System>Updater)
Changelogs:
LineageOS - 18.1 source and Quark Changelog
Einsteindks said:
It's been awhile since I've had to deal with this issue. I forget exactly what I went through to get it resolved. Have you tried an absolute cold raw reinstall? Wipe everything in the phone except internal memory, from TWRP.
Click to expand...
Click to collapse
I went into TWRP, and wiped everything except internal storage and usb otg. My gps still does not work.
SecretPotatoChip said:
I went into TWRP, and wiped everything except internal storage and usb otg. My gps still does not work.
Click to expand...
Click to collapse
Next step would be to save internal on an OTG, along with ROM & Gapps, Titanium Backup, etc, eject/remove OTG. Get into TWRP, wipe ALL, plug in OTG, reboot into TWRP, install ROM, Gapps & modem reset zips after selecting OTG as source. Double check yourself along the way, trust me! It's easy to forget a step and have to re copy files onto the OTG from computer backup.

[ROM][UNOFFICIAL][A10][F500,LS991,H81x,US991,VS986] LineageOS 17.1

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
/*
* I'm not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed (like it did for me...).
* Please do some research if you have any concerns about features included in the products you find here before flashing it!
* YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.
* Your warranty will be void if you tamper with any part of your device / software.
* Same statement for XDA.
*/
About LineageOS:
LineageOS is a free, community built, aftermarket firmware distribution of Android, which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
​**** These builds are for both: official unlocked and UsU'd devices **** ​UsU? http://bit.do/unlockg4​
Requirements
Your device need to be unlocked either officially (h815 international or h811) or by UsU
Your bootloader stack should be on MM 20p (20x for H811) or higher! (see FAQ #8 for how to upgrade your bootloader stack witbout lgup).
.... and for your convenience I have alternatively created TWRP flashable files for that !!!! (click)
in particular that means this thread is for:
F500 (UsU'd)
H810 (UsU'd)
H811
H812 (UsU'd)
H815 (official unlocked or UsU'd)
H819 (UsU'd)
LS991 (UsU'd)
US991 (UsU'd)
VS986 (UsU'd)
Latest TWRP - PREVIEW build: click
Do a full Nandroid backup before doing anything!
Installation
This single very first step is for UsU'd devices only:
If you have ever flashed the UsU baseband package: Clean flash the modem partition from your backup in TWRP.
If you do not know if you ever flashed it simply flash your modem partition again and you can be sure. This can't do any harm.
If you have no backup:
- TWRP flashable MM modems (N might not work)
Full clean install as described here (FAQ "#2") is highly recommended. DO NOT REPORT ISSUES when you have skipped that step!
Flash LOS
Optional (f-droid is already included): Flash GApps (10.0 - ARM64) if you like to use google apps
Optional (if you want root): Flash Magisk (ensure you read FAQ #1 when using Magisk though)
Boot (will take a bit on first boot!!!)
Enjoy
Features
Pure LineageOS ROM experience
F-Droid included (Open Source alternative to Google Play)
Known issues:
Keep in mind that this is brand new stuff so it may (still) contain unknown issues!
It wasn't until Pie felt stable enough for everyday use that I released it publicly, but I still can't test everything on my own, so a lot of things only show up after a release.
So back up regularly and frequently!
Check the current issues at the github tracker (feel free to help, provide logs etc!)
If you find a bug not listed, follow the instructions here and provide me with the logs: FAQ #1
Download
Get your builds from my leech server
https://leech.binbash.rocks:8008/lineage/17.1
Note:
Builds are updated as soon as possible. There is no build cycle.
Information pertaining to your device is displayed accordingly.
The current build is the latest for your device.
Changelogs
see commits at github or ideally you join my matrix or telegram groups (see topic "Support")
Credits
LineageOS
aoleary (cam fix, bunch of fixes needed for a10 bringup)
DevUt (cam fix, being a punch ball)
tullyp (cam fix, vs986 fixes & tests)
and more..
Sources
build manifest
Support
Post in this thread
Quick support by [Matrix] || build notification by [Matrix]
Quick support by Telegram: sfX_Android || build notification in sfX_ci
Frequently Asked Questions (FAQ)
Q #01: I want to report an issue. What is the proper way to do so?
I'm glad that you are asking: before doing so check the KNOWN ISSUES topic in the OP and ofc the other FAQ's listed here!
If you encountered a kernel panic follow FAQ #6 in this post instead.
If you have issues with "just" the boot process follow FAQ #7 for a very easy way to grab the boot logs.
if you have an audio issue follow FAQ #10 instead.
If your issue is not listed there click here to proceed:
If your issue is not listed there follow the directions here briefly and I may can fix it.
Often selinux can cause issues so try that at very first:
Code:
adb shell
su
(or "adb root" when enabled in developer settings)
setenforce permissive
Try again and if the issue is gone when in permissive mode: provide me a logcat as described here -> on step 3 I need the SELINUX log (option D)
If that does not solve your issue follow the logcat GUIDE to provide a valid log depending on what your issue is.
Ensure you have done a full CLEAN install before doing so (refer to FAQ #2 for what that means).
Warning: NO SUPPORT when:
- magisk is installed (known to cause issues sometimes - regardless of the ROM or version)
- Xposed is installed (known to cause issues sometimes - regardless of the ROM or version)
If you have installed any of these UNINSTALL or better do a FULL CLEAN install (see FAQ #2) before doing anything else. Often enough these above causes several issues like battery draining, problems on booting and much more. Even when they may work properly you should re-produce your issue without them first and follow the above to grab the log.
Magisk is a great piece of software and besides that it is Open Source which SuperSu never was.
I just saying I do not "support" issues with LOS when you have Magisk installed. Why? It is (like Xposed) extendable with modules (made by whoever) and those can cause billions of issues.
Other then that magisk was sometimes the reason for battery drain etc. Magisk modifies the boot "process" and sits very deep in the system (which is needed to make it work ofc) but that has the potential to make a system/ROM unstable or result in strange behaviors.
so in order to support a specific issue I have to be sure the ROM is in a "clean" state, no magisk, no xposed. The LOS root-addon is tested with LOS and made for it so that is not an issue but for the rest there are so many things which can going wrong..
Q #02: I want to install clean, how? What is a clean install? What is the recommended way to flash a new ROM version?
A clean install ensures that there are no leftovers from any previous install. One can say that there are 2 phases of a clean flash:
1) regular
2) full - when you (still) encounter issues
Usually the regular one is fully ok when flashing a new ROM version but if you encounter strange issues nobody else is reporting or if a release post is recommending it you should do a full clean install instead.
A regular clean install can be done like this:
WIPE -> Advanced -> select: System + Cache
Flash the ROM
reflash root addon/magisk if you want root
reflash opengapps if you want to use Google crap
A full clean install needs 2 steps more then the regular:
follow the steps for regular clean
go back in WIPE -> touch the "FORMAT data" button and type "yes" to format the internal storage (you will LOOSE ALL YOUR DATA - obviously)
REBOOT -> Recovery
Flash the ROM
reflash root addon/magisk if you want root
reflash opengapps if you want to use Google crap
It is absolutely recommended to create a backup before and COPYING IT to your PC(!) before doing the above.
Q #03: Are there any plans or a chance of official LOS builds?
TL;DR answer is: no.
Background:
LineageOS has "some" requirements before they accept it to do official builds: device-support-requirements.
For sure we do not met all and the most problematic one will be the kernel reqs as do provide a good battery life and a fast kernel kessaras had made unacceptable (for LOS) changes regarding several parts of that requirement topic. So a new kernel (branch) is needed to remove all the improvements we made which are not accepted. This process alone can take weeks (if you do not want to loose every good thing here). A much easier approach here would be to build a "just working" LOS stock kernel without any improvements and fixes and tell everyone: "Flash LOS, then a TITAN kernel afterwards". So while that might be the easier approach it will nevertheless take time to do that kernel and include the reqs + sec patches to the day.
Besides that a bit work is needed to fulfill some of the others like that.
Other then that and that is one of the most important things here:
Even when the device was accepted going official in the past (14.1... long time ago..) an incredible amount of changes happened to get oreo and now pie running. All these will be put to the test. Which actually means every commit we made will be discussed (worst case, yea, but ..) and changed. That can be from a simple "the commit message is wrong" to "pls re-write the code here". You maybe get an idea that this process is nerve-wracking (for me) and costs a lot of my free time.
Before RIL has been fixed (which had happened in the end of June 2019 first) it would have been impossible, I guess.
Now the base is fine, we could put a big amount of time into going to official to get finally ........ yea, what?
Well.. I would free resources on my build and leech server (I don't care - atm)
I would save bandwidth (I don't care - atm)
I would not need to tamper around anymore with (i.e jenkins) build issues (I don't care - atm)
you?
you would get a (LOS signed) build with a slow kernel, bad battery life and all the goodies missing... unless I build LOS kernels to bring those things back.
ok but to be honest. I can fully understand that request and I would feel better by myself when I were you. You do not know me so are my builds trustworthy ? Who knows. I could be a bad guy. :fingers-crossed:
Besides that I wrote above "I don't care - atm" so that might change in the future right? Correct.. there is no guarantee how long I can provide new builds or offer them on my leech server. There is nothing at the horizon that this might change soon but who knows? I can say that I am incredible happy with my OnePlus 6T and - believe it or not - I run STOCK OxygenOS here.. Why? It is just enough for me. So no need to do any dev there - which means all my dev time is still going here - to the G4. It is also a personal project to learn stuff around the Android eco system and woa.. who knows maybe Q came one day to the G4 as well..
... and yea official builds would give you some kind of guarantee that builds will happen - while that might change with my unofficial builds some day.
So.. as said in the TLDR above: No I personally do not have any plans in going official for the described reasons.
If someone else wants to go that way and needs help, I am here. But I cannot spend my whole free time on that.
Q #04: Google Play shows that my device is not "certified" - how can I fix that?
First of all you must be on the latest build. I fixed that from the latest July (2019) builds on.
If your issue persists click here to proceed:
The second thing is you must not be rooted by the LOS root addon (afaik). Magisk has its own protections to ensure you stay certified but I hadn't the time to test the LOS root-addon.
You also need to know that google play remembers your devices last state so if you are on the latest build and still having that issue do this and it will be certified again:
android settings -> apps -> find play store -> clear data (yes data, not cache) -> reboot -> open play store -> wait 2..5 minutes -> check certified state again
Q #05: It looks like the CPU cores 5 and 6 are disabled - how can I fix that?
TLDR;
There is no fix required! it is fully ok when those are idle. they get hot plugged whenever needed.
Details:
we have 2 clusters of CPU cores resulting in a Hexa-core CPU set: (4x1.4 GHz Cortex-A53 & 2x1.8 GHz Cortex-A57)
the big one (2 CPU cores - higher performance = more battery drain, more heat which potentially causing the: bootloop issue) and the little (4 CPU cores - less battery drain but a bit slower) are handled dynamically based on the load of your device.
the big cluster will run ONLY when it is NEEDED - i.e. high load.
so when you look closer: those are not DISABLED they are IDLE which is a big difference.
Q #06: I get a kernel panic or green/purple/blue screen how to grab logs for this?
You need a ROM with pstore fully enabled and working (pstore = debug kernel panics/oops happened in a ROM)!
All builds starting from 2019-08-15 on support pstore due to: commit#1, commit#2, commit#3
This is a 2-site change if you want to make use of it in TWRP you must install the latest TWRP "PREVIEW" release as well (TWRP is only able to show pstore logs when the ROM is able to write them so I needed to fix pstore in the ROM first (see above commits #1 + #2 )).
Besides those 2 patches these kernel configs were set: PSTORE
You can check if a ROM does support writing pstore logs by:
as soon as possible on a fresh boot:
Code:
adb shell
dmesg | grep "ramoops|pstore"
Code:
[ 0.000000] cma: Found [email protected], memory base 0x000000001fe00000, size 2 MiB, limit 0xffffffffffffffff
[ 0.000000] cma: CMA: reserved 2 MiB at 0x000000001fe00000 for ramoops_mem
[ 0.200846] cma: Assigned CMA region at 0 to ramoops.78 device
[B][ 3.957553] console [pstore-1] enabled
[ 3.957939] ramoops: attached [email protected], ecc: 16/0[/B]
[ 3.958079] drv probe : 200 ramoops 3744
[ 6.262463] SELinux: initialized (dev pstore, type pstore), uses genfs_contexts
or (if you are not fast enough) this ensures mostly the same check:
Code:
adb shell
ls -la /dev/pmsg0
Code:
crw-rw-rw- 1 camera camera 254, 0 2015-01-05 04:54 /dev/pmsg0
If you get no output your ROM does not support pstore logs.
From now on when you encounter a kernel panic and you are able to reboot without taking out the battery (taking out the battery will erase RAM):
1) reboot (without taking out the battery!) to either TWRP or (if you have root access) to your ROM
2) grab everything need from here: /sys/fs/pstore/ (e.g. adb pull /sys/fs/pstore/)
If you don't have a pc near you can do it directly from the device as well:
Enable the terminal app in developer options or download any
Open the terminal app.
su
cd /sdcard/Download
tar czf pstore.tgz /sys/fs/pstore
Attach pstore.tgz to your post.
It is crucial important that you do this only after the reboot happened . It's not important "when" though - as long as the device stays powered on.
Developers note:
convert PMSG log (requires a linux system):
Code:
tr -cd '\11\12\15\40-\176' < pmsg-ramoops-0 | sed 's/TENS\s/\n/g' > readable-pmsg.txt
Q #07a: I get a kernel panic on boot or having other boot issues but the pstore log are empty! What should I do?
Q #07b: How can I provide a clean boot log?
Since a while there is a very easy way to provide debug logs for the boot process. Before my convenient logging you had to follow FAQ #1 to grab them and it was a bit of PITA for some users.
So here you go for a much easier way:
boot Android
once booted : reboot to TWRP
when you have a bootloop instead: take the battery out just before the bootloop occurs, or better press the key combo to get into TWRP all the time to eventually get there directly
once in TWRP ensure that "Cache" is mounted in the "Mount" menu (if not mount it by ticking the box)
open a terminal on your PC and type:
Code:
adb pull /cache/debug/boot_lc_crash.txt
adb pull /cache/debug/boot_lc_full.txt
adb pull /cache/debug/boot_lc_kernel.txt
paste one by one to a paste service like https://del.dog/ , https://paste.systemli.org/ or https://paste.omnirom.org/
Q #8: upgrade your bootloader stack only?! Read here how:
If you don't mind you can use lgup as long as you do not have an UsU'd device! For UsU devices follow the UsU FAQ #20 instead of this one!!!!!
If you just wanna upgrade the bootloader stack without loosing data: Check the OP of this thread because:
it has a link to TWRP flashable files for updating your bootloader with 1 click ..
Anyways if you still want to go on doing it manually instead of the easy way then:
Download a KDZ of your device model.
Keep in mind that there a frankenstein devices out there (means refurbished devices with mixed hardware inside so you think u have model XXX as it was shown in Android but the mainboard is NOT the same!).
How to identify a Frankenstein device? Read FAQ #21 in the UsU thread.
IMPORTANT: Check the ARB of that KDZ (SALT v3.11 will show the ARB of a KDZ on extract!) - If you are unsure - DO NOT PROCEED. you can easily hard brick your device if!
Extract that KDZ with SALT - DO NOT USE ANY OTHER TOOL FOR EXTRACTING! The known windows tools like LG Firmware extract does not extract what we need here and not in the way we need it! So do not use that! You have been warned..
Open a terminal in the directory where you SALT backup before flashing UsU (or your extracted KDZ) is.
Then put your device in fastboot mode and type these commands (you have another file extension? read FAQ #24 of the UsU thread):
Again this guide is NOT for UsU'd devices!!!
Code:
fastboot flash aboot aboot.bin
fastboot flash factory factory.bin
fastboot flash hyp hyp.bin
fastboot flash modem modem.bin
fastboot flash pmic pmic.bin
fastboot flash rpm rpm.bin
fastboot flash sbl1 sbl1.bin
fastboot flash sdi sdi.bin
fastboot flash sec sec.bin
fastboot flash tz tz.bin
Alternative with TWRP (if the above fastboot cmds work for you no need to do this!):
Again this guide is NOT for UsU'd devices!!!
Code:
Boot TWRP
adb push factory.bin /tmp/
adb push hyp.bin /tmp/
adb push modem.bin /tmp/
adb push pmic.bin /tmp/
adb push rpm.bin /tmp/
adb push sbl1.bin /tmp/
adb push sdi.bin /tmp/
adb push sec.bin /tmp/
adb push tz.bin /tmp/
adb push aboot.bin /tmp/
adb shell sync
adb shell "dd if=/tmp/factory.bin of=/dev/block/bootdevice/by-name/factory"
adb shell "dd if=/tmp/modem.bin of=/dev/block/bootdevice/by-name/modem"
adb shell "dd if=/tmp/hyp.bin of=/dev/block/bootdevice/by-name/hyp"
adb shell "dd if=/tmp/pmic.bin of=/dev/block/bootdevice/by-name/pmic"
adb shell "dd if=/tmp/rpm.bin of=/dev/block/bootdevice/by-name/rpm"
adb shell "dd if=/tmp/sbl1.bin of=/dev/block/bootdevice/by-name/sbl1"
adb shell "dd if=/tmp/sdi.bin of=/dev/block/bootdevice/by-name/sdi"
adb shell "dd if=/tmp/sec.bin of=/dev/block/bootdevice/by-name/sec"
adb shell "dd if=/tmp/tz.bin of=/dev/block/bootdevice/by-name/tz"
adb shell "dd if=/tmp/aboot.bin of=/dev/block/bootdevice/by-name/aboot"
Download this verify tool to ensure the flashing was successful: [ATTACH]4687157[/ATTACH] ([URL="http://leech.binbash.it:8008/misc/verifyflash.zip"]mirror --> verifyflash.zip[/URL])
Usage:
extract verifyflash.zip
adb push verifyflash.sh /tmp/
adb shell chmod 755 /tmp/verifyflash.sh
adb shell /tmp/verifyflash.sh
Read the output of the flashing on the screen and in your terminal. Do NOT flash anything else! Just the above - but ALL of the above! (if you miss a single file you will HARD BRICK)
If something is failing do NOT continue and try to re-do the above commands. if it still fails write in this thread or better come into IRC (when between Monday and Friday)!
If something failing here it WILL brick your phone.
Q #9: A life without Google?! Read here how:
A life without Google ? Is that possible ? ...and why you should consider it ?
So why? That's easy to answer and if those are worth it depends totally on your personal needs:
1) BATTERY. Google services are draining a LOT of your battery, so to get the most out of your battery you should abandon Google gapps
2) PRIVACY. Almost all Google apps phoning home to Google! You don't care about that? You really should. You have nothing to hide? Oh dear believe me you have no idea how much of your private data you do NOT want to share. Keep also in mind that you give your private data not to a company only , there are always humans behind and what they do.. You do not believe me? Read on
BREAKING NEWS:
You can go on with the following steps or simply head-over to /e/ OS which is LOS but completely Google-Free + microG fully working pre-installed:
check it out here!
WARNING:
The last build supporting this spoofing method was 20210307. Everything later has that patch removed. Sorry for any inconvenience but maintaining that patch took more time then thought and for those who really care about privacy there is now /e/ OS available containing full microG support. I will leave the instructions here for those who cannot or do not want to switch to /e/ OS.
So if you feel one or both reasons might fit your personal needs here are some first steps to go (if you do NOT want to switch to /e/ OS):
1) all my builds come with FDroid which is a special app store containing just free open-source apps. As this might be a very limited I recommend to install Aurora from here which is a frontend for Google play. So search in FDroid for "Aurora Store" and let it install. Start Aurora and choose anonymous!!! and you can install everything from play as before.
2) install the microG repo in FDroid. Just open that link from your G4 and it will install the repo:
https://microg.org/fdroid/repo?fing...EB6DAB39B73157451582CBD138E86C468ACC395D14165
3) due to the fact that many apps depends on Google services as backend you need to do 2 things now:
a) developer options -> scroll down to signature spoofing and enable it *(read FAQ #11 why)
b) Download the current stable "Services Core" apk from here: https://microg.org/download.html and install it like that:
Code:
adb install com.google.android.gms-[REPLACETHIS].apk
c) if you have root:
Code:
adb shell
su
mount -o remount,rw /system
exit
adb push /tmp/com.google.android.gms-[REPLACETHIS].apk /system/priv-app/GsmCore.apk
if you do not have root, boot to TWRP now and mount system, then:
Code:
adb push /tmp/com.google.android.gms-[REPLACETHIS].apk /system/priv-app/GsmCore.apk
4) Install a location backend provider to make location services work without Google (yea Google is spying you..).
There are several available, just search for them in F-Droid:
Apple UnifiedNlp Backend uses Apple’s Wifi database.
LocalGsmNlpBackend uses downloaded GSM Cell data (local)
LocalWifiNlpBackend uses (on-device generated) WiFi data (local)
Déjà Vu Location Service uses (on-device generated) WiFi + GSM Cell data (local) * recommended
MozillaNlpBackend uses Mozilla Location Services * recommended
Radiocells.org UnifiedNlp Backend uses Radiocells.org
Also install a reverse location backend:
- e.g. NominatimNlpBackend (currently the only I know)
5) Now it's time to configure microG. Go in the app drawer and open microG settings:
you will be prompted or a notification is showing for setting permissions, go through all of them and choose allow.
UnifiedNlp settings:
- Configure the location backend service (choose the one you installed in step 4)
- Configure the address lookup backend (choose the one you installed in step 4)
Go back to the main screen of microG:
Choose Self-Check:
- Tap "System grants signature spoofing permission" and you wou get a request for allowing that (which you should do..)
- Tap Battery optimizations ignored to ensure microG is function properly
- Ensure "UnifiedNlp is registered in system" is checked (if not repeat the above steps for pushing the APK to system/priv-app)
- Ensure "Location Backends" is checked (if not repeat UnifiedNlp settings above)
Read the installation wiki for microG and install whatever else you might need:
- https://github.com/microg/android_packages_apps_GmsCore/wiki/Installation
6) reboot & re-do the self-check in microG settings
7) ensure the location service is *NOT* set to GPS-only (for LOS that means enable battery saving)
8) some general things now:
you might need to switch to alternatives sometimes. I use Waze instead of Google maps even though Google would work (but I don't like the Google spys). I use FairEmail as I love my privacy and supporting open-source. Usually you can find always an alternative, often paid apps offer activations and buying without Google play and that is often even cheaper (e.g. AquaMail costs 39€ on play and 30€ on their website etc).
There is one thing which really hurts me when it comes to gapps-less life: no smart lock. I really enjoyed it but for me the both reasons above have more weight then this.
So as you can see a life without Google has its advantages but also some changes are needed. If it's worth it depends on you. I can just recommend it
Q #10: issues with audio (e.g. echo's, silence on one or the other site, ..)? Read here how to provide a specific log for that:
Do the following steps:
1) Ensure you have adb set up on your PC, and have adb debugging and adb root enabled in developer options on your phone
2) Then perform the following (all one command)
On Linux:
adb root ; adb shell "stop audioserver; logcat -c -b all; start audioserver" && sleep 10 && adb logcat -b all |egrep -vi "(dialer|telecom|ril|gsm|touch|brightn|dct|QC-time-services|SST|sensors|AlarmMan|Lights|perfp)"
Click to expand...
Click to collapse
On windows:
adb root ; adb shell "stop audioserver; logcat -c -b all; start audioserver && sleep 10 && logcat -b all |egrep -vi '(dialer|telecom|ril|gsm|touch|brightn|dct|QC-time-services|SST|sensors|AlarmMan|Lights|perfp)' "
Click to expand...
Click to collapse
3) Then re-produce your audo issue and cancel the logcat from step 2 before hanging up!
4) Share the logcat output from the console screen using paste.omnirom.org
Q #11: I'm scared about that microG , I don't want to expose my phone so is this LOS version a security risk?
First of all you need a lot of trust installing ANY custom ROM. A developer can do nasty things right? Besides that yes microG allowing to let apps act like as they are another app, also known as signature spoofing. This CAN be a good and a bad thing. Read on why my LOS is different:
In general the microG patch is an all or nothing. A ROM which supports microG (i.e. signature spoofing) have that feature enabled, always. That's what I don't like.
I want the user to decide if he wants to take the risk or not and not exposing a feature for everyone even when they don't need it.
That's why the user must enable it explicitly in developer options before it gets activated (as described in FAQ #9).
All details of the implementation and why can be found here:
https://github.com/steadfasterX/android_signature_spoofing
https://github.com/Suicide-Squirrel/issues_pie/issues/30
Q #12: The ROM is lagging and/or the device gets very hot/warm, what can I do to help fixing that?
Ensure you read and understand about the ILAPO first.
If you encounter any overheat or lagging issues follow this:
Code:
adb shell
logcat -b all -d | egrep -i "thermal|kill" > /sdcard/Download/log.txt
ps -A >> /sdcard/Download/log.txt
free -m >> /sdcard/Download/log.txt
logcat -b crash -d >> /sdcard/Download/log.txt
exit
adb pull /sdcard/Download/log.txt
Share the log.txt as an attachment of your reply (bc txt is fine for that) or - as usual - by your favorite paste service
Q #13: I have graphic glitches / issues, what can I do?
My builds using skiaGL instead of OpenGL since a while. skia is the new and faster renderer coming with pie by default but it can cause graphic glitches in some applications and/or situations.
Is there any fix for skiaGL coming? No, details here .
To check if your current ROM version is using skiaGL do this:
Code:
adb shell getprop debug.hwui.renderer
If you get an empty result it means skiaGL is active.
If for any reason you wanna go back and enforce OpenGL you can do so by
temporary (immediately activated):
Code:
adb root (must be enabled in dev options)
adb shell setprop debug.hwui.renderer opengl
or make that change persistent:
Code:
boot TWRP
backup system
mount system
adb shell
echo "debug.hwui.renderer=opengl" >> /system/build.prop
sync
reboot
Reserved
Hooray​
Special credits and thanks to @aoleary , @tullyp and @DevUt (and well me..) we now see Android 10 coming to the G4! We had A10 running since 1 and a half year already but were not able to fix the camera. Due to the never ending tests by @tullyp and @aoleary plus @DevUt 's C knowledge they finally fixed that camera! That was a very long journey until now but hey here we are! Without @tullyp we might never seen this coming and he also was a great help when it comes to vs986 fixes and tests - so thanks again dude
TL;DR:
praise these guys
LOS 17.1 is very stable imho and well almost everything should work. Due to the camera issue we stopped working on other more minor issues (like NFC etc) but I still wanted to release LOS in the current state. It is not enforcing atm but I know you guys usually do not care anyways all that is on the todo list and might come anytime.
Check out all current known issues here
Jenkins has been setup now with LOS 17.1 and you can always find information and the current build state here
Other then that: have fun and consider joining my channels if you have any questions or need help.
Cheers
sfX
Greetings, sfx, everyone else.
Updated with full wipe from PIE. *
Seems a lot faster. Fantastic job.
* Quick question, is encryption working? Had to do full wipe because A10 was not accepting my encryption password from Pie.
Regards. Thank you very much for this breakthrough in our older phone.
hteles said:
Greetings, sfx, everyone else.
Updated with full wipe from PIE. *
Seems a lot faster. Fantastic job.
* Quick question, is encryption working? Had to do full wipe because A10 was not accepting my encryption password from Pie.
Regards. Thank you very much for this breakthrough in our older phone.
Click to expand...
Click to collapse
pls see the OP and here 1 post above yours:
tip: check out "untested core features/functionalities"
Hey.
Will try soon later to encrypt the phone. Just downloaded all my Spotify playlists a few hours ago so i can ear music while working.
My G4 is my "music center" , no SIM is inserted. Auto Brightness it is working.
Don't know about the others unknowns ( Hotspot, calls .. )
can i use 4 core kernel boot on this rom?
theartanis said:
can i use 4 core kernel boot on this rom?
Click to expand...
Click to collapse
You can with any ROM . Just follow the x cores guide.
Hi sfx, great build!! I first time ever solved g4 battery consumpion problem. Unbelivable!
After flashing this ROM, my phone does only boot to TWRP recovery. If I select reboot to system, it reboots to recovery. If I power it down and up, it reboots to recovery. If I reboot to fastboot then reboot, it reboots again to recovery !!!!!! I'm getting mad, sorry.
So I have re-installed the previous LineageOS 16.0 and... it boots up normally to Android !
So what am I doing wrong with this version 17.1? I have the H815 official unlocked btw.
EDIT ---------------------------------
I have tried both version 17.1 of 17 February and 3 February and none of them works on my H815.
So I'm simply moved back to version 16.0 that works.
Real-Baso said:
After flashing this ROM, my phone does only boot to TWRP recovery. If I select reboot to system, it reboots to recovery. If I power it down and up, it reboots to recovery. If I reboot to fastboot then reboot, it reboots again to recovery !!!!!! I'm getting mad, sorry.
So I have re-installed the previous LineageOS 16.0 and... it boots up normally to Android !
So what am I doing wrong with this version 17.1? I have the H815 official unlocked btw.
EDIT ---------------------------------
I have tried both version 17.1 of 17 February and 3 February and none of them works on my H815.
So I'm simply moved back to version 16.0 that works.
Click to expand...
Click to collapse
FAQ #6 step 2 -> share the pstore log if avail
and do FAQ #7
Also ensure u have the latest PREVIEW recovery (pie) installed and share the recovery log too (see my sig)
how good the chance is a H818N variant can work with this rom?
hkdoublecat said:
how good the chance is a H818N variant can work with this rom?
Click to expand...
Click to collapse
It will work perfectly fine - if you ever find a way to unlock it.
bluetooth not working properly and booting time massive. Over a minute with lg logo and after that normal lineage booting. H815 unlocked officially.
Anyone else having trouble with the reliability of the proximity sensor turning off the display?
Never mind if it's fine for you, then it's due to my dirty install...

[ROM][13.0_r43][Official]crDroid Android[v9.5-r2][May 2023 ASB]

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
*** 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):​
Spoiler: Show/Hide
"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 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 "inactive" upon next reboot; causing it to attempt to boot from the formerly-inactive slot's boot partition.
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 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 this custom ROM over it. So please; update to OOS 11.1.2.2 firmware (see instructions below).
Notes on stock recovery & TWRP:​
Spoiler: Show/Hide
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 has been described as a hot mess, the official releases for enchilada & fajita have not had good compatibility with Android 12 or newer (trouble with decrypting file-based encryption for userdata), and there are too many variations & unofficial TWRP-based recoveries for me to keep track of.
Meanwhile, the stock crDroid recovery (based on LineageOS) intentionally cannot decrypt userdata, and doesn't correctly process addon.d OTA survival scripts on A/B devices; 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 "proper" custom recovery until the Lineage team 1) implements userdata decryption so you can manage files in /data and install updates from internal storage, 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"), and 3) gets the updater to call backuptool correctly & process addon.d OTA survival scripts on A/B devices. 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.
The built-in recovery DOES support use of a USB thumb drive and will mount it in OTG mode, so any place in the instructions you see "adb sideload", you can instead copy all your things to a FAT32-formatted USB stick and then apply the update from there instead.
Flashing Instructions:​Pre-installation prerequisites:​
Spoiler: Show/Hide
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. You may also want a utility like 7-zip in order to extract .tgz files under Windows.
Updating Firmware:​
Spoiler: Show/Hide
Reboot phone to bootloader (no USB cable connected until you've entered OEM bootloader).
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 listed above.
Reboot to bootloader again (actually loads new bootloader contents 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 9.x from another ROM, continue with the first-time installation instructions below.
First-time installation:​(when coming from any other ROM or stock OOS or crDroid 8.x or earlier)
Spoiler: Show/Hide
*Back up anything you want to keep from the 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 "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 "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!). If you want to try out f2fs as a filesystem for userdata, give it a shot. It should be stable. If you don't know, just pick ext4; that's what we've been using forever.
On phone, choose "Advanced" > "Reboot recovery" to reboot into recovery on the newly-flashed slot.
Use adb sideload to flash GApps or microG installer zips (MinMicroG installer requires you to choose "Advanced" > "Mount/unmount system" first, others might as well).
Reboot into system.
If you want to root with Magisk, complete the initial first boot setup, then reboot the phone back into recovery, choose "Apply update" > "ADB sideload", and then from the computer, 'adb sideload path/to/latest_magisk.apk' to flash Magisk, and reboot back to System afterwards.
???
Profit!
Update installation:​
Spoiler: Show/Hide
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 update from recovery, then be aware that the stock crDroid recovery does NOT process addon.d OTA survival scripts correctly on our non-dynamic, non-virtual 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 (or use a USB drive with appropraite files copied to it and choose OTG as the update source instead).
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.
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
https://github.com/Terminator-J/vendor_ih8sn
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)
crDroid 9.5-r2 - May 2023 ASB release notes/changelog: ​Changelog since v9.5 (03 June release:
Device trees/hardware/kernel/vendor changes pulled from LineageOS.
Still May 2023 ASB, since the June security bulletin requires merging QPR3, which the ROM team is currently working hard at finishing.
crDroid:
I managed to re-add independent Battery Styles for QS shade compared to statusbar (and battery estimate if you have "turbo", Google's DeviceHealthServices) installed. Enjoy it while it lasts; everything will be ruined again with the QPR3 merge here in a bit.
At least a couple things I'd imagine, I dunno. Haven't been paying attention because I'm always a month behind.
Device-specific:
Updated kernel commits from bananafunction's lineage-20-test branch & upstream LineageOS lineage-20 branch.
Dropped ZRAM writeback (meh, less thrashing on the flash storage pls).
Dropped a few more of the overly-ambitious changes from 9.5 that didn't seem to actually do much, except make it a little more battery-hungry. I think battery life is back where we want it to be.
Re-added the "squash revert" commit in kernel to help with some of the camera usage causing drops to Qualcomm Crashdump mode. But honestly, it's going to keep being a thing with newer Google Camera ports. If you need stability for lots of photos, stick with a GCam port (like DMGC or Urnyx05) based on v7.3 or v7.4 for best results.
"Misc tweaks and bugfixes".
If it feels like it's still slightly too battery hungry, turn on the "GPU Throttling" toggle in DeviceExtras to save a little bit more (may cause a little more jank in gaming).
Other release-specific notes:​
People keep complaining about boot loops or losing their GApps or massive battery drains. I get it, sometimes the "Settings > System > Updater" has issues. But frequently the issue is a reading comprehension failure, and the answer keeps being the same: do a dirty flash from the included LineageOS-based crDroid recovery according to the instructions below, and DON'T FORGET TO REBOOT RECOVERY AFTER FLASHING THE ROM ZIP BEFORE FLASHING GOOGLE APPS. If you read NOTHING else from the first post about slots and stuff, at least FOLLOW THE INSTRUCTIONS.
I now have "elite builds" of my custom NikGapps config available for our device, and 16 June and newer releases of "crDroid-op6" now include a few extra packages in there that should help with some app compability going forward (added DeviceSetup, GooglePartnerSetup, DeviceHealthServices, and CarrierServices). See the "Google Apps" section below.
And if you come to the TG channel, I've got a little something something for you kernel-wise that isn't going into the official release build.
Known issues:
Spoiler: Show/Hide
Upstream crDroid/LineageOS things:
Custom fonts in crDroid Settings don't get reapplied to everything on reboot; need to select a different font & then back to preferred font after restarting.
There might occasionally be icons that don't work when "Themed Icons" is enabled in crDroid Home settings. If home screen keeps going black and then reloading, open Settings, then go to Apps > Default Apps, and click the gear next to "crDroid Home" to open our built-in launcher settings, and toggle off "Themed Icons" for now. Send me the crash report URL (paste.crdroid.net) or MatLog zip and it'll tell me which icon needs to get fixed.
Google Apps: If you have MindTheGapps or older NikGapps and you have SetupWizard installed as part of your Google Apps package, then enable Multiple Users and create a new Guest User, the "Setup Wizard" activity will fail to run at the end of the new profile creation, which will leave a couple props unset that normally tell Android that you've finished initial setup; and you won't be able to interact with the notifications/QS shade & will only have the "back" button in the navbar. You can either wait 10 minutes and it automagically fixes itself, or exit the "Guest session" without deleting data, and the next time you enter it, you'll have full control over navigation & statusbar/shades. This seems to be a limitation on multiple custom ROMs currently.
I don't know if this is an upstream issue or device-specific or certain Google Apps packages, but Google Assistant Hotword Detection/Voice Match causes media playback stutter sometimes. So you can either disable it, or doing an adb sideload installation rather than update seems to help some people (permissions issue in Android 13? who knows).
If you get problems with Google Play Store or Android Setup complaining that you need to connect to wi-fi in order to download updates, go into Settings > Apps > "See all __ apps" > [overflow menu] "Show system", then for Android Setup, Google Play Services, and Google Play Store, get app info and make sure to toggle on Network Access for all of them (or turn it off & back on), clear app cache, and then reboot as quickly as possible after. That should get them to realize they CAN connect to the internet after all.
People don't read documentation.
You tell me, with logs!
Installation notes:​
Spoiler: Show/Hide
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 via ADB sideload from computer, then reboot to recovery again, and re-flash your same Google Apps/microG/Magisk/whatever install zips (again via ADB sideload), 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're installing MinMicroG instead of Google Apps, then before ADB sideloading the zip, from built-in recovery on the phone, you might need to go to Advanced > and choose "Mount/Unmount System" first. Then go back to "Apply update" and proceed with ADB sideloading as normal to install. I've heard this has been fixed in more recent builds this year, but haven't had a chance to confirm.
General Notes:​
Spoiler: Show/Hide
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:​
Spoiler: Show/Hide
Maintainer doesn't often use Google Apps personally as daily driver, but here are some notes gathered from peoples' testing:
TL;DR: If you're doing a fresh install, use this Nik GApps custom version (updated 16 June 2023):
https://sourceforge.net/projects/nikgapps/files/Elite-Releases/crDroid-op6/NikGapps-T/
Otherwise, use Nik Gapps Core + Setup Wizard addon (if you're going to restore from a Google Drive cloud backup during setup; *not* the Pixel one, it breaks our launcher) + GoogleSearch addon (for assistant & hotword integration) + GoogleTTS (more voice integration) + Markup (optional, good screenshot editor that you cannot add from Play Store later as a user app) + DeviceSetup, CarrierServices, GooglePartnerSetup, and DeviceHealthServices for now.
https://nikgapps.com/downloads#downloads
If you're already on MindTheGapps, and it's working fine, then ignore this. If you're on official MindTheGapps and facing weird battery drain issues, try updating to newer official version and doing dirty flash of ROM & MTG zip from recovery. If *that* doesn't work, try my modified build. It seems to vary by person and I don't know why.
Due to intermittent issues with excessive battery drain & missing location or network access permissions after Android 13.0 QPR1 that seemed to correlate with MindTheGapps 13.0 arm64 current official release, but not with NikGapps, I went ahead and made a modified build of MindTheGapps that includes additional allowances copied into permissions, default-permissions, and sysconfig XMLs from NikGapps, and the issues seem to be resolved. If you have battery drain issues with MindTheGapps official, then I recommend this package for everyone until such time as I can get the fixes narrowed down and commits submitted for inclusion upstream to the official MindTheGapps project. I have never been able to recreate the drain issue myself, although I have experienced the permissions problems with failure to pre-grant permissions for network access or location to Play Store and Setup Wizard/Android Setup.
However, some folks have had issues with my build that they didn't have with official, so... I don't even know any more. Use what works best if you're already on MindTheGapps.
https://github.com/TJ-Releases/mtg/releases/tag/tau-20230224
Until we can get a fix submitted, I am NOT recommending the use of official MindTheGapps 13.0, as it has begun exhibiting battery drain & permissions retention problems after Android 13 QPR1 was merged in December 2022. If you still need official MindTheGapps, you can get it here:
http://downloads.codefi.re/jdcteam/javelinanddart/gapps
To switch from official MindTheGapps to my modified build (and back):
- Reboot phone to recovery
- ADB sideload the latest ROM zip
- Choose Advanced > Reboot recovery to reboot phone directly to crDroid recovery again
- ADB sideload desired MindTheGapps zip (use my modified build, unless you're specifically trying to help me trace down permissions/battery issues)
- ADB sideload Magisk (if you're rooting)
- Reboot system
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).
BitGApps ... exist. No idea how that's going. I hear it works though, so give a shot. Don't know the link, sorry.
Flame Gapps I have no idea about in Android 13.0.
https://flamegapps.github.io/download.html
Since we are LineageOS-based, here are the Lineage team's recommendations & reasoning:
https://wiki.lineageos.org/gapps.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.
Magisk and Google Play Integrity API (SafetyNet):​
Spoiler: Show/Hide
Without root:
We pass SafetyNet/Play Integrity out of the box, avoiding hardware-backed attestation & falling back to basic integrity (using PixelProps in framework).
I also build & ship ih8sn inline, which should cover all sensitive props to keep most apps from being able to detect root or bootloader unlock.
I don't know how to set up everything correctly to sign builds & verify everything needed to safely enable bootloader re-locking. I'm not even sure it's possible. So just don't try it; you're asking for a trip to MSMTool-land.
With root (Magisk):
If you root with Magisk and configure the Zygisk denylist correctly (see below), you should still pass. For fastest "certified" status, wait after initial installation & signing in to Google to update Play Store & Play Services before rebooting to recovery & ADB sideloading Magisk to root.
Be sure you're on an official topjohnwu release; I recommend beta or canary. "Magisk Delta" is unneeded; we already spoof the props you're worrying about.
Do not install kdrag0n's "Universal SafetyNet Fix"; it's not only unnecessary with this ROM but actively causes problems & interferes with other things (like preferences resetting every reboot).
Look, I don't like the idea of "Shamiko" or anything else that employs LSposed techniquies or similar to do framework injection, and I'm not going to troubleshoot bug reports from people using it. It's a Magisk module that's not open source, so there's no way to verify what it's doing with the root access you have given it. But if that's what makes your ****ty bank app work, then do what you gotta do. I would change to a credit union that doesn't try to hold you hostage with crappy apps.
How to configure Magisk & the Zygisk denylist:
1. Hide the Magisk app:
Go to Magisk > Settings, and choose "Hide Magisk app", granting "install from untrusted source" permission along the way if needed, re-open the hidden "Settings" app
2. Enable Zygisk process hiding:
Go to Magisk > Settings
Enable Zygisk, Enable Enforce Denylist
3. Set up Zygisk denylist:
From Magisk Settings, go to Configure Denylist
Tap overflow (three-dot) menu in upper-right, and select "Show system apps"
4. Find "Google Play Services" and select the following:
com.google.android.gms
com.google.android.gms.persistent [needed for Google Pay/Wallet]
com.google.android.gms.unstable
com.google.android.gms.snet
5. Find "Google Play Store" and select the following:
com.android.vending
6. [Optional, for contactless payment] Find "Google Wallet" or "Google Pay" if installed and select the following:
everything, who cares; it's like 2 processes
7. Back out of "Configure Denylist"
8. Get app info for Google Play Store, force stop, and clear app cache
9. Get app info for Google Play Services, and clear app cache
10. Reboot
Use something like YASNAC to verify that you're now passing Play Integrity API attestation with basic integrity.
Other helpful links:​
Download current boot.img files: enchilada / fajita (also attached below)
Android platform tools (adb & fastboot)
OxygenOS 11.1.2.2 Full OTA: enchilada / fajita
Firmware update instructions (LineageOS Wiki): enchilada / fajita
MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade): enchilada / fajita
MinMicroG (recommend the "Standard" package from "abuse-cl" releases; needs you to "Mount System" in crDroid recovery Advanced options before installing)
Magisk (recommend latest stable/beta v26.1 release; bootloop-to-recovery-after-OTA-update issue appears to have been fixed).
LOGS OR IT DIDN'T HAPPEN​How to make bug reports (and how not to):​TL;DR: if you've got adb set up on the computer and authorized on the phone, plug into a USB cable, run adb bugreport from a terminal, and send me the zip file it generates, ALONG WITH A DESCRIPTION OF YOUR PHONE SETUP AND WHAT THE PROBLEM ACTUALLY IS.
Spoiler: Show/Hide
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'm after, logcat and dmseg.
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).
Protip: If you're not rooted, since this is a "userdebug" build, you can go into Settings > System > Developer options, turn on the toggle for "Rooted debugging", and then on your computer, do adb root to restart the adb server process. The next adb shell you run from the computer will get superuser privilege instead and you can run dmesg or do other things without having to root with Magisk.
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:​"Supported" status - PLEASE do not do these things if you want help:​
Spoiler: Show/Hide
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 when first switching to this ROM at this major Android version (13.0).
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, Lsposed/Xposed/Riru/Shamiko, 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.
tried to dirty flash from an earlier crDroid/Android major version (like 8.x) without a factory reset.
Connectivity issues:​
Spoiler: Show/Hide
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):
Get info for the Google Play Store app, go to "Mobile data & WiFI", and toggle network access off (if on), then on (again). Force close the app, then re-open it; see if it finds the Internet now.
Same as above, except for Google Play Services (you'll have to find it in "Settings > Apps > See all __ apps > overflow menu > Show system" then it should be in the list).
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".
OnePlus Camera & Gallery:​
Spoiler: Show/Hide
It works. It all works, and it's also the only way to get 60fps video recording on this hardware right now, unless there's a GCam mod with configs I'm not aware of.
This version of OnePlus Gallery requires a Google account to actually exist before it will successfully download the expansion pack. If you're running vanilla or haven't signed into a Google account yet, it won't be able to download the thing it wants.
Oops, I dropped something.
Reserved. If I were you, I'd have reservations about this as well.
One huge ass bug report coming right up
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!
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:
I had a "Settings Services not responding" pop-up after the first boot, which I fixed by clearing the app's storage
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:
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?
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
Terminator.J said:
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!
Click to expand...
Click to collapse
Bluetooth keeps crashing.Any One Experiencing the same?
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.
Adnan Hussaini said:
Bluetooth keeps crashing.Any One Experiencing the same?
Click to expand...
Click to collapse
Can't say I've had that issue, with my fitness tracker, or multiple headphones/headsets, or mouse/keyboard...
See post #3 for how to take logs if you'd like to send me a bug report!
Awner said:
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.
Click to expand...
Click to collapse
Depending on how you installed, or Google apps package, or if you did something like clearing storage for Play Store or Play Services, you might need to go into Settings > Apps > "Show all ___ apps" > 3-dot menu > "Show system", find Google Play Services and Google Play Store and re-grant them permissions again (like location).
Never had a problem with GPS working while driving in Waze regularly, or recording locatoin in photos in in OP Camera, Lineage Aperture (the other "camera" app with darker grey icon).
Please see post #3 for details on how to send me a bug report & what kind of logs/information I'll need.
runtosafety said:
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:
I had a "Settings Services not responding" pop-up after the first boot, which I fixed by clearing the app's storage
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:
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?
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
Click to expand...
Click to collapse
There's probably permissions issues going on there. You really should plan on backing up your stuff & doing a factory reset (which will wipe internal storage, sorry) or it's just going to have little lingering issues like this that I can't help with.
Pet peeves:
1. The weather service works flawlessly both with MET Norway & OWM even without a custom API key; came right up for me. Likely needs a clean flash/factory reset to work correctly.
2. Not sure what combination of settings caused that bug to happen, but mobile signal strength should be visible even when data is disabled, since calls & SMS still exist. But yeah; lots of UI-related stuff is likely different. Every major release the ROM dev team has to figure out what will actually keep working or not, and tried to bring features back in or drop them because it's buggy now or causes problems elesewhere or so forth. Honestly the statusbar icon customization options were kind of a mess in Android 12 and it does seem like it's more reliable & consistent now than it was before.
But I understand you miss your favorite setup; I get it. Sorry friend.
Meanwhile, having synced Android 13.0_r16 (QPR1/December ASB), the dev team had to redo all our stack of modifications & customizations on top of it again (for the git-savvy, it's because it's a rebase of all the AOSP repos; more than 10K commits difference, can't just merge in monthly changes).
They essentially had to do Android 13 all over again, and now all of us maintainers are checking to see what broke.
It seems not entirely broken though, so I'll probably start putting up December ASB testing builds in the TG group soon!
Terminator.J said:
Depending on how you installed, or Google apps package, or if you did something like clearing storage for Play Store or Play Services, you might need to go into Settings > Apps > "Show all ___ apps" > 3-dot menu > "Show system", find Google Play Services and Google Play Store and re-grant them permissions again (like location).
Never had a problem with GPS working while driving in Waze regularly, or recording locatoin in photos in in OP Camera, Lineage Aperture (the other "camera" app with darker grey icon).
Please see post #3 for details on how to send me a bug report & what kind of logs/information I'll need.
Click to expand...
Click to collapse
Hi first of all thanks for making this amazing rom! I fixed the issue by formatting my data again. I think everything works now. Really love the device-specific additions that are otherwise missing in other roms. Thank you
I just moved from Rice to this ROM and I feel this ROM is better and more polished.
Thanks @Terminator.J
marcioafoliveira said:
I just moved from Rice to this ROM and I feel this ROM is better and more polished.
Thanks @Terminator.J
Click to expand...
Click to collapse
Yes, in my humble opinion it is better and J always cool, he answer every question on telegram.
Hey there's a weird bug that's been going on and it has been happening with all the android 13 ROMs I have been using. The NFC just quits randomly and blanks out the menu in settings until reboot.
marcioafoliveira said:
I just moved from Rice to this ROM and I feel this ROM is better and more polished.
Thanks @Terminator.J
Click to expand...
Click to collapse
any review compared to LOS20 unoficial? I love LOS but really miss the abilty to customize the rom
Nice work,It suit me well,But i can't get OTA updates,I gess it might be a network issue,so I wonder the OTA adress to find out what's wrong,can some one help?
imokpd said:
Nice work,It suit me well,But i can't get OTA updates,I gess it might be a network issue,so I wonder the OTA adress to find out what's wrong,can some one help?
Click to expand...
Click to collapse
Well, so far there aren't any. That might be why. I've only ever made one official 9.0 (Android 13) release.

Categories

Resources