Related
[M.O.D. KERNEL Q]
*** NOTE: a dev has posted on TG the FOD fix for beta/ MIUI 12 forked from my code, download there! I asked for GitHub source to comply with XDA and will post once I have it and provide a link to the file link "Mi9/Mi9T Pro Optimization and Overclocking" Telegram has it now: https://t.me/joinchat/NNTe_E9G4ZcZKXCUrajFYQ ***
MIUI 11 Mi9/ 9T Pro MOD 1.5
MOD-Q 1.5 is for stable MIUI 11 variants for Mi9 only - Xiaomi.eu 11.0.5 stable is what it was built for, runs best on, just use it. The Mi9T Pro version supports MIUI 11 variants plus many AOSP builds. If you use an official MIUI 11 Xiaomi version you will get a warning message "Contact device manufacturer." You can ignore that, it means nothing. But I highly suggest using Xiaomi.eu 11.0.5, or another MIUI 11 variant like MiRoom or some use Revolution OS.
***DO NOT USE ANY PERFORMANCE (CPU/GPU/ETC) MAGISK MODULES WITH THIS FOR BEST PERFORMANCE!!! IT INSTALLS IT'S OWN OPTIMIZED MAGISK MODULE AUTOMATICALLY***
FP scanner will only work up to 11.0.5. Xiaomi keeps changing the code and not releasing it to made Dev builds not work. There were "patches" that worked until a few weeks back, but Xiaomi has yet again changed their FP scanner code. So I will not update the FP code, do not ask, it is a complete waste of time. Sorry, but Xiaomi.eu 11.0.5 and MOD 1.5 work very very well together.
Features:
835mhz GPU, Adreno Boost, Dynamic Fsync, Boeffla WL blocker (better battery idle), F2FS optimizations, LZ4 ZRAM. EXFAT USB/SDCard support added. Sultan Boost + PapaSmurf's Op7Pro tweaks, Dynamic Overclocking + Underclocking with frequency boost for smooth, fast, clean performance and fluid scaling. Many thanks to PapaSmurf who greatly influenced this kernel; portions are ported from his Op7 Pro Repo.
Mi9T Pro version also reported to work on AOSP ROMs using the original FOD implementation (Derpfest, MSM, CRDroid, Havoc, LOS).
Just use the Magisk Module it installs for you automatically when you flash the zip from TWRP, likely the best results will be obtained. SmartPack can be installed to choose between profiles under Performance Tweaks - battery / balanced / performance / gaming, although the default installed Magisk module is highly recommended by itself for optimal performance and good battery drain.
Github source has been added for MOD 1.5 here. Please read the Readme that's why it's there.
https://github.com/mrslezak/MODQ1.5
Releases are available here: Download them for your device and follow the instructions there. If you already have TWRP and Magisk, it will be easy. Just read please it will answer your questions.
https://github.com/mrslezak/MODQ1.5/releases/tag/MOD1.5
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[M.O.D. KERNEL PIE] Mi9 Android9 GPU830mhz F2FS data/cache Dynamic Fsync LZ4 WLblocker V2 [STABLE]
MOD Pie notes:
***New features added! Dynamic Fsync replaces the Fsync toggle (credits to author Paul Reioux aka Faux123 <[email protected]>), and Boeffla Wakelock blocker 1.1.0 (credits to author: andip71 <[email protected]>) has been added. The GPU830mhz runs on a higher regulator now so even 3DMark runs without issue, this is as stable as it gets. A battery saving Magisk Module has been added for longer life and scored 422.5K still on AnTuTu! It will throttle and hotplug (idle) cores as needed to save battery ***
Super tweaked kernel for the Mi 9. Best AnTuTu Benchmark 432K thus far, expect 420K-430K in daily operation with good battery life. This will vary based on the ROM selected. Stock AnTuTu is 370K. So you can run your phone faster than any production 855+ at the moment. This kernel is setup on purpose to allow anything from stock to maximum performance, you can set parameters as you like in a kernel manager.
GitHub Source: https://github.com/mrslezak/MODKernel-V2-Cepheus
Releases are available here:
https://github.com/mrslezak/MODKernel-V2-Cepheus/releases/tag/V2
TG Name: MattoftheDead
M.O.D. Kernel (MattoftheDead). This kernel is STABLE, everything works, it runs on any MIUI based ROM (MIUI Global Dev, MIUI China Dev, MiGlobe, Xiaomi.eu, AOSP, etc.). ***If you install this kernel and don't follow the tweak instructions, it runs exactly like stock. There is now a Magisk module that will run with the optimal settings to make this easy! *** So read up. You can apply any tweaks you'd like. These include:
GPU 830mhz overclock - stable and smooth. The GPU will throttle down when not being used to a lower mhz. The Magisk Module will enable the max 830mhz clock for you. Or you can go without if you have a dialcode supported GPU MaxFreq OC mode *#*#8106#*#*
ZRAM LZ4 data encryption enabled - fastest encryption method, smaller ZRAM sizes (512mb is good) work very well [2GB is the stock ZRAM default, LZO is the default kernel compression which is slow]. ZRAM is in-memory swap so it is ultra fast. This allows you to have more free RAM for apps to run.
F2FS data and cache partition support - full ICE AES 256bit encryption. Note only @mauronofrio TWRP 3.3.1-39 + supports F2FS partition mounting so you MUST use this TWRP recovery!!!
F2FS has been tested on MIUI Global Dev 9.6.27 and Xiaomi.eu 9.7.22, 9.8.1, MiGlobe, RevOS, AOSP, Havoc thus far (more added daily) and read/write speeds and app access are definitely fast. Support was enabled by working directly with @mauronofrio on XDA (thanks Mauro) so we originated F2FS support for Mi9 - there are also F2FS kernel tweaks that help the speed in the kernel.
BOEFFLA Wakelock Blocker 1.1.0 - blocks wakelocks and allows you to change what gets blocked that is waking up your phone and preventing deep sleep. There are defaults blocked already in this build that are known to be blockable safely. If you want to add more, use SmartPack Kernel manager under Wakelocks. It will also show you what apps are causing them and the frequency so you can disable the ones that are not needed.
If you want to join in the discussion and see updates in realtime, World MI9 & Mi9T Pro Optimization and Overclocking is a TG group which has many things related to MOD and any other kernels, mods for the phone, Magisk Modules, all types of things for the devices.
Step 1: [KERNEL REQUIRED FILES]
Go to the releases page posted earlier and download everything.
Step 2: [ROM SELECTION]
If you already have a Pie MIUI based DEV ROM installed, you can continue to use it. Global Dev 9.6.27 is recommended. But this supports up to Xiaomi.eu 9.8.1. If you want to use a new MIUI based ROM, download it and setup the device (between these ranges of releases - some like MiRoom, some like stock, some like Xiaomi.eu). If you are clean flashing everything, don't bother restoring all the apps - they will be deleted when you switch to F2FS. Just set it up so you can login and get to the default menu with the default apps displayed. Either way, you will have to setup the device as a new phone. So back up all your user data (photos, downloads, etc), apps, etc. using Google Drive, Xiaomi Cloud, Titanium Backup Pro, or any other app that backs up apps and settings. It's often easiest to put them on your PC since you will be plugged into it during this install process with your USB cable.
Step 3: [MAURO TWRP INSTALLATION FOR F2FS SUPPORT]:
Boot Mi9 holding Power + Volume Down
Hook up to your phone to the PC with the charging cable
Open a command prompt. Go to your Minimal ADB and Fastboot folder.
Type: fastboot devices
And hopefully you see your device ID pop up. If not you don't have the right driver, the cable is bad, or something else is wrong. Search Google.
Next flash Mauro TWRP:
fastboot flash recovery twrp-3.3.1-41-cepheus-mauronofrio.img (or use his latest from the link at the bottom of this thread)
Hopefully you see it flash to the device in a few seconds successfully and it's ready to go.
Booting to TWRP:
Turn off your phone. Now hold down power + volume up. Once the boot Logo appears, let go of the power button but keep holding volume up. TWRP should boot. If not, try again. I usually have to remove the phone case. Now enter your password and proceed to the next section. If it asks you if you want to keep the system read only SAY NO! You will be modifying system components, keep it writable to avoid installation issues.
Step 4: [FLASHING THE M.O.D. KERNEL]
Check the releases page posted above. Just unzip the file there and flash via TWRP as an image to boot. It's patched with Magisk already.
Step 5: [CONVERT EXT4 TO F2FS}:
Converting EXT4 data and cache partitions to F2FS:
Check the releases page posted above for fstab_patch_F2FS_MI9_Cache_NoBarrier.zip required to enable F2FS. You MUST flash this in TWRP or your OS will NOT be able to boot an F2FS data partition!!!! This file has been kanged all over the internet, it was created here. Feel free to use it, everyone already is.
***Note flashing TWRP / Install / fstab_patch_F2FS_MI9_Cache_NoBarrier.zip MUST be repeated any time you change ROMs or you won't have access to your data!!! So back this up!!!!***
Boot back into TWRP. You will need to go to Wipe, Advanced Wipe, Click Data, Repair or Change File System, Change File System, and click F2FS. Swipe to change. It will format and you'll have nothing on your data partition. Next format cache. Go to Wipe, Advanced Wipe, Click Cache, Repair or Change File System, Change File System, now click F2FS. Swipe to change. Again it will format and be wiped.
Step 6: [SETTING UP YOUR "NEW" PHONE]:
Next, reboot to System. The device should boot up and welcome you to your "new" device. It has no data apps so it has to be new. You will have to login to your Xiaomi account if it is associated with the device. Then you can choose to restore from a Google Backup and next from Xiaomi Cloud. You can do either one to get your apps back. I would suggest Xiaomi Cloud after Google completes all its downloads - it will place icons in the right places and install your root apps if you had them. And after setting up your apps, now boot back to TWRP and make a Backup. Now for this Nandroid backup you should backup data, boot, dtbo, and vendor partitions (vendor has the fstab.qcom file that allows your F2FS supported partition to boot now). Even if you save to your internal device initially, be sure to put it on a PC for safe keeping. Then If you accidentally wipe your partition later, you can skip importing, get to the main screen after minimal setup completes, enable file transfer from the connected PC, and then copy the Nandroid backup to your Internal Memory. Boot into TWRP and restore the backup and you're back in business.
Step 7: [INSTALLING MAGISK MANAGER AND KERNEL MANAGER]:
So now you install the MagiskManager-v7.3.2.apk to enable all root functions. If you want Google Pay and anything else setup posts are here in the Mi9 forum that show you how. Generally hide all banking apps, trading apps, Google Pay, GMS, etc. And I suggest installing GMS doze for better battery life and the Mi9 Auto Brightness fix.
In addition, to have the MOD kernel setup for the best performance, go into Magisk Manager, Modules, and flash the (Magisk)MOD-Battery-Saver+_v2.zip from the releases page. It will auto set all the parameters the kernel features, and does a great job with extending battery life at the same time.
This is the best setup for performance. Pictures are included below.
If you would like to change the settings, you need a kernel manager. So next you can install the Smart Pack APK SmartPack_Kernel_Manager_v8.7.apk to enable or disable all the tweaks you desire.
Pictures are attached below to show the TWRP screens for flashing and F2FS partition conversion. Also the settings of best performance using Smart Pack kernel manager are here. If you want to change any of the best settings after flashing the Magisk Module, do it in the kernel manager of your choice and set on boot - where to change those options is in the pictures below for SmartPack.
Enjoy!
Mauro TWRP
https://forum.xda-developers.com/Mi-9/development/recovery-unofficial-twrp-xiaomi-mi-9-t3905825
SmartPack Kernel Manger
https://forum.xda-developers.com/android/apps-games/app-smartpack-kernel-manager-t3854717
FK Kernel Manager CPU Profile
https://play.google.com/store/apps/details?id=com.franco.kernel&hl=en_US
Magisk
https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445
Minimal ADB and Fastboot
https://forum.xda-developers.com/showthread.php?t=2317790
And one last thing. I have been working with some of the most well known devs out there on XDA on Telegram, Private Messaging, and other channels to get this kernel where it is - but I have no XDA presence. I've helped hundreds of people on Telegram setup their systems or diagnose their issues. If you find this post useful, helpful, innovative, or install my kernel and like it, please click the Thanks button to acknowledge the work that I've done to get the Mi9 to this point. It would be greatly appreciated to get some thank yous for all the hours I've put into this development work for the Mi9, and provides some motivation to keep improving. Other kernels are on the way as well for more Xiaomi / Redmi devices if I feel some love from the community. Much appreciated!
Thanks goes out to @smeroni68 and @mauronofrio for helping fix the fstab.qcom zip that cost several hours of pain yesterday for users and I on Telegram that did not have the Vendor partition mounted when flashing the old fstab.zip file - it will flash now mounted or not from TWRP. And thanks to @ilia1985 for providing a Magisk Module template for the kernel manager settings, now OC setup doesn't even need a kernel manager!
***DISCLAIMER - APPLYING ANY ROOT MODS IS ALWAYS AT YOUR OWN RISK! I AM NOT RESPONSIBLE FOR BRICKED DEVICES, DAMAGE OR OTHER THAT MAY OTHERWISE OCCUR. THIS HAS BEEN TESTED EXTENSIVELY BUT USE AT YOUR OWN RISK***
First.. that's the first time.
Huge thanks to the dev for their contribution!
Awesome work!
What does "miui based rom" mean?
Is Havoc OS miui based?
Troomak said:
Awesome work!
What does "miui based rom" mean?
Is Havoc OS miui based?
Click to expand...
Click to collapse
Nah, it's aosp
Looks like it's base on last one version of android9 MIUI DEV 9.8.1 to modify its kernel, doesn't it ?
So it's not base on linux kernel 4.14.139 to develop ?
Kris
Kris Chen said:
Looks like it's base on last one version of android9 MIUI DEV 9.8.1 to modify its kernel, doesn't it ?
So it's not base on linux kernel 4.14.139 to develop ?
Kris
Click to expand...
Click to collapse
4.14.83 per the hardware device settings. Q is already upstreamed to the latest Linux and CAF so just waiting on a source release so kernels can be made. No need to spend time upstreaming unless another dev wants to (I'm in contact with the other kernel dev here on XDA we're working together now, he may upstream). He upstreamed his to 4.14.139 and will pull my source repo soon to fix bugs in his build so he may just upstream this kernel or fix bugs in his kernel in the process. Collaboration is a good thing. I've been waiting for assistance for a long time and it's good to team up with others devs. We don't get paid we do this as a hobby.
Thanks !
Can I use Ex kernel manager to tune kernel parameters ?
In another one - Will there CPU/GPU frequency table exist to choose which one of frequency combination I want to use base on condition of phone usage - Gaming, multimedia application, and general usage !
mslezak said:
4.14.83 per the hardware device settings. Q is already upstreamed to the latest Linux and CAF so just waiting on a source release so kernels can be made. No need to spend time upstreaming unless another dev wants to (I'm in contact with the other kernel dev here on XDA we're working together now, he may upstream).
Click to expand...
Click to collapse
Kris Chen said:
Thanks !
Can I use Ex kernel manager to tune kernel parameters ?
In another one - Will there CPU/GPU frequency table exist to choose which one of frequency combination I want to use base on condition of phone usage - Gaming, multimedia application, and general usage !
Click to expand...
Click to collapse
Yes EX Kernel Manager is a good one to use. You will have to experiment with if it can lock in frequencies. Follow the guide for CPU settings they are optimal. You could by app adjust if needed and if it is supported by EX. Some support per app some don't. I think SmartPack does. The issue is that the 830gpu clock is an additional clock. The others are all stock clocks. This is for maximum battery life and compatibility. The highest 830GPU is only fully settable via dial code *#*#8106#*#* at this time - try in your ROM to see if it is supported. In some KM you can set max and min to 830mhz and it will lock in the frequency (FK) although this was only tested for 1 day on an unstable build (too hot thermals). More tests are needed, feel free to try and post what you observe.
hiperglyde said:
Nah, it's aosp
Click to expand...
Click to collapse
Many AOSP builds are still on Xiaomi underlying code. The test would be to install the TWRP mentioned and take a backup of boot and dtbo partitions. Stay on EXT4. Then flash the restore TWRP provided and see if it boots. I user has already made it to the logo screen on AOSP using this method. He is using an unencrypted partition though. If you are on an encrypted partition the likelihood of it working is higher. The TWRP is bootable from fastboot as well so you will be able to access recovery. Advise you save the backup to removeable media / computer before flashing. Report back your results please.
Hey There.
I am trying to mount the fsqtab.qcom an do not get how to do it on my Mi9 using these directions?
The fstab.qcom included MUST be placed in /vendor/etc/ OR YOUR PHONE WILL NOT BE ABLE TO MOUNT THE DATA PARTITION!!!! So your next step is to copy the fstab.qcom via a root browser or from Minimal ADB and Fastboot. Boot to Recovery (hold power + volume up, release power button when the boot logo appears), then run from a terminal: adb push fstab.qcom /vendor/etc/fstab.qcom
How do you do whats listed above 'precisely'?
I can make everything else work. I just cannot seem to get this file inserted in Vendor?
Can you help please
(my profile says senior member but I am really not )
Great work!! Thanks for the kernel.
Any chance Kcal will be possible?
Finaly installed it on aosp extended.Thanks for developer
Bryceicle1971 said:
Hey There.
I am trying to mount the fsqtab.qcom an do not get how to do it on my Mi9 using these directions?
The fstab.qcom included MUST be placed in /vendor/etc/ OR YOUR PHONE WILL NOT BE ABLE TO MOUNT THE DATA PARTITION!!!! So your next step is to copy the fstab.qcom via a root browser or from Minimal ADB and Fastboot. Boot to Recovery (hold power + volume up, release power button when the boot logo appears), then run from a terminal: adb push fstab.qcom /vendor/etc/fstab.qcom
How do you do whats listed above 'precisely'?
I can make everything else work. I just cannot seem to get this file inserted in Vendor?
Can you help please
(my profile says senior member but I am really not )
Click to expand...
Click to collapse
Did you turn on the option ADB sideload in twrp? Under advanced?
*justintime* said:
Did you turn on the option ADB sideload in twrp? Under advanced?
Click to expand...
Click to collapse
I just installed it via root browser
Two ways you can do:
1.To use root explorer copy fstab.qcm under /vendor/etc ...
2.Enter TWRP and mount vendor parition, then copy fstab.qcm under /vendor/etc ...
Kris
QUOTE=Bryceicle1971;80122399]Hey There.
I am trying to mount the fsqtab.qcom an do not get how to do it on my Mi9 using these directions?
The fstab.qcom included MUST be placed in /vendor/etc/ OR YOUR PHONE WILL NOT BE ABLE TO MOUNT THE DATA PARTITION!!!! So your next step is to copy the fstab.qcom via a root browser or from Minimal ADB and Fastboot. Boot to Recovery (hold power + volume up, release power button when the boot logo appears), then run from a terminal: adb push fstab.qcom /vendor/etc/fstab.qcom
How do you do whats listed above 'precisely'?
I can make everything else work. I just cannot seem to get this file inserted in Vendor?
Can you help please
(my profile says senior member but I am really not )[/QUOTE]
*justintime* said:
Did you turn on the option ADB sideload in twrp? Under advanced?
Click to expand...
Click to collapse
No. Does that allow the terminal to find the file in your USB?
I've been leaving the extracted files in my c-type USB plugged into the cell
---------- Post added at 10:30 AM ---------- Previous post was at 10:26 AM ----------
Kris Chen said:
Two ways you can do:
1.To use root explorer copy fstab.qcm under /vendor/etc ...
2.Enter TWRP and mount vendor parition, then copy fstab.qcm under /vendor/etc ...
Kris
QUOTE=Bryceicle1971;80122399]Hey There.
I am trying to mount the fsqtab.qcom an do not get how to do it on my Mi9 using these directions?
The fstab.qcom included MUST be placed in /vendor/etc/ OR YOUR PHONE WILL NOT BE ABLE TO MOUNT THE DATA PARTITION!!!! So your next step is to copy the fstab.qcom via a root browser or from Minimal ADB and Fastboot. Boot to Recovery (hold power + volume up, release power button when the boot logo appears), then run from a terminal: adb push fstab.qcom /vendor/etc/fstab.qcom
How do you do whats listed above 'precisely'?
I can make everything else work. I just cannot seem to get this file inserted in Vendor?
Can you help please
(my profile says senior member but I am really not )
Click to expand...
Click to collapse
[/QUOTE]
Thanks. I'll try your an other suggestions
*justintime* said:
Did you turn on the option ADB sideload in twrp? Under advanced?
Click to expand...
Click to collapse
Have tried to turn on ADB side load an it keeps failing after a long wait? What am i missing?
---------- Post added at 12:07 PM ---------- Previous post was at 12:00 PM ----------
mslezak said:
[M.O.D. KERNEL] Mi 9 Android 9 Pie GPU830mhz F2FS data/cache Fsync LZ4 ZRAM [STABLE]
MOD-KERNEL-TOOLS.zip -> kernel and all software to use the features of the kernel: https://mega.nz/#!TopRnIDK!6GbL_8QPToK0oLCSDnJ_d9EUnZ9AflDgf-9pu6JCiKo
GitHub Source: https://github.com/mrslezak/Xiaomi_Kernel_OpenSource branch: cepheus-p-oss
Telegram Group: https://t.me/joinchat/NNTe_E9G4ZcZKXCUrajFYQ
Telegram Name: @MattOftheDead
M.O.D. Kernel (MattoftheDead). This is a kernel project that has been going on for months now behind the scenes. It is STABLE, everything works, it runs on any MIUI based ROM (MIUI Global Dev, MIUI China Dev, MiGlobe, Xiaomi.eu, etc.). Android 9 (Pie) only as Android 10 has not been released and Xiaomi decided to change the kernel components (boot.img and dtbo.img will flash to Q, but no WIFI, no calls, and colors are "off."). If you install it and don't follow the tweak instructions, it runs exactly like stock. You can apply any tweaks you'd like. These include:
GPU 830mhz overclock - stable and smooth - most MIUI Dev based ROMs can enable via dialing *#*#8106#*#* - enable MaxFreq GPU Mode - you can test before installing. The GPU will throttle down when not being used to a lower mhz.
FSync toggle (enable/disable) - disable gives higher speed at the risk of data corruption if a system crash occurs. Note I've used this 4 months with no issues, if you use stable software you are less likely to run into problems. Eventually dynamic Fsync will be added if I ever have time or help (writes to disk when screen is off, safer than just disabling).
ZRAM LZ4 data encryption enabled - fastest encryption method, smaller ZRAM sizes (512mb is good) work very well [2GB is the ZRAM default, LZO is the default kernel compression which is slow]
F2FS data and cache partition support - support with full ICE AES 256bit encryption. Note only @mauronofrio TWRP 3.3.1-39 + supports F2FS partition mounting so you MUST use this recovery!!!
F2FS has been tested on MIUI Global Dev 9.6.27 and Xiaomi.eu 9.7.22 thus far and read/write speeds and app access are definitely fast. Support was enabled by working directly with @mauronofrio on XDA (thanks Mauro) so we originated F2FS support for Mi9 - there are also F2FS kernel tweaks that help the speed.
Now if you want to install this kernel, you can right away and use it on EXT4 (default for all Xiaomi ROMs). To use with F2FS you will need to adb push a modified fstab.qcom file to /vendor/etc/fstab.qcom. Or you can use a root browser and just copy it over if you are currently rooted. It will boot either EXT4 or F2FS with encryption with the same fstab.qcom file. And then you will enter the danger zone once it is time to enable F2FS! You will have to backup all your apps. This means MiCloud (for root apps this is good, saves APKs and settings), Google backup (the backup frequency seems random to me, although if a backup is recent you'll get all your PlayStore apps back), Titanium Backup Pro ($ PAID, you can't use the free version as the internal data will be wiped when the partition is formatted), or search for another backup solution online. Nandroid backups won't work after conversion either as they include the partition format (EXT4, F2FS, etc.) so don't bother. More on this later in the thread.
To save everyone time and space (I don't have a good way to upload files), join my Telegram channel. Read the instructions and you will be up and running in no time. They are outlined in great detail there along with tons of other discussions around optimizations and benchmarks. However, I will attempt to summarize installation on XDA as best as I can. Telegram Link: https://t.me/joinchat/NNTe_E9G4ZcZKXCUrajFYQ -> XDA MI9 Optimization and Overclocking
I have also provided a Mega.nz zip file with a bunch of tools you can use to get up and running. It comes with the modified kernel (boot.img GPU830_F2FS_Fsync_CRC_LZ4_boot.img and dtbo.img GPU830_F2FS_Fsync_CRC_LZ4_dtbo.img), the modified fstab.qcom file for encrypted F2FS support, the Mauronofrio TWRP version required twrp-3.3.1-39-cepheus-mauronofrio.img, Magisk-v19.4.zip Canary, MagiskManager-v7.3.2.apk, SmartPack Kernel Manager com.smartpack.kernelmanager-v8.7-20190815-release.apk to set tweaks along with a file SmartPack_init.d.txt that can be copied and pasted directly into SmartPack (in the menu, Init.d, enable Init.d, add new, copy and paste the text in, save it, and everything will be setup optimally) - NOTE init.d does not work on all ROMs (even with it enabled on boot in the software), so you may need to click on the profile under Init.d manually to execute after boot. A Franco Kernel Manager CPU Profile is included Maxfreq-CPUs-FK_Kernel_Manager_Profile if you use FK since it won't let you set CPU frequencies in the software (included just for people who have FK or prefer it over SmartPack - it won't setup ZRAM to LZ4 or 512mb for you, or toggle FSync, so you will have to manually do it if you use FK). Also the latest Windows Minimal ADB and Fastboot minimal_adb_fastboot_v1.4.3_setup.exe is included, although you probably already have it since you have a bootloader unlocked phone
Now some very basic steps to the more complicated, much you should already know since you clicked on a custom kernel post!!!!
Flashing Mauro TWRP:
Boot Mi9 holding Power + Volume Down
Hook up to your phone to the PC with the charging cable
Open a command prompt. Go to your Minimal ADB and Fastboot folder.
Type: fastboot devices
And hopefully you see your device ID pop up. If not you don't have the right driver, the cable is bad, or something else is wrong. Search Goggle.
Next flash Mauro TWRP:
fastboot flash recovery twrp-3.3.1-39-cepheus-mauronofrio.img
Hopefully you see it flash to the device in a few seconds sucessfully and it's ready to go.
Booting to TWRP:
Turn off your phone. Now hold down power + volume up. Once the boot Logo appears, let go of the power button but keep holding volume up. TWRP should boot. If not, try again. I usually have to remove the phone case.
Flashing boot.img, dtbo.img, and Magisk19.4.zip:
You can do this manually or from a TWRP backup. In the MOD-KERNEL-TOOLS zip file, you can unzip [TWRP-Restore-Backup] MODKernel-Magisk19.4 to internal storage or OTA SD card / USB drive, click Restore, and restore boot and dtbo. Then it is already patched with Magisk 19.4 (you have root access). Then reboot. Now for the more manual method. You can select Install. Then select Flash Image. Select GPU830_F2FS_Fsync_CRC_LZ4_boot.img and flash to the boot partition. After flashing, go back in TWRP and flash GPU830_F2FS_Fsync_CRC_LZ4_dtbo.img to the dtbo partition. Now go back in TWRP again and click on Flash Zip. Select Magisk19.4.zip and flash. After this completes, reboot.
Setting up F2FS data and cache partitions:
The process to setup F2FS is to first download a compatible ROM if you don't already have one installed (MIUI based, Android 9 (Pie), this includes MIUI Dev, Xiaomi.eu, MiGlobe, Revolution OS, etc.) ENSURE ANDROID 9 PIE: 9.8.1 variants are usually the last Android Pie build. After downloading, you can install it as a new phone after following the guide below so don't bother setting anything up other than a Xiaomi account login if prompted; don't restore apps yet either. You can setup with defaults now and not import apps. You should make it to the home screen though. All apps will be deleted after formatting.
You will be setting up a new phone and will have to login to all your apps over again. So to reiterate, MAKE COPIES OF ALL YOUR PROGRAMS BEFORE DOING THIS! Xiaomi Cloud, Google Backup, Titanium Backup, etc. - use something not on your phone, NOT a Nandroid backup! NOT in internal storage! (it will be wiped)!
The fstab.qcom included MUST be placed in /vendor/etc/ OR YOUR PHONE WILL NOT BE ABLE TO MOUNT THE DATA PARTITION!!!! So your next step is to copy the fstab.qcom via a root browser or from Minimal ADB and Fastboot. Boot to Recovery (hold power + volume up, release power button when the boot logo appears), then run from a terminal: adb push fstab.qcom /vendor/etc/fstab.qcom
Now in TWRP, you will need to go to Wipe, Advanced Wipe, Click Data, Repair or Change File System, Change File System, now click F2FS. Swipe to change. It will format and you'll have nothing on your data partition. Next format cache. Go to Wipe, Advanced Wipe, Click Cache, Repair or Change File System, Change File System, now click F2FS. Swipe to change. Again it will format and be wiped.
Next, reboot to System. The device should boot up and welcome you to your "new" device. You will have to login to your Xiaomi account if it is associated with the device. Then you can choose to restore from a Google Backup and next from Xiaomi Cloud. You can do either one to get your apps back. I would suggest Xiaomi Cloud after Google completes all its downloads - it will place icons in the right places and install your root apps if you had them. If you accidentally wipe your partition later (as I just did while making this tutorial, ouch), you can skip importing, get to the main screen, enable file transfer from the connected PC, then copy the Nandroid backup you absolutely should make and transfer to a PC right after setting all your apps up (logging in etc.). Now for this Nandroid backup you should backup data, boot, dtbo, and vendor partitions (don't forget that fstab.qcom we put here!). Even if you save to your internal device initially, be sure you later put it on a PC for safe keeping. I am just now copying back my TWRP directory to restore my phone this moment as I type...
Pictures are attached below to show the TWRP screens. Also the settings for the best performance using Smart Pack kernel manager included in the ZIP file download (will add after I restore). And a picture of the dial code + GPU Max Freq screen where you turn on the 830mhz GPU clock. Enjoy!
Links to XDA files included in the MOD-KERNEL-TOOLS.zip:
Mauro TWRP
https://forum.xda-developers.com/Mi-9/development/recovery-unofficial-twrp-xiaomi-mi-9-t3905825
SmartPack Kernel Manger
https://forum.xda-developers.com/android/apps-games/app-smartpack-kernel-manager-t3854717
FK Kernel Manager CPU Profile
https://play.google.com/store/apps/details?id=com.franco.kernel&hl=en_US
Magisk
https://forum.xda-developers.com/apps/magisk/official-magisk-v7-universal-systemless-t3473445
Minimal ADB and Fastboot
https://forum.xda-developers.com/showthread.php?t=2317790
Click to expand...
Click to collapse
No system no boot an a bootloop. This enhancement is a bit complex an I'm kind of confused?
Bryceicle1971 said:
Have tried to turn on ADB side load an it keeps failing after a long wait? What am i missing?
---------- Post added at 12:07 PM ---------- Previous post was at 12:00 PM ----------
No system no boot an a bootloop. This enhancement is a bit complex an I'm kind of confused?
Click to expand...
Click to collapse
Witch rom are you using?
Inviato dal mio MI 9 utilizzando Tapatalk
smeroni68 said:
Witch rom are you using?
Inviato dal mio MI 9 utilizzando Tapatalk
Click to expand...
Click to collapse
Xiaomi.eu for Mi9 9.7.22 v10-9
Bryceicle1971 said:
Have tried to turn on ADB side load an it keeps failing after a long wait? What am i missing?
---------- Post added at 12:07 PM ---------- Previous post was at 12:00 PM ----------
No system no boot an a bootloop. This enhancement is a bit complex an I'm kind of confused?
Click to expand...
Click to collapse
You copied fstab.qcom to /vendor/etc/? Boot into recovery, attached to your PC. Then from a command prompt in Minimal ADB and Fastboot,copy fstab.qcom there. Then type: adb devices. It should show a device ID. Then type adb push fstab.qcom /vendor/etc/. It should say succeeded. Then reboot. This only makes a difference if you are on F2FS.
If you aren't booting to system go ahead and try the TWRP recovery version - unzip and flash that package to boot and dtbo from TWRP Restore. It's already patched with Magisk 19.4 and several people are on it that had issues flashing the files separately.
{
"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"
}
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
A quick glossary and primer on slots for A/B devices (like ours):
Spoiler: Show/Hide
- "Clean flash": Removing device protection & clearing user settings before installing a bootable system install zip (usually by either wiping or formatting data, see below).
- "Dirty flash": Flashing a ROM zip (usually upgrading to new version, sometimes just re-flashing the existing one) without wiping data or anything first.
- "Wipe data": Synonymous with "factory reset", accomplished from TWRP recovery by selecting "Wipe", then performing the "Slide to factory reset". Clears user data without erasing any partitions, removing encryption, or deleting contents of internal storage.
- "Format data": Formats the data partition itself, resets all file-based encryption keys, loses all contents of internal storage, and in fact deletes all "user 0" directories (this has some implications for internal storage before & after first boot).
- "User 0" directories are a series of directories that store userdata for the primary user, "Owner", and get created in various places throughout the filesystem on first system boot if they don't exist already. Anything you copy to "internal storage" while booted in recovery after "formatting data" will actually be copied to /data/media/ instead of /data/media/0/, and will become invisible to regular file browsing after first boot once the system has created /data/media/0, since the system will prefer to use that path for internal storage from then on (so you'll need a root file browser to delete things from /data/media, or just ADB sideload things instead of copying after formatting but before booting).
- "OTA package": Originally an abbreviation for "over the air", referring to how a software update could be delivered (as opposed to having to take your phone to a carrier's store for a firmware update via serial/USB connection). The common usage in Android circles is any installation zip file that actually includes a bootable system.
- Some partitions are duplicated (system, vendor, boot, and probably a couple others, but not data) and have a "slot A" & "slot B" copy.
- "Slot A" and "slot B" are absolute designations, but most installer zip scripts use the relative designations: "active" and "inactive". Whichever slot you're booted from currently is "active", and the other one is "inactive".
- Installing a zip file that's flagged as being an OTA package will 1) install the contents to the "inactive" slot, and then 2) flag the bootloader to switch which slot is considered "active" (and booted from) and "inactive" upon next reboot.
- The OxygenOS full OTA zip files and all custom ROM installer zip files are considered "OTA packages" and will trigger a slot switch on next boot after installation.
- You can install multiple OTA zip packages one after the other without rebooting in TWRP; they will all get installed into the correct partitions in the "inactive" slot, one on top of the other, and then it will swap active & inactive upon reboot.
- 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, and vbmeta. Some ROMs (like Syberia) build the vendor partition from source instead of just trying to work with the existing OEM vendor partition, so they flash that one too when installing. So you definitely need to flash stock vendor before switching from Syberia or another source-built vendor ROM to one like Lineage or crDroid that uses prebuilt.
- "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). Unfortunately, OnePlus SDM845 (enchilada & fajita, the OP6 & OP6T) never got a proper source-built vendor bringup by the LineageOS team (upon which crDroid is based). And while Syberia has had source built vendor in Android 11 (possibly 10?), it was only done for enchilada and NOT fajita, it's not trivial to unroll & commonize what they've done to apply to other ROMs, and some of the proprietary files they keep are imported from other similar devices/similar chipsets rather than source-built (presumably because the OnePlus ones are modified in a weird way that the open-source components can't hook into, but still not ideal). So for fixing a lot of the issues we still face with lack of things working quite right, or hardware features not available in custom ROMs (especially compared to newer OnePlus devices like the 7, 8, or 9 series), we're kinda stuck, because you can't just implement it against the stock prebuilt vendor.
- "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 partition in custom ROMs for our device are generally built against a particular version of OxygenOS (mostly the contents of the OEM vendor partition).
Prerequisites:
- Make sure your bootloader is unlocked (and don't plan on relocking it ffs).
- Make sure you have a reasonably-current, working installation of android platform tools (adb & fastboot command line binaries & necessary drivers) on your computer, with a known-good USB cable (see links in post #2).
- Make sure you've downloaded the most recent full Android 10 OxygenOS OTA installer zip (10.3.12), crDroid zip, matching crDroid boot.img, official TWRP 3.5.2_9-0 installer zip and bootable img, and whatever Magisk/GApps/microG installation packages you want to use to your computer (see links in post #2).
- Make sure you've backed up whatever data you want to keep to somewhere that's not on your phone; for a new install, we're going to format the data partition and you're going to lose everything from internal storage.
Let's get started!
Updating firmware (if already on crDroid):
- Reboot to bootloader (with no USB cable connected).
- Open a terminal on your computer, and run `fastboot flash boot path/to/boot.img`, substituting in the path & filename for the current crDroid boot.img that you downloaded as part of the prerequisites.
- Reboot to bootloader again (actually loads new bootloader that you just flashed).
- Use Vol +/- buttons to select "Recovery mode" and press Pwr button to boot into the built-in TWRP recovery. The device's internal storage should now be available for read/write on the computer via MTP.
- Copy the official OxygenOS 10.3.12 full OTA zip & latest crDroid zip into the device's internal storage, then choose "Install", select the current crDroid zip, choose "Add more zips", and crDroid installer zip, then swipe to confirm flash. No TWRP zip required, since it's built in to the boot.img that gets installed.
- Reboot recovery, then choose "Install", and select the OOS zip, then select "Add more zips" and choose the crDroid zip, and swipe to confirm flash again.
- Reboot recovery, and re-flash magisk/gapps if needed.
- Wipe dalvik.
- Reboot system.
First time installing crDroid to your OP6T, coming from stock OxygenOS or another ROM (will also update firmware while we're at it):
- Reboot to bootloader, then `fastboot boot path/to/twrp.img` to start up into TWRP recovery.
- Mount System partition read-write, use file manager to delete the /system/addons.d/ directory if it exists, unmount System.
- Choose Wipe > Format data, type "yes" and hit enter to nuke everything in the data partition and clear encryption.
- Choose Advanced > ADB sideload (don't worry about selecting cache/dalvik wipe options yet) and then on the computer, do `adb sideload path/to/OxygenOSOTA.zip` to flash the OxygenOS 10.3.12 full OTA installation zip & make sure you're on the latest Android 10 firmware.
- Go get a drink, this'll be a bit.
- When that's done, hit "back" in TWRP and start ADB sideload again, and this time send the crDroid installation zip (includes TWRP built-in, so don't need separate zip for that at this point).
- Reboot to recovery (this will switch the active slot to use the system partition you just installed those zip files into).
- Wipe data (Wipe > "Slide to factory reset" in TWRP).
- That was so much fun, let's do it again! ADB sideload OxygenOS full OTA zip.
- ADB sideload crDroid zip.
- Reboot to recovery (switches slots again, now we have latest OxygenOS firmware plus crDroid populated in both sets of partitions and won't have to do that again).
- Flash Magisk (if desired).
- Flash GApps or microG package (if desired).
- Wipe dalvik.
- If you copied anything to internal storage instead of flashing it via ADB sideload, delete it now before first boot.
- Reboot system.
- Go through setup wizard.
- Reboot system (for reasons I don't comprehend, it never shows "OnePlus Settings" in the Settings app top level menu on a fresh install until after rebooting once).
- It's gonna harass you to finish setup, go ahead and customize everything to your heart's content.
Updating crDroid from TWRP (preferred):
You don't need to remove device protection; it works fine with PIN. Be sure you have a PIN set, or have looked up whatever that arcane chart of pattern > numeric incantations in case of pattern unlock. It's awful.
- Boot into TWRP recovery.
- Choose install, then select OOS firmware OTA (if needed), then choose select additional zips, then select crDroid.zip, slide to confirm flash.
- Reboot recovery.
- Choose install, then select Magisk zip (if using), select additional zips, choose GApps/microG (if using), slide to confirm flash.
- Please keep off of the grass, shine your shoes, wipe your... dalvik.
- Reboot system.
Updating crDroid from Updater app:
Warning: I don't remember if crDroid 6 even *has* the built-in Updater app function or not, or how well it handles addon.d survival scripts. Use with caution.
- Install update in built-in Updater app (Settings > System > Updater), do NOT reboot yet.
- Go to Magisk app home, click "Install" next to Magisk, and choose the "Install to Inactive Slot (After OTA)" method.
- For GApps/microG: If you use GApps/microG that needs to be re-flashed to /system (as opposed to magisk module GApps/microG), reboot *recovery* at this point, mount the system partition in TWRP, and dig around with the File Manager in system/priv-app/ & system/product/priv-app/ to make sure that everything you expect was copied over to the now-currently-active slot, and if need be re-flash your installer zip, or else your world will be pain when you boot normally. Yes, I expect you to know what your preferred package installs & to keep the zip handy.
- NOW you can reboot to system.
Reporting bugs:
I'm a parent of three young kids whose industry disappeared in the pandemic and is now full-time house husband & parent-in-charge while my wife is teaching full-time, I'm trying to save my small live-event-turned-streaming-studio company in my spare time. I'm doing in-home caregiving for a family member overnight one day a week. This is the back-up spare-spare-time hobby. I'm not a software developer nor do I know any programming languages, I just wanted a ROM with signature spoofing support and more customization than the unofficial microg-compatible LineageOS builds. So if there are bugs or feature requests, I go over to the crDroid dev chat and ask if someone has time to hold my hand & help. Don't make me get yelled for annoying them, mmkay? That said...
- Logs/screenshots/recordings or it didn't happen. Syslog (free, open source, available on Play store and F-droid) is your friend.
- I try to keep an organized notebook of roadmap, feature reqeusts, bug reports, etc. I won't always be able to fix it, but I'll at least look and do my best to ask the actual devs.
- I don't sign into XDA much, so if I haven't said anything, check out the Telegram group. Lots of helpful folks there.
- Please keep your questions in this thread instead of PMing me with them directly, so that the entire class can benefit from the discussion and you can find out if it's just you or if this is a widespread issue.
It's your device to use the way you want of course, and I use Magisk & microG and like to tweak things myself. But don't expect much support if you:
- didn't do a clean flash.
- aren't using the built-in kernel.
- are using extensive modifications (besides Magisk) like Xposed/Riru, Dolby Atmos, Viper4A, etc.
- immediately start using "finalize.zip" or flashing migrate restore zips instead of following the actual instructions.
- are running decrypted.
Donate - Support development!
crDroid Website - Download here!
Telegram Oneplus6/6t group - Share your best cat pictures!
Source Code:
- Device tree: https://github.com/crdroidandroid/android_device_oneplus_fajita/tree/10.0
- OP6/6T Common device tree: https://github.com/crdroidandroid/android_device_oneplus_sdm845-common/tree/10.0
- OnePlus Common device tree: https://github.com/Terminator-J/crdroid_device_oneplus_common/tree/10.0-test
- Kernel: https://github.com/crdroidandroid/android_kernel_oneplus_sdm845/tree/10.0
Notes:
- Yes it supports package signature spoofing permission for microG compatibility out of the box (but will work without ANY GApps/microG implementation installed as well).
- Aux camera doesn't work correctly due to framework issues beyond my control/comprehension. So, still no portrait mode in OnePlusCamera in cr6. But 60fps video recording in OOSCam works great; huzzah!
- Doesn't pass safetynet out of the box, despite many tests with different fingerprints/props. Just use Magisk & enable the Zygisk DenyList & kdrag0n's "safetynet-fix" module and be happy. If your bank's app doesn't work, switch to a local credit union and stop feeding the bougie bankers. Smash capitalism!
- Maintainer does not use GApps, so cannot answer questions about which packages work best from firsthand experience. In general, go with the smallest package you can and then install other Google apps from the Play Store. Please note that if you replace the stock dialer with Google Dialer, you may lose access to the Phone Info menu (*#*#4636#*#*) until you install another dialer. For recommendations, see https://wiki.lineageos.org/gapps.
- Requires OOS 10.3.12 OOS firmware.
- Includes built-in TWRP, pulled from official 3.5.2_9-0 ramdisk, works well.
- Tested against latest Magisk canary (with zygisk instead of magiskhide), works well.
- No there won't be official builds with inline GApps; please don't ask.
crDroid 6.27 - February 2022 ASB release notes/known issues:
Changelog since v6.23 release:
- Merged Android Security Bulletins through February 2022 from upstream.
- Whatever changed upstream in the ROM proper (not likely much; they want to freeze it besides security updates).
- Reimplemented DeviceSettings based on crDroid 7 version (no more greyed-out things that don't actually work in Android 10).
- Backported updated display panel handling in device tree and kernel to match crDroid 7 (panel color modes are in LiveDisplay now). FOD on fajita is still kinda crap with OOS 10 firmware, but oh well.
- Little more tidying/tightening in device tree & kernel for moving to maintenance-only releases.
- Imported current wireguard VPN kernel-mode driver.
Known issues:
Fajita-specific:
- FOD seems to work kinda, um, crap compared to how it is on OOS 11 firmware. Not much I can do about that, unfortunately.
Common:
- Some screen-off gestures may not work, due to limitations beyond my control; don't use those gestures. Sorry.
- You tell me! With logs!
Other stuff:
- At this point, any little feature bugs will be considered "can't fix/won't fix"; I can't keep working on this one, I'm going to try to only do security-update-only releases of crDroid v6.
- Where do bad rainbows go? Prism. It's a light sentence.
Helpful links:
Download ROM
TWRP (use old official v3.5.2_9-0)
(TWRP is built-in to the crDroid 6 zip, but you might need the img or standalone installer zip in order to get to that point)
Magisk (use latest)
OxygenOS 10.3.12 Full OTA
MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade)
first to test it...just flashing it...hope its better than every 10 rom that are available currently!!!!
It's early in development. They are all going to have that 'new car smell'. Lower expectations. Bare bones but stable is a milestone.
Hello everyone, firstly thanks Dev and team for your efforts developing CRDroid, question... where can I download android 10? Because the website only shows Pie downloads and 10 only says soon. Thanks guys and have a good day.
funnyquill said:
first to test it...just flashing it...hope its better than every 10 rom that are available currently!!!!
Click to expand...
Click to collapse
What's your thoughts?
Sent from my OnePlus6T using XDA Labs
oscarmaldonado said:
Hello everyone, firstly thanks Dev and team for your efforts developing CRDroid, question... where can I download android 10? Because the website only shows Pie downloads and 10 only says soon. Thanks guys and have a good day.
Click to expand...
Click to collapse
go to pie downloads, there you will find a 6.x folder to
All downloaded ready to flash when I get home
Thanks for the rom dev?
Let the game begin, I'm almost done restoring everything, clean flash including internal storage. It booted fine, no issues whatsoever, everything is running nice and smooth, wifi, wifi calling, Bluetooth, FP. Thanks Dev. and team.
So when I click on "wallpapers" on home screen, it says app isn't installed. So, is there any fix?
oscarmaldonado said:
Let the game begin, I'm almost done restoring everything, clean flash including internal storage. It booted fine, no issues whatsoever, everything is running nice and smooth, wifi, wifi calling, Bluetooth, FP. Thanks Dev. and team.
Click to expand...
Click to collapse
Looks like there's plenty of options/goodies under the crDroid settings.
Sent from my OnePlus6T using XDA Labs
L22EEW said:
Looks like there's plenty of options/goodies under the crDroid settings.
Click to expand...
Click to collapse
Yes there is, that's the reason I took that screenshot. Happy flashing bud.
Just superb work.. I am casual user.. Plays lot of games, YouTube and online streaming.. Seems pretty solid so far..
oscarmaldonado said:
Let the game begin, I'm almost done restoring everything, clean flash including internal storage. It booted fine, no issues whatsoever, everything is running nice and smooth, wifi, wifi calling, Bluetooth, FP. Thanks Dev. and team.
Click to expand...
Click to collapse
You have the weather on lockscreen option?
Sent from my OnePlus6T using XDA Labs
champagne66601 said:
You have the weather on lockscreen option?
Click to expand...
Click to collapse
No I don't, I just noticed it.
Will it work on Verizon?
L22EEW said:
Looks like there's plenty of options/goodies under the crDroid settings.
Click to expand...
Click to collapse
oscarmaldonado said:
Yes there is, that's the reason I took that screenshot. Happy flashing bud.
Click to expand...
Click to collapse
nikz106 said:
Just superb work.. I am casual user.. Plays lot of games, YouTube and online streaming.. Seems pretty solid so far..
Click to expand...
Click to collapse
Would you guys say this is the most "forwardly progressed" Android 10 ROM as of current?
Causical said:
Would you guys say this is the most "forwardly progressed" Android 10 ROM as of current?
Click to expand...
Click to collapse
With all due respect to other Devs. this is the one I like the most, lots of customizations compared to other android 10 roms, give a try I beat you won't be disappointed. This is my personal opinion. Happy flashing bud.
oscarmaldonado said:
With all due respect to other Devs. this is the one I like the most, lots of customizations compared to other android 10 roms, give a try I beat you won't be disappointed. This is my personal opinion. Happy flashing bud.
Click to expand...
Click to collapse
Yep just opinions is all I ask for, I don't care much for hierarchy, so not necessarily looking for one thing better over another, I just know 10's in the early stages and I'm not even thinking about jumping over yet, I just like to hear what people think.
Causical said:
Yep just opinions is all I ask for, I don't care much for hierarchy, so not necessarily looking for one thing better over another, I just know 10's in the early stages and I'm not even thinking about jumping over yet, I just like to hear what people think.
Click to expand...
Click to collapse
This is the first 10 rom worth staying on after testing the others I went back to pie might actually be on 10 for good now.
NOTICE: crDroid 7.x (Android 11) is now in maintenance-only release mode, and will probably be End-Of-Life'd soon.
I'll be merging monthly Android Security Bulletins from upstream as they're available, and pushing releases, but they're blind builds at this point and I don't have time to troubleshoot them any longer.
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"
}
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
A quick glossary and primer on flashing & slots for A/B devices (like ours):
Spoiler: Show/Hide
- "Clean flash": Removing device protection & clearing user settings before installing a bootable system install zip (usually by either wiping or formatting data, see below).
- "Dirty flash": Flashing a ROM zip (usually upgrading to new version, sometimes just re-flashing the existing one) without wiping data or anything first.
- "Wipe data": Synonymous with "factory reset", accomplished from TWRP recovery by selecting "Wipe", then performing the "Slide to factory reset". Clears user data without erasing any partitions, removing encryption, or deleting contents of internal storage.
- "Format data": Formats the data partition itself, resets all file-based encryption keys, loses all contents of internal storage, and in fact deletes all "user 0" directories (this has some implications for internal storage before & after first boot).
- "User 0" directories are a series of directories that store userdata for the primary user, "Owner", and get created in various places throughout the filesystem on first system boot if they don't exist already. Anything you copy to "internal storage" while booted in recovery after "formatting data" will actually be copied to /data/media/ instead of /data/media/0/, and will become invisible to regular file browsing after first boot once the system has created /data/media/0, since the system will prefer to use that path for internal storage from then on (so you'll need a root file browser to delete things from /data/media, or just ADB sideload things instead of copying after formatting but before booting).
- "OTA package": Originally an abbreviation for "over the air", referring to how a software update could be delivered (as opposed to having to take your phone to a carrier's store for a firmware update via serial/USB connection). The common usage in Android circles is any installation zip file that actually includes a bootable system.
- Some partitions are duplicated (system, vendor, boot, and probably a couple others, but not data) and have a "slot A" & "slot B" copy.
- "Slot A" and "slot B" are absolute designations, but most installer zip scripts use the relative designations: "active" and "inactive". Whichever slot you're booted from currently is "active", and the other one is "inactive".
- Installing a zip file that's flagged as being an OTA package will 1) install the contents to the "inactive" slot, and then 2) flag the bootloader to switch which slot is considered "active" (and booted from) and "inactive" upon next reboot.
- The OxygenOS full OTA zip files and all custom ROM installer zip files are considered "OTA packages" and will trigger a slot switch on next boot after installation.
- You can install multiple OTA zip packages one after the other without rebooting in 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, and vbmeta. Some ROMs (like Syberia) build the vendor partition from source instead of just trying to work with the existing OEM vendor partition, so they flash that one too when installing. So you definitely need to flash stock vendor before switching from Syberia or another source-built vendor ROM to one like Lineage or crDroid that uses prebuilt.
- "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). Unfortunately, OnePlus SDM845 (enchilada & fajita, the OP6 & OP6T) never got a proper source-built vendor bringup by the LineageOS team (upon which crDroid is based). And while Syberia has had source built vendor in Android 11 (possibly 10?), it was only done for enchilada and NOT fajita, it's not trivial to unroll & commonize what they've done to apply to other ROMs, and some of the proprietary files they keep are imported from other similar devices/similar chipsets rather than source-built (presumably because the OnePlus ones are modified in a weird way that the open-source components can't hook into, but still not ideal). So for fixing a lot of the issues we still face with lack of things working quite right, or hardware features not available in custom ROMs (especially compared to newer OnePlus devices like the 7, 8, or 9 series), we're kinda stuck, because you can't just implement it against the stock prebuilt vendor.
- "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 partition in custom ROMs for our device are generally built against a particular version of OxygenOS (mostly the contents of the OEM vendor partition), and we've recently had an entire major Android version update come through from OxygenOS. 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 the current state of OOS 11, that doesn't matter when you're talking about installing the custom ROM over it. So please, keep an eye out in the release notes for what the recommended/required firmware versions are, and remember to update (procedure below).
Notes on custom recoveries with OxygenOS 11 firmware:
Spoiler: Show/Hide
- My understanding (from people smarter than me) is that the android-11 tree of TWRP is kind of a mess at the moment. I had made some 3.6.0_11-0 unofficial builds for both enchilada & fajita, but now they don't even seem to boot and I don't know why. TWRP android-11 tree refuses to mount the system partition where it belongs, and so addon.d OTA survival scripts don't work correctly any longer (which means you're hosed if you use NikGapps and update while booted from a TWRP version ending in "11-0", or if you have Gapps installed as a module and forget to reboot recovery & re-flash Magisk after flashing an update from TWRP).
- Trying to `fastboot boot` an Android 9-based TWRP image (like official 3.5.2_9-0 twrp.img) after installing OxygenOS 11 doesn't work, and will drop you into Qualcomm Crash Dump mode. Don't try to flash it as your boot partion, either.
- Meanwhile, stock LineageOS-based recovery, for all its shortcomings, has working fastbootd (aka "Userspace fastboot", which is what happens when you go to "Advanced", then choose "Enter fastboot" and the background colors go from purple to orange) that lets you flash both slots at once and unlocks critical partitions, while the OnePlus OEM bootloader (where it says "Fastboot Mode" in a square, then goes to the big green "START" text over white & dark red terminal font type text) can't be used to flash every partition to update firmware. Personally, I still think of it as wannabe-class and not a "real" custom recovery until the Lineage team 1) implements userdata decryption so you can manage files in /data and install updates from internal storage, and 2) allows for a factory reset the way we've always all understood it ("wipe data") WITHOUT nuking the contents of internal storage for no good reason ("formatting data"). But since crDroid is LineageOS-based, it's what we've got, and fastbootd is the best way to update firmware.
- With all that being said, since it's likely TWRP will only get MORE broken with Android 12 looming large, we're officially only going to support the built-in LineageOS-based recovery & OTA updater moving forward, until things change dramatically. 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.
- And on the system update side, applying system OTA updates seems to work correctly 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 v23 canary and MindTheGapps & NikGapps (on tester fajita) and MinMicroG "system" install package on my daily driver enchilada.
- ...however it has an accidental dependency on Magisk, due to things beyond my control upstream in the ROM. Whoops. Won't work if you don't have Magisk installed.
- FLASHING the old official TWRP 3.5.2_9-0 INSTALLER zip (or newer) on top of OOS 11.x DOES seem to work for now, but you need to be in a recovery environment that allows you to flash that installer in the first place (either by booting into an already-installed TWRP recovery before updating firmware, or by having an Android 11 compatible recovery boot.img to be able to `fastboot boot`). I don't know if it'll keep working in Android 12 or with crDroid 8.
- Look, if you really want to stick with TWRP, I don't blame you. I made bootable Android 11 compatible TWRP images for enchilada & fajita back at 3.5.2, and they still work well enough to `fastboot boot` them and then flash the old official 3.5.2_9-0 installer zips. Look at the attachments at the end of post #2. Also, you may want to try one of Siddhesh's custom recoveries; they probably work even better.
- TL;DR: I prefer TWRP too but current official releases are kinda broken and it's a chore to get the old version installed correctly, so built-in LineageOS-based recovery and Updater app are the supported way to install & update moving forward.
Prerequisites:
- Make sure your bootloader is unlocked (and don't plan on relocking it ffs).
- Make sure you have a reasonably-current, working installation of android platform tools (adb & fastboot command line binaries & necessary drivers) on your computer, with a known-good USB cable (see links in post #2).
- Make sure you've downloaded the most recent full 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.
Let's get started!
Updating firmware:
- Reboot to bootloader (with no USB cable connected).
- If you're not already using the stock (LineageOS-based) recovery, you'll need to `fastboot flash boot path/to/boot.img`, substituting in the path & filename for the current crDroid boot.img that you downloaded as part of the prerequisites.
- Reboot to bootloader again (actually loads new bootloader that you just flashed).
- Use Vol +/- buttons to select "Recovery mode" and press Pwr button to boot stock recovery (white & purple on black color scheme, LineageOS logo in the middle).
- Tap "Advanced", then tap "Enter fastboot" (the already-selected first option), and color scheme should change from purple to orange.
- 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/fajita/fw_update, except for the very last command ("fastboot reboot").
- Since those instructions were updated for Android 12, and this is still Android 11-based & depends on using the OxygenOS prebuilt vendor partition contents, you'll also need to run fastboot flash --slot=all vendor vendor.img at the end of the list of commands in the linked LineageOS Wiki article above.
- If you're only updating firmware and were already on crDroid, you can just "fastboot reboot" which will go back to system. If this is part of coming to crDroid from another ROM, continue with the instructions below.
First time installing crDroid to your OP6T, coming from stock OxygenOS 11.x or another ROM (stock LOS-based recovery):
- Update to OxygenOS 11.1.2.2 firmware as described above if you haven't already.
- At the end of that procedure, (re)flash the crDroid boot.img to the `boot` partition of both slots, then reboot to recovery.
- Once you're rebooted into stock recovery (and lo, it was most purple), ADB sideload the crDroid installation zip. It might prompt you with "Install anyway?" on the phone, so don't just walk away from it.
- After the adb sideload has finished and the purple menu at the top comes back, hit the back arrow, then choose "Wipe data" (which WILL format internal storage -- you backed up as noted above, right?).
- Reboot to recovery (causes it to switch slots so any further installations will be on top of the slot that it just installed crDroid into).
- ADB sideload Magisk and/or any GApps packages you want to use. Please note that any time you install something via ADB sideloading, that the install file is technically renamed "sideload.zip" in transit by the ADB protocol, which might cause problems with installers that try to get too clever for their own good and alter behavior based on renaming the installation zip (like MinMicroG), so you might have to get even MORE clever with changing up installation order (like flash MinMicroG/GApps before Magisk so it won't install as a module. I dunno, talk to the package installer authors to get them to just build multiple packages or talk to the LineageOS devs to allow you to decrypt internal storage, copy stuff to internal storage via MTP, and install stuff from internal storage like a proper custom recovery (or at least maybe `adb push` to an unencrypted temp dir in the data partition).
- Reboot system.
- ???
- Profit!
OTA updating from Updater app with OOS 11.x firmware (recommended):
- This is the preferred way now. You just go to Settings > System > Updater, and... install an update. It processes addon.d OTA survival scripts correctly (tested with Magisk, MinMicroG, MindTheGapps, and NikGapps).
- Please note that there's currently an accidental depencency on Magisk being installed for this to work. I don't know if this will get fixed; that's definitely above my pay grade. This appears to have been fixed; huzzah!
- If you're trying to do a "Local Install" of the downloaded zip, please note you NEED to download on a computer & transfer to internal storage via USB cable; downloading files from an app on the phone associates it with a particular app thanks to Android 11+ Scoped Storage/SAF bull**** and will cause the file to be unreadable to the updater app process.
-- Old TWRP-based instructions below the fold (not recommended, but keeping for historical value... probably not accurate but I'm not going to update them more) --
Spoiler: Show/Hide
OTA updating from TWRP with OOS 11.x firmware:
You don't need to remove device protection; it works fine with PIN. Be sure you have a PIN set, or have looked up whatever that arcane chart of pattern > numeric incantations in case of pattern unlock. It's awful.
- Boot into TWRP recovery.
- Choose install, then select crDroid.zip, select additional zips, choose the TWRP installer zip, then slide to confirm flash.
- Reboot recovery.
- Choose install, then select Magisk zip (if using), select additional zips, choose GApps/microG (if using), slide to confirm flash.
- Please keep off of the grass, shine your shoes, wipe your... dalvik.
- Reboot system.
OTA updating from TWRP with OOS 10.x firmware:
- Don't. Update firmware to 11.1.2.2 first.
Reporting bugs:
I'm a parent of three young kids whose industry disappeared in the pandemic and is now full-time house husband & parent-in-charge while my wife is teaching full-time, I'm trying to save my small live-event-turned-streaming-studio company in my spare time. I'm doing in-home caregiving for a family member overnight one day a week. This is the back-up spare-spare-time hobby. I'm not a software developer nor do I know any programming languages, I just wanted a ROM with signature spoofing support and more customization than the unofficial microg-compatible LineageOS builds. So if there are bugs or feature requests, I go over to the crDroid dev chat and ask if someone has time to hold my hand & help. Don't make me get yelled for annoying them, mmkay? That said...
- Logs/screenshots/recordings or it didn't happen. Either the built-in Matlog app, or Syslog (free, open source, available on Play store and F-droid) are your friends here.
- I try to keep an organized notebook of roadmap, feature reqeusts, bug reports, etc. I won't always be able to fix it, but I'll at least look and do my best to ask the actual devs.
- I don't sign into XDA much, so if I haven't said anything, check out the Telegram group. Lots of helpful folks there.
- Please keep your questions in this thread instead of PMing me with them directly, so that the entire class can benefit from the discussion and you can find out if it's just you or if this is a widespread issue.
It's your device to use the way you want of course, and I use Magisk & microG and like to tweak things myself. But don't expect much support if you:
- didn't do a clean flash.
- aren't using the built-in kernel.
- are using extensive modifications (besides Magisk) like Xposed/Riru, Dolby Atmos, Viper4A, etc.
- immediately start using "finalize.zip" or flashing migrate restore zips instead of following the actual instructions.
- are running decrypted.
- re-locked your bootloader for some reason... you're on a custom ROM; don't do that.
crDroid Website - Download here!
Donate - Support development!
Telegram Oneplus6/6t group - Share your best cat pictures!
Source Code:
- Device tree: https://github.com/crdroidandroid/android_device_oneplus_fajita/tree/11.0
- OP6/6T Common device tree: https://github.com/crdroidandroid/android_device_oneplus_sdm845-common/tree/11.0
- hardware/oneplus/ HALs: https://github.com/crdroidandroid/android_hardware_oneplus/tree/11.0-op6
- Kernel: https://github.com/crdroidandroid/android_kernel_oneplus_sdm845/tree/11.0
Notes:
- crDroid 7.x (based on Android 11 & LineageOS 18.1) is no longer being actively developed, and I don't know how long someone on the dev team will keep merging monthly security updates. I'll try to keep building releases as long as there are updates, but all my limited time is focused on 9.x/Android 13 bringup now. We're in maintenance mode now, so any outstanding bugs are likely to just remain for perpetuity.
- Yes it supports package signature spoofing permission for microG compatibility out of the box (but will work without ANY GApps/microG implementation installed as well).
- Maintainer does not use GApps, so cannot answer questions about which packages work best from firsthand experience. In general, go with the smallest package you can and then install other Google apps from the Play Store. Please note that if you replace the stock dialer with Google Dialer, you may lose access to the Phone Info menu (*#*#4636#*#*) until you install another dialer. For recommendations, see https://wiki.lineageos.org/gapps.
- Requires OOS 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 24 (with zygisk instead of magiskhide), works well.
- No there won't be official builds with inline GApps; please don't ask.
crDroid 7.30 - May 2023 ASB release notes/changelog:
Changelog since v7.29 official release:
- Merged May 2023 Android Security Bulletin from upstream.
- Whatever the ROM dev team changed upstream in LineageOS and crDroid sources (not much? they're busy with Android 13).
- No changes to device-specific files.
Known issues:
Fajita-specific:
- If you use App Lock and/or Face Unlock, you'll likely run into issues with the FOD circle view starting to flicker randomly into view when it shouldn't be there (like it's not dismissing properly because one part of the security handling is fighting with or doesn't notify the other part that it's done and doesn't need to try to accept a fingerprint any longer). As a knock-on effect, this will also cause "Disable Night Light when FOD is visible" to freak out. I have one person who doesn't use either report that they were getting the random FOD circle anyway, so... if you're having this problem, please make sure you've given MatLog permission to manage files so that it can actually save logs to internal storage and capture a logcat & send it to me. Logs or it didn't happen, etc etc.
Common:
- No f2fs-formatted userdata support, sadly. Doesn't work with the prebuilt vendor partition required for this version of Android. You'll need to reformat data to ext4 before being able to boot (you can fastboot flash the crDroid 8.x or 9.x boot.img if you need a recovery that will let you choose).
- Google Hotword recognition might be kinda broken right now (on more than one custom ROM/device, not just us), and may cause some screw-up that prevents microphone audio from being allowed to go anywhere else if it's enabled.
- If you are stuck at "Android is starting..." looping endlessly, then press power, reboot to bootloader, and follow the instructions for updating firmware to OxygenOS 11.1.2.2 in the first post. It doesn't wipe data, you shouldn't lose anything.
- Some screen-off gestures may not work, due to limitations beyond my control; don't use those gestures. Sorry.
Helpful links:
Download ROM
Android platform tools (adb & fastboot)
OxygenOS 11.1.2.2 Full OTA
Firmware update instructions (LineageOS Wiki)
(Please note that since crDroid 7.x/Android 11 for this device depends on the prebuilt OxygenOS vendor partition, you'll also need to add fastboot flash --slot=all vendor vendor.img to the list of commands in the instructions, just before the final fastboot reboot.
MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade)
Magisk (use latest)
Official TWRP 3.5.2_9-0 install zip (good luck)
MaWalla99 said:
Download: coming soon!
Click to expand...
Click to collapse
will this work with verizon?
Tomkumato said:
will this work with verizon?
Click to expand...
Click to collapse
I don't know since I'm not in the US.
MaWalla99 said:
I don't know since I'm not in the US.
Click to expand...
Click to collapse
Thanks
hi dev thanks for this rom i have successfully installed now, so there is a small info i like to share, that is installing any version of nikgapps apart from core nikgapps will result in bootloop or after even format the data, rom will boot but set up screen says it crashed, so i have installed with core version of nikgapps, rom booted successfully. that's all i have info to share now.
Hi dev ROM is working fantastically after installed all the application I used before, so thanks for it, it has enough customization thanks for it too.
Does NOT work on Verizon.
Hi devs i don't know the reason why this happening, the problem is when i change default launcher to nova launcher system ui automatically crashes, i can't specifically pinpoint the reason, but after launching the Paytm app for first time then paytm also crashed so i don't know what to do now. I have attached logcat from matlog so I think I have captured required info.
Thanks for the ROM. Where is the best place to get A11 gapps?
wangdak said:
Thanks for the ROM. Where is the best place to get A11 gapps?
Click to expand...
Click to collapse
nik gapps
hi all,
I'm on fajita with crdroid 5.11 - Android 9.
i'd like to bump up to this thread's version. any tips for how to go about that - step by step?
I assume it would be something like -- update TWRP, update firmware, then flash rom as usual with instructions in first post?
many thanks
autologic said:
hi all,
I'm on fajita with crdroid 5.11 - Android 9.
i'd like to bump up to this thread's version. any tips for how to go about that - step by step?
I assume it would be something like -- update TWRP, update firmware, then flash rom as usual with instructions in first post?
many thanks
Click to expand...
Click to collapse
1 - remove any passwords used to unlock screens - 2 - Backup all your important data, - 3 - Make sure you're on latest TWRP for Fajita and that you have latest OOS firmware, Gapps, TWRP installer and the ROM you want to install (zip files) copied to your "Downloads " directory, then reboot into recovery mode, - 4 - make sure you're on slot A (tap "reboot", tap slot "A" and reboot to recovery again), 5 - tap "Wipe", "advanced wipe" and select " Dalvick Art/Cache", " data" and "system", - 6 - swipe to wipe, 7 - tap "install" and select OOS, then swipe to install, 8 - install TWRP zip file, 9 - reboot to recovery, - 10 - install OOS on the second slot, 11- install TWRP, 12 - reboot to recovery, 13 - install the new ROM, 14 - tap "Wipe", advanced Wipe", "Dalvick Art/Cache" and "Data", 15 - swipe to wipe, 16 - install TWRP and reboot to recovery, 17 - install GAPPS, - wipe " Dalvick Art/Cache and reboot to system. That's it!
autologic said:
hi all,
I'm on fajita with crdroid 5.11 - Android 9.
i'd like to bump up to this thread's version. any tips for how to go about that - step by step?
I assume it would be something like -- update TWRP, update firmware, then flash rom as usual with instructions in first post?
many thanks
Click to expand...
Click to collapse
Boot in latest TWRP
Flash latest OOS 10
Flash CR Droid Zip
Flash Finalize.zip
Flash latest TWRP
Format data -type Yes to confirm
Reboot to recovery
Flash Gapps & Magisk (Optional)
Coming from a different version of Android, format data is recommended. Backup your data before you do this
Hi LiveDisplay color profile doesn't work ,setting a profile ,once you exit it resets back to normal again
Excellent ROM.
Thanks!
Hi dev i attached a video, in which i try to explain a problem, i can't pinpoint say amazon app only having this kind of problem, but i can say irresponsible of which app suddenly ui will have some kind of problem, it will appear from nowhere after that phone will hang and i need to restart the phone or else battery drains very fast. Kindly look into it. I reinstalled the rom two time freshly, even though it having same kind of problem presist, but i really loved one good feature that is finger print working fantastic even after reboot. OS is not crashing and reboot by itself, app also not crashing but suddenly some part is acting wired. Anyway i will upload the video for proof. I have attached gif file as per xda rules.
I have one last idea in my head instead of using app called migrate to take back up of application installed in my phone and restore to newly installed rom. Better use play store to install all app one by one and see there is any difference, i really love this rom thats why i reinstalling freshly again and again to see any difference possible
I've never used micro g a whole lot in the past but I'm all for it now due to the unbelievable amount of permissions apps ask for and while I love Android I'm no Google person either. I flashed 7.2 CrDroid two days ago and didn't install gapps. Then I went back in twrp and flashed micro g and fdroid from (stable) nano droid installer thread here on XDA. Going to read up more about micro g ..etc.. Op, if you are testing anything that has to do with this or anything feel free to msg me anytime. Ill run whatever through everything possible and gather logs if need be and send them to you properly. Thanks for this rom!! Great job!! Always loved CrDroid! Think i 1st used CrDroid back in 2013 or so. Fantastic rom!! My Screen time on 7.2 CrDroid.
flash713 said:
I've never used micro g a whole lot in the past but I'm all for it now due to the unbelievable amount of permissions apps ask for and while I love Android I'm no Google person either. I flashed 7.2 CrDroid two days ago and didn't install gapps. Then I went back in twrp and flashed micro g and fdroid from (stable) nano droid installer thread here on XDA. Going to read up more about micro g ..etc.. Op, if you are testing anything that has to do with this or anything feel free to msg me anytime. Ill run whatever through everything possible and gather logs if need be and send them to you properly. Thanks for this rom!! Great job!! Always loved CrDroid! Think i 1st used CrDroid back in 2013 or so. Fantastic rom!! My Screen time on 7.2 CrDroid.
Click to expand...
Click to collapse
Yeah I feel you I'm right where you are I think it's time to ditch Google and get a similar setup. Wonder if there's a thread in the 6t section yet? Google still my friend she'll teach me how to set it up, lol
NOTICE: crDroid 7.x (Android 11) is now in maintenance-only release mode, and will probably be End-Of-Life'd soon.
I'll be merging monthly Android Security Bulletins from upstream as they're available, and pushing releases, but they're blind builds at this point and I don't have time to troubleshoot them any longer.
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"
}
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
A quick glossary and primer on flashing & slots for A/B devices (like ours):
Spoiler: Show/Hide
- "Clean flash": Removing device protection & clearing user settings before installing a bootable system install zip (usually by either wiping or formatting data, see below).
- "Dirty flash": Flashing a ROM zip (usually upgrading to new version, sometimes just re-flashing the existing one) without wiping data or anything first.
- "Wipe data": Synonymous with "factory reset", accomplished from TWRP recovery by selecting "Wipe", then performing the "Slide to factory reset". Clears user data without erasing any partitions, removing encryption, or deleting contents of internal storage.
- "Format data": Formats the data partition itself, resets all file-based encryption keys, loses all contents of internal storage, and in fact deletes all "user 0" directories (this has some implications for internal storage before & after first boot).
- "User 0" directories are a series of directories that store userdata for the primary user, "Owner", and get created in various places throughout the filesystem on first system boot if they don't exist already. Anything you copy to "internal storage" while booted in recovery after "formatting data" will actually be copied to /data/media/ instead of /data/media/0/, and will become invisible to regular file browsing after first boot once the system has created /data/media/0, since the system will prefer to use that path for internal storage from then on (so you'll need a root file browser to delete things from /data/media, or just ADB sideload things instead of copying after formatting but before booting).
- "OTA package": Originally an abbreviation for "over the air", referring to how a software update could be delivered (as opposed to having to take your phone to a carrier's store for a firmware update via serial/USB connection). The common usage in Android circles is any installation zip file that actually includes a bootable system.
- Some partitions are duplicated (system, vendor, boot, and probably a couple others, but not data) and have a "slot A" & "slot B" copy.
- "Slot A" and "slot B" are absolute designations, but most installer zip scripts use the relative designations: "active" and "inactive". Whichever slot you're booted from currently is "active", and the other one is "inactive".
- Installing a zip file that's flagged as being an OTA package will 1) install the contents to the "inactive" slot, and then 2) flag the bootloader to switch which slot is considered "active" (and booted from) and "inactive" upon next reboot.
- The OxygenOS full OTA zip files and all custom ROM installer zip files are considered "OTA packages" and will trigger a slot switch on next boot after installation.
- You can install multiple OTA zip packages one after the other without rebooting in 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, and vbmeta. Some ROMs (like Syberia) build the vendor partition from source instead of just trying to work with the existing OEM vendor partition, so they flash that one too when installing. So you definitely need to flash stock vendor before switching from Syberia or another source-built vendor ROM to one like Lineage or crDroid that uses prebuilt.
- "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). Unfortunately, OnePlus SDM845 (enchilada & fajita, the OP6 & OP6T) never got a proper source-built vendor bringup by the LineageOS team (upon which crDroid is based). And while Syberia has had source built vendor in Android 11 (possibly 10?), it was only done for enchilada and NOT fajita, it's not trivial to unroll & commonize what they've done to apply to other ROMs, and some of the proprietary files they keep are imported from other similar devices/similar chipsets rather than source-built (presumably because the OnePlus ones are modified in a weird way that the open-source components can't hook into, but still not ideal). So for fixing a lot of the issues we still face with lack of things working quite right, or hardware features not available in custom ROMs (especially compared to newer OnePlus devices like the 7, 8, or 9 series), we're kinda stuck, because you can't just implement it against the stock prebuilt vendor.
- "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 partition in custom ROMs for our device are generally built against a particular version of OxygenOS (mostly the contents of the OEM vendor partition), and we've recently had an entire major Android version update come through from OxygenOS. 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 the current state of OOS 11, that doesn't matter when you're talking about installing the custom ROM over it. So please, keep an eye out in the release notes for what the recommended/required firmware versions are, and remember to update (procedure below).
Notes on custom recoveries with OxygenOS 11 firmware:
Spoiler: Show/Hide
- My understanding (from people smarter than me) is that the android-11 tree of TWRP is kind of a mess at the moment. I had made some 3.6.0_11-0 unofficial builds for both enchilada & fajita, but now they don't even seem to boot and I don't know why. TWRP android-11 tree refuses to mount the system partition where it belongs, and so addon.d OTA survival scripts don't work correctly any longer (which means you're hosed if you use NikGapps and update while booted from a TWRP version ending in "11-0", or if you have Gapps installed as a module and forget to reboot recovery & re-flash Magisk after flashing an update from TWRP).
- Trying to `fastboot boot` an Android 9-based TWRP image (like official 3.5.2_9-0 twrp.img) after installing OxygenOS 11 doesn't work, and will drop you into Qualcomm Crash Dump mode. Don't try to flash it as your boot partion, either.
- Meanwhile, stock LineageOS-based recovery, for all its shortcomings, has working fastbootd (aka "Userspace fastboot", which is what happens when you go to "Advanced", then choose "Enter fastboot" and the background colors go from purple to orange) that lets you flash both slots at once and unlocks critical partitions, while the OnePlus OEM bootloader (where it says "Fastboot Mode" in a square, then goes to the big green "START" text over white & dark red terminal font type text) can't be used to flash every partition to update firmware. Personally, I still think of it as wannabe-class and not a "real" custom recovery until the Lineage team 1) implements userdata decryption so you can manage files in /data and install updates from internal storage, and 2) allows for a factory reset the way we've always all understood it ("wipe data") WITHOUT nuking the contents of internal storage for no good reason ("formatting data"). But since crDroid is LineageOS-based, it's what we've got, and fastbootd is the best way to update firmware.
- With all that being said, since it's likely TWRP will only get MORE broken with Android 12 looming large, we're officially only going to support the built-in LineageOS-based recovery & OTA updater moving forward, until things change dramatically. 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.
- And on the system update side, applying system OTA updates seems to work correctly 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 v23 canary and MindTheGapps & NikGapps (on tester fajita) and MinMicroG "system" install package on my daily driver enchilada.
- ...however it has an accidental dependency on Magisk, due to things beyond my control upstream in the ROM. Whoops. Won't work if you don't have Magisk installed.
- FLASHING the old official TWRP 3.5.2_9-0 INSTALLER zip (or newer) on top of OOS 11.x DOES seem to work for now, but you need to be in a recovery environment that allows you to flash that installer in the first place (either by booting into an already-installed TWRP recovery before updating firmware, or by having an Android 11 compatible recovery boot.img to be able to `fastboot boot`). I don't know if it'll keep working in Android 12 or with crDroid 8.
- Look, if you really want to stick with TWRP, I don't blame you. I made bootable Android 11 compatible TWRP images for enchilada & fajita back at 3.5.2, and they still work well enough to `fastboot boot` them and then flash the old official 3.5.2_9-0 installer zips. Look at the attachments at the end of post #2. Also, you may want to try one of Siddhesh's custom recoveries; they probably work even better.
- TL;DR: I prefer TWRP too but current official releases are kinda broken and it's a chore to get the old version installed correctly, so built-in LineageOS-based recovery and Updater app are the supported way to install & update moving forward.
Prerequisites:
- Make sure your bootloader is unlocked (and don't plan on relocking it ffs).
- Make sure you have a reasonably-current, working installation of android platform tools (adb & fastboot command line binaries & necessary drivers) on your computer, with a known-good USB cable (see links in post #2).
- Make sure you've downloaded the most recent full 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.
Let's get started!
Updating firmware:
- Reboot to bootloader (no USB cable connected).
- If you're not already using the stock (LineageOS-based) recovery, you'll need to `fastboot flash boot path/to/boot.img`, substituting in the path & filename for the current crDroid boot.img that you downloaded as part of the prerequisites.
- Reboot to bootloader again (actually loads new bootloader that you just flashed).
- Use Vol +/- buttons to select "Recovery mode" and press Pwr button to boot 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, except for the very last command ("fastboot reboot").
- Since those instructions were updated for Android 12, and this is still Android 11-based & depends on using the OxygenOS prebuilt vendor partition contents, you'll also need to run fastboot flash --slot=all vendor vendor.img at the end of the list of commands in the linked LineageOS Wiki article above.
- If you're only updating firmware and were already on crDroid, you can just "fastboot reboot" which will go back to system. If this is part of coming to crDroid from another ROM, continue with the instructions below.
First time installing crDroid to your OP6, coming from stock OxygenOS 11.x or another ROM (stock LOS-based recovery):
- Update to OxygenOS 11.1.2.2 firmware as described above if you haven't already.
- At the end of that procedure, (re)flash the crDroid boot.img to the `boot` partition of both slots, then reboot to recovery.
- Once you're rebooted into stock recovery, ADB sideload the crDroid installation zip. It might prompt you with "Install anyway?" on the phone, so don't just walk away from it.
- After the adb sideload has finished and the purple menu at the top comes back, hit the back arrow, then choose "Wipe data" (which WILL format internal storage -- you backed up as noted above, right?).
- Reboot to recovery (causes it to switch slots so any further installations will be on top of the slot that it just installed crDroid into).
- ADB sideload Magisk and/or any GApps packages you want to use. Please note that any time you install something via ADB sideloading, that the install file is technically renamed "sideload.zip" in transit by the ADB protocol, which might cause problems with installers that try to get too clever for their own good and alter behavior based on renaming the installation zip (like MinMicroG), so you might have to get even MORE clever with changing up installation order (like flash MinMicroG/GApps before Magisk so it won't install as a module. I dunno, talk to the package installer authors to get them to just build multiple packages or talk to the LineageOS devs to allow you to decrypt internal storage, copy stuff to internal storage via MTP, and install stuff from internal storage like a proper custom recovery (or at least maybe `adb push` to an unencrypted temp dir in the data partition).
- Reboot system.
- ???
- Profit!
OTA updating from Updater app with OOS 11.x firmware (recommended):
- This is the preferred way now. You just go to Settings > System > Updater, and... install an update. It processes addon.d OTA survival scripts correctly (tested with Magisk, MinMicroG, MindTheGapps, and NikGapps).
- Please note that there's currently an accidental depencency on Magisk being installed for this to work. I don't know if this will get fixed; that's definitely above my pay grade. This appears to have been fixed; huzzah!
- If you're trying to do a "Local Install" of the downloaded zip, please note you NEED to download on a computer & transfer to internal storage via USB cable; downloading files from an app on the phone associates it with a particular app thanks to Android 11+ Scoped Storage/SAF bull**** and will cause the file to be unreadable to the updater app process.
-- Old TWRP-based instructions below the fold (not recommended, but keeping for historical value... probably not accurate but I'm not going to update them more) --
Spoiler: Show/Hide
OTA updating from TWRP with OOS 11.x firmware:
You don't need to remove device protection; it works fine with PIN. Be sure you have a PIN set, or have looked up whatever that arcane chart of pattern > numeric incantations in case of pattern unlock. It's awful.
- Boot into TWRP recovery.
- Choose install, then select crDroid.zip, select additional zips, choose the TWRP installer zip, then slide to confirm flash.
- Reboot recovery.
- Choose install, then select Magisk zip (if using), select additional zips, choose GApps/microG (if using), slide to confirm flash.
- Please keep off of the grass, shine your shoes, wipe your... dalvik.
- Reboot system.
OTA updating from TWRP with OOS 10.x firmware:
- Don't. Update firmware to 11.1.2.2 first.
Reporting bugs:
I'm a parent of three young kids whose industry disappeared in the pandemic and is now full-time house husband & parent-in-charge while my wife is teaching full-time, I'm trying to save my small live-event-turned-streaming-studio company in my spare time. I'm doing in-home caregiving for a family member overnight one day a week. This is the back-up spare-spare-time hobby. I'm not a software developer nor do I know any programming languages, I just wanted a ROM with signature spoofing support and more customization than the unofficial microg-compatible LineageOS builds. So if there are bugs or feature requests, I go over to the crDroid dev chat and ask if someone has time to hold my hand & help. Don't make me get yelled for annoying them, mmkay? That said...
- Logs/screenshots/recordings or it didn't happen. Either the built-in Matlog app, or Syslog (free, open source, available on Play store and F-droid) are your friends here.
- I try to keep an organized notebook of roadmap, feature reqeusts, bug reports, etc. I won't always be able to fix it, but I'll at least look and do my best to ask the actual devs.
- I don't sign into XDA much, so if I haven't said anything, check out the Telegram group. Lots of helpful folks there.
- Please keep your questions in this thread instead of PMing me with them directly, so that the entire class can benefit from the discussion and you can find out if it's just you or if this is a widespread issue.
It's your device to use the way you want of course, and I use Magisk & microG and like to tweak things myself. But don't expect much support if you:
- didn't do a clean flash.
- aren't using the built-in kernel.
- are using extensive modifications (besides Magisk) like Xposed/Riru, Dolby Atmos, Viper4A, etc.
- immediately start using "finalize.zip" or flashing migrate restore zips instead of following the actual instructions.
- are running decrypted.
- re-locked your bootloader for some reason... you're on a custom ROM; don't do that.
crDroid Website - Download here!
Donate - Support development!
Telegram Oneplus6/6t group - Share your best cat pictures!
Source Code:
- Device tree: https://github.com/crdroidandroid/android_device_oneplus_enchilada/tree/11.0
- OP6/6T Common device tree: https://github.com/crdroidandroid/android_device_oneplus_sdm845-common/tree/11.0
- hardware/oneplus/ HALs: https://github.com/crdroidandroid/android_hardware_oneplus/tree/11.0-op6
- Kernel: https://github.com/crdroidandroid/android_kernel_oneplus_sdm845/tree/11.0
Notes:
- crDroid 7.x (based on Android 11 & LineageOS 18.1) is no longer being actively developed, and I don't know how long someone on the dev team will keep merging monthly security updates. I'll try to keep building releases as long as there are updates, but all my limited time is focused on 9.x/Android 13 bringup now. We're in maintenance mode now, so any outstanding bugs are likely to just remain for perpetuity.
- Yes it supports package signature spoofing permission for microG compatibility out of the box (but will work without ANY GApps/microG implementation installed as well).
- Maintainer does not use GApps, so cannot answer questions about which packages work best from firsthand experience. In general, go with the smallest package you can and then install other Google apps from the Play Store. Please note that if you replace the stock dialer with Google Dialer, you may lose access to the Phone Info menu (*#*#4636#*#*) until you install another dialer. For recommendations, see https://wiki.lineageos.org/gapps.
- Requires OOS 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 24 canary (with zygisk instead of magiskhide), works well.
- No there won't be official builds with inline GApps; please don't ask.
crDroid 7.30 - May 2023 ASB release notes/changelog:
Changelog since v7.29 official release:
- Merged May 2023 Android Security Bulletin from upstream.
- Whatever the ROM dev team changed upstream in LineageOS and crDroid sources (not much? they're busy with Android 13+).
- No changes to device-specific files.
Known issues:
- No f2fs-formatted userdata support, sadly. Doesn't work with the prebuilt vendor partition required for this version of Android. You'll need to reformat data to ext4 before being able to boot (you can fastboot flash the crDroid 8.x or 9.x boot.img if you need a recovery that will let you choose).
- Google Hotword recognition might be kinda broken right now (on more than one custom ROM/device, not just us), and may cause some screw-up that prevents microphone audio from being allowed to go anywhere else if it's enabled.
- If you are stuck at "Android is starting..." looping endlessly, then press power, reboot to bootloader, and follow the instructions for updating firmware to OxygenOS 11.1.2.2 in the first post. It doesn't wipe data, you shouldn't lose anything.
- Some screen-off gestures may not work, due to limitations beyond my control; don't use those gestures. Sorry.
Helpful links:
Download ROM
Android platform tools (adb & fastboot)
OxygenOS 11.1.2.2 Full OTA
Firmware update instructions (LineageOS Wiki)
(Please note that since crDroid 7.x/Android 11 for this device depends on the prebuilt OxygenOS vendor partition, you'll also need to add fastboot flash --slot=all vendor vendor.img to the list of commands in the instructions, just before the final fastboot reboot.
MSMTool (oh now you're in trouble - use latest unless you have a good reason to intentionally downgrade)
Magisk (use latest)
Official TWRP 3.5.2_9-0 install zip (good luck)
Looking forward on this one, thank you for the effort!
Hopefully android auto and face unlock are working. Thanks in advance.
gray_wolf said:
Hopefully android auto and face unlock are working. Thanks in advance.
Click to expand...
Click to collapse
Can't say anything about Android Auto, but Face Unlock works just fine!
MaWalla99 said:
Can't say anything about Android Auto, but Face Unlock works just fine!
Click to expand...
Click to collapse
Great, will test and report about the android auto and overall Rom. Thanks again.
DC dimming seems to be missing
Welcome back team with a11...even with initial build rom is so stable , like this rom simplicity with so many customisations thankyou
Screenshot ???
vindipi said:
Screenshot ???
Click to expand...
Click to collapse
This Rom has latest Android security patch of January and for screenshots open and scroll down this website
crDroid.net - increase performance and reliability over stock Android for your device
official crDroid ROM blog
crdroid.net
what gapps
DRAKOITYU said:
what gapps
Click to expand...
Click to collapse
I personally used nikgapps...may be all are compatible
gray_wolf said:
Hopefully android auto and face unlock are working. Thanks in advance.
Click to expand...
Click to collapse
After running the Rom for 5 days now I can confirm that it's very stable and has tons of customization. Unfortunately though android auto is not working. face unlocking, camera, etc works fine. Would appreciate it if you could fix the android auto issue in the future build.
Anyone else having issues with GPay? I'm using Magisk, hidden, and GPay still won't work.
Is it possible to update crDroid from 6.13 to 7.2 without data formatting (keeping application and data)?
MaWalla99 said:
Download ROM
TWRP (use 3.5.0 or higher)
Magisk (use 21.2 or higher)
Click to expand...
Click to collapse
Hey, I have the twrp-3.3.1-18-enchilada-Q-mauronofrio TWRP installed on my Oneplus 6, do I still need to upgrade it to the one which you are recommending? I'd rather go with the one that I currently have and not go through the hassle of updating the recovery. That being said, obviously you would know much better.
Please guide
TIA
mahroze said:
Hey, I have the twrp-3.3.1-18-enchilada-Q-mauronofrio TWRP installed on my Oneplus 6, do I still need to upgrade it to the one which you are recommending? I'd rather go with the one that I currently have and not go through the hassle of updating the recovery. That being said, obviously you would know much better.
Please guide
TIA
Click to expand...
Click to collapse
Twrp 3.3 should work fine with the rom. You can keep using it if you want to. However, there is no extra step to use 3.5 vs 3.3. You have to flash twrp after flashing the rom so you can upgrade to 3.5 by just flashing it instead of 3.3.
Quick questions, this rom have smart charging feature?
Firstly, I just want to say this is the most awesome ROM I've tried and i've sat here for a week trying every rom I could get find on the net. It's almost flawless... except for a few hugely killer problems that will sadly make this ROM unusable for me... even though I love it soooo much and if only these things worked... this would be the most amazing ROM ever.
1. After installing GPS doesn't work.
2. When I get a phonecall... I hear the ring... but nothing happens on the screen... so I can't pickup the call. I see after i got a missed call... but i can't answer calls when they're calling... even if I go to the homescreen from whatever app i was using when i got the call... click on the phone icon.... still nothing. Can't answer the call.
3. Text messages simply don't arrive. If I flash the rom back to stock Oxygen OS ... then the text message comes through. But it's a bit late when you're trying to get a verifiaction SMS sent to you to open an messanging app. Can't use the app because i can't get the verification SMS.
If these three things get fixed... omg this will literally be the best ROM ever.
There is a 4th issue... and for me it's important... but it's probably not any fault really of crDroid ROM to be fair...
Very surprisingly... and I just wanted to see if it would work.... kali nethunter for Oxygen OS which is for droid 10 installs over the top of this rom which is droid 11... to much surprise! ...and almost flawlessly... only issue is it doesn't recognise HID interface.
Man... with these 4 things working... this ROM together with nethunter would make for the most badass hacker pentester phone on the planet... save only for the exact same thing on a oneplus 7 or 8 pro.
Many thanks to the devs of this awesome ROM... who hopefully can get 1, 2, and 3 working in the not too distant future... pretty please?
4 is more of a hope and a prayer... but it would be soooo freaking awesome.
not_the_droid_ur_lookin4 said:
Firstly, I just want to say this is the most awesome ROM I've tried and i've sat here for a week trying every rom I could get find on the net. It's almost flawless... except for a few hugely killer problems that will sadly make this ROM unusable for me... even though I love it soooo much and if only these things worked... this would be the most amazing ROM ever.
1. After installing GPS doesn't work.
2. When I get a phonecall... I hear the ring... but nothing happens on the screen... so I can't pickup the call. I see after i got a missed call... but i can't answer calls when they're calling... even if I go to the homescreen from whatever app i was using when i got the call... click on the phone icon.... still nothing. Can't answer the call.
3. Text messages simply don't arrive. If I flash the rom back to stock Oxygen OS ... then the text message comes through. But it's a bit late when you're trying to get a verifiaction SMS sent to you to open an messanging app. Can't use the app because i can't get the verification SMS.
If these three things get fixed... omg this will literally be the best ROM ever.
There is a 4th issue... and for me it's important... but it's probably not any fault really of crDroid ROM to be fair...
Very surprisingly... and I just wanted to see if it would work.... kali nethunter for Oxygen OS which is for droid 10 installs over the top of this rom which is droid 11... to much surprise! ...and almost flawlessly... only issue is it doesn't recognise HID interface.
Man... with these 4 things working... this ROM together with nethunter would make for the most badass hacker pentester phone on the planet... save only for the exact same thing on a oneplus 7 or 8 pro.
Many thanks to the devs of this awesome ROM... who hopefully can get 1, 2, and 3 working in the not too distant future... pretty please?
4 is more of a hope and a prayer... but it would be soooo freaking awesome.
Click to expand...
Click to collapse
You have been positing this in more than one thread. This has nothing to do with any rom, and is related to what you are doing with your phone or the phone itself. Telephony is flowless on every Android 11 custom rom for Oneplus 6. And so is GPS, which literally connects in seconds.
First thing you should do is: disable wifi calling, because if your provider doesn't have the feature (or you are not provisioned for it), that could cause your problems. Next, uninstall any mode you might have. Try calling without Gapps.
Also, if you ever used Syberia Rom, you got custom /vendor, which would not work with other custom roms that use stock /vendor. So, you need to re-flash full stock rom onto both slots, which is a pre-requisite for flashing most custom roms. Then follow directions for installing a custom rom.
Welcome to REDMI S2/Y2 Ultimate Collection!
(ysl)
Template for the index by Retrial
OFFICIAL STOCK MIUI ROM
You can check my Guides for installation.
Recovery ROM V12.0.2.0.PEFMIXM
Fastboot ROM V12.0.2.0.PEFMIXM
FIRMWARES
Redmi S2/Y2 Firmwares
Redmi S2/Y2 Vendors
CUSTOM ROMS
You can check my Guides for installation.
Based on Stock MIUI ROM
Xiaomi.eu V11.0.1.0.PEFCNXM
Most of this Custom ROMS listed are UNOFFICIAL and with a great probability that will never get updated.
Android 12/12L
Lineage OS 19.1 (unofficial)
PixelPlusUI
LineageOS 19.1 (unofficial)
Project Elixir
AOSP 12
ArrowOS (Unofficial)
CorvusOS vS3.0 (Unofficial)
Android 11
Pixel Experience
LineageOS
crDroid Android
EvolutionX
Palladium OS
Descendant XI
Pixel Extended
Pixel Blaster
StagOS
DerpFest
RevengeOS
Superior OS
Pixel Plus UI
Styx OS
CipherOS
DotOS
KangOS
Octavi-OS
Project LegionOS
Android 10
Pixel Experience
LineageOS
HavocOS
FreakyOS
PixysOS
AncientOS
RevengeOS
ShapeShiftOS
MSM-Xtended
CUSTOM KERNELS
Linux Kernel 4.9 Source
StormBreaker EAS Kernel
Fox Kernel Project
Qwerty Kernel (Discontinued)
Revvz Kernel
CUSTOM RECOVERY
You can check my Guides for installation.
TWRP Recovery
PitchBlack Recovery
OrangeFox Recovery
Sky Hawk Recovery Project
GAPPS
Note: be sure you have selected Platform: ARM64 and the proper Android version of the ROM you are going to flash. If the ROM you want to flash include GApps, no need to download and flash any GApps at all.
Most of the GApps have also a config. file which can be used to to configure your installation the way you like. You can skip any Package that you don't want to be part of your installation. For more infos about that, read the instructions of the GApps you chose or search in Google.
NikGApps[Create your own NikGApps build -> Video Guide]
Open GApps
MindTheGapps
FlameGApps
BiTGApps
MAGISK ROOT SOLUTION
You can check my Guides for installation.
Magisk (APK)
Magisk.zip (Flashable Zip)
Uninstall.zip (Flashable Zip)
Magisk Canary (APK)
Disable Force Encryption (DFE) & Encryption
You can check my Guides to find for what is used for.
Disable Force Encryption (No Magisk Included)
Disable Force Encryption (With Magisk Included)
Encrypt Data
GOOGLE CAMERA PORTS & UNIVERSAL STOCK CAMERA UNINSTALLER & ANXCAMERA
Only works if you're installed a 64-bit Android
san1ty
Parrot043
BSG (Private Version) [XML Configs] [Video Review]
BSG (Public Version) [[/B]Video Stabilization Settings]
ANXCamera(Magisk Module - No Addon needed)
Universal Stock Camera Uninstaller(Flash it in Recovery)
Note: If you updated GcamGo from the Play Store, you will need to flash this file and manually uninstall GcamGo from the app info.
GOOGLE PLAY SYSTEM UPDATE 🛡
You can manually update Google Play System by downloading and installing Main components.
USEFUL APPS
Check the Privacy & Security section in my Guides
If for some reason you can't find/install an app on Google Play Store due country restrictions or anything, you can sideload the app from APKMirror.
Adaway: Open Source ad blocker for Android using the hosts file.[/B]
Aegis Authenticator: Aegis Authenticator is a free, secure and open source app for Android to manage your 2-step verification tokens for your online services.[/B]
BetterBatteryStats: With BetterBatteryStats you can analyse the behavior of your phone and find applications causing the phone to drain battery while it is supposed to be asleep.
Brave Browser: Open Source Privacy Browser with built-in adblock.[/B]
Bromite: Bromite is a open source Chromium fork with ad blocking and enhanced privacy.[/B]
Cryptomator: Cryptomator encrypts your data quickly and easily. Afterwards you upload them protected to your favorite cloud service.
Device Info HW: A hardware and software information app for Android devices.
FairEmail: Fully featured, open source, privacy oriented email app.[/B]
Franco Kernel Manager: Complete toolbox for all devices with a rich feature set aimed for ease of use to supercharge your kernel.[/B]
KeepassDX: KeePassDX is a free open source password manager for Android, which helps you to manage your passwords in a secure way.[/B]
MiXplorer: Fully-featured File Manager.[/B]
NetGuard: NetGuard provides simple and advanced ways to block access to the internet - no root required. Applications and addresses can individually be allowed or denied access to your Wi-Fi and/or mobile connection.
NewPipe: Open Source Youtube alternative platform without ads.[/B]
Nova Launcher 7: Nova Launcher replaces your home screen, providing you with powerful features that you will soon realize you can't live without.
Shade Launcher: Make your phone feel like home. Free, open source, no ads.[/B]
Signal: Signal is a free and open source software application, allowing users to send end-to-end encrypted group, text, picture, and audio & video messages, and have encrypted phone conversations between Signal users.
Simple Mobile Tools: A group of simple, open source Android apps without ads and unnecessary permissions, with customizable widgets.[/B]
SysLog: Open Source tool for quickly taking and sharing system logs.[/B]
Today Weather: Today Weather is a beautiful & simple-to-use weather app that provides the world's most accurate local weather forecasts.[/B]
Youtube Vanced: Vanced is a well known modded version of YouTube with many features such as adblocking, background playback and many many more.[/B]
XIAOMI TOOLS
Mi Unlock
Xiaomi Mi Flash Tool
Xiaomi ADB/Fastboot Tools
MINIMAL ADB AND FASTBOOT
Minimal ADB and Fastboot
AMD RYZEN FASTBOOT FIX
Check the AMD Ryzen Fastboot Fix Guide for the proper steps.
AMD Ryzen Fastboot Fix (Batch File .bat)
(Scroll Down to check the Guides)
REDMI Y2/S2 Ultimate Guides!
(ysl)
!DISCLAIMER!
Most people I know (including myself) who used my Guides and steps, did that with success many times. If you don't follow exactly the steps or you do a mistake during the process, I do not take any responsibility for any unexpected results or damage that may happen. However I am here to help if something goes wrong, just ask in the thread.
AMD RYZEN FASTBOOT FIX
Some AMD Ryzen Systems may have problems to recognize your device in fastboot. Try the following ways:
1. Install AMD Ryzen Chipset Drivers.
2. Enable USB Debugging at device (Settings > Additional settings > Developer options > USB Debugging) and give authorization after connecting it to PC.
3. Use USB Hub.
4. Use USB Type-A 2.0.
5. Download this .bat file (unzip it) or manually create a .bat file with these lines below, and run it as an administrator, then reboot:
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "osvc" /t REG_BINARY /d "0000" /freg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "SkipContainerIdQuery" /t REG_BINARY /d "01000000" /freg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\usbflags\18D1D00D0100" /v "SkipBOSDescriptorQuery" /t REG_BINARY /d "01000000" /fCheck the steps an another user did to make it work here.
If this doesn't help, unfortunately you have to use Intel System.
UNLOCK BOOTLOADER
Note: Some AMD Ryzen Systems may have problems to recognize your device in fastboot. [Read the AMD Fastboot Fix Guide above]
Please keep in mind by Unlocking Bootloader the device will reset and all your data will be lost. Make a backup of your data first to PC or to USB.
1. Create a Mi account on Xiaomi’s website.
2. Add a phone number to your Mi account.
3. Insert a SIM into your phone (If you haven't added already).
4. Enable developer options in Settings > About Phone by repeatedly tapping (7 times) on MIUI Version.
5. Link the device to your Mi account in Settings > Additional settings > Developer options > Mi Unlock status. Also enable USB Debugging.
6. Download the Mi Unlock app (Windows is required to run the app).
7. Run the Mi Unlock app and follow the instructions provided by the app.
8. Reboot your device into Fastboot mode. For that simply turn off your device, press the Power Button + Volume Down (–) button at the same time. Then connect the device to the Windows PC/laptop via a micro USB cable.
9. After device and Mi account are successfully verified, the Bootloader should be Unlocked and your device will restart by itself.
INSTALL CUSTOM RECOVERY
Fastboot Method (No Custom Recovery currently installed)
Note: Some AMD Ryzen Systems may have problems to recognize your device in fastboot. [Read the AMD Fastboot Fix Guide above]
1. Make sure your Bootloader is Unlocked.
2. Enable developer options in Settings > About Phone by repeatedly tapping (7 times) on MIUI Version.
3. Enable USB Debugging in Settings > Additional settings > Developer options > USB Debugging.
4. Download a custom recovery of your choice. [You can find a recovery of your choice in my Collection]
5. Download the portable Minimal ADB and Fastboot and run adb.exe
6. Reboot to Fastboot mode by pressing Power Button + Volume Down (–) and keep holding both buttons until the word “FASTBOOT” appears on the screen, then release.
7. Once the device is in Fastboot mode, connect your device to PC and verify you can find it by typying in adb: fastboot devices.
8. Flash Recovery by typing in adb: fastboot flash recovery <recovery_filename>.img (The file may not be named identically to what stands in this command, so adjust accordingly).
9. Reboot to Recovery by typing in adb: reboot recovery or manually hold Power Button + Volume Up (+) until you boot to Recovery.
10. Done! You now have a new Custom Recovery installed.
Recovery Method (Custom Recovery already installed)
1. Download a custom recovery of your choice. [You can find a recovery of your choice in my Collection]
2. Reboot to Recovery by holding Power Button + Volume Up (+).
3. Press Install Image.
4. Locate the recovery.img you recently downloaded.
5. Select it and choose the option Recovery and Flash.
6. Go back and Reboot to Recovery.
7. Done! Your new recovery should be installed.
MAGISK ROOT SOLUTION
The easiest way to root your device is via Magisk, it should work in all ROMs, Stock and Customs.
Install Magisk:
1. Install latest TWRP Recovery. [Read the Install Custom Recovery Guide above]2. Download the Magisk [You can find it in my Collection]3. Reboot to TWRP Recovery by pressing Power Button + Volume Up (+) and flash it.4. Reboot and check whether the Magisk app is installed. If it isn’t installed automatically, manually install the APK. [You can find it in my Collection]Note: From Official TWRP Recovery 3.5.1 and onwards (and other recoveries based on that), Magisk.apk can be flashed as apk without the need of rename it to .zip. So you can simply flash the Magisk.apk in TWRP.Manually Creation of Flashable Zip:Download the latest Magisk APK and rename the Magisk.apk → Magisk.zip.
Uninstall Magisk:
Flash the Uninstall.zip in TWRP Recovery and reboot. [You can find it my Collection]
If Magisk App isn’t uninstalled automatically, manually uninstall the app.
Manually creation of Flashable Uninstall Zip:
Download the latest Magisk APK and rename the Magisk.apk → uninstall.zip
Uninstall Magisk directly through the Magisk app. Simply press the Uninstall button.
DISABLE FORCE ENCRYPTION (DFE) & Encryption
[You can find it in my Collection]
Disable Force Encryption
Disable Force Encryption (a.k.a DFE) is flashed during installation of a custom ROM to avoid the system encrypting /data partition when the devices boot for the first time.Some ROMs are not encrypted by default and so is not necessary to flash DFE. However if your ROM comes with encryption by default you can always flash DFE after clean installation of ROM and always after every update or flash or you can use any custom recovery like OrangeFox, Pitchblack, Skyhawk Recovery Project which can automatic flash DFE after every flash.I don't recommended to use DFE if you don't switch ROMs frequently and you are casual user. Beside the fact that if you lose your device your data are not protected, many people get in confusion while doing OTA or manually updates, which if the ROM is encrypted by default and flashed DFE and in next update you forget to flash DFE you will lock out from your data and you wil get into bootloop (use custom recoveries mentioned above to avoid that).
Encryption
Warning - This works only on clean flash:
1. Flash ROM.zip in recovery
2. Mount vendor partition in recovery (for some reason does not mounting with newer TWRP).
3. Flash encrypt.zip.
4. Reboot to system.
Note:
The encrypt zip needs to be flashed after every update.
So flash ROM.zip and follow with encrypt zip.
Encrypted ROMs are recommended if you are stable and casual user of a ROM. Encryption have the benefit to protect your data, in case you lose your device for example. Always use the latest TWRP Recovery so you can be able to decrypt the data by filling the same lock screen password you have set in ROM.Some ROMs are not encrypted by default but devs provide an Encryption.zip (script) which can encrypt the ROM. Same as DFE you need to flash it after clean installation of ROM and always after every update to stay encrypted and not get into bootloop. Unfortunatly there is not any custom recovery automatic doing that like with DFE, so you must be careful, avoid doing OTA updates and flash it every time you manually update a ROM.
BATTERY TIPS
Advanced Guide
Simple Battery & Charging Tips
Improve your SOT
Battery Calibration
Steps:
1. Discharge your phone fully until it turns itself off.
2. Turn it on again and let it turn itself off.
3. Plug your phone into a charger and, without turning it on, let it charge until the on-screen or LED indicator says 100 percent.
4. Turn your phone on. It's likely that the battery indicator won't say 100 percent, so plug the charger back in (leave your phone on) and continue charging until it says 100 percent on-screen as well.
5. Unplug your phone and restart it. If it doesn't say 100 percent, plug the charger back in until it says 100 percent on screen.
6. Repeat this cycle until it says 100 percent (or as close as you think it's going to get) when you start it up without it being plugged in.
Overheating
Following reasons will lead to device heating issue:
During the initial setup after purchase or when restoring data.
Downloading large files.
Using apps that require more power or using apps for extended periods such as:
Playing high-quality games for long time.
Recording videos for extended periods.
Streaming videos while using the maximum brightness setting.
Using the Screen Mirroring / Smart View feature (connecting mobile to a TV).
While multitasking or when running many apps in the background i.e:
Using Multi window.
Updating or installing apps while recording videos.
Downloading large files during a video call.
Recording videos while using a navigation app.
Large amount of data for syncing with the cloud, email, or other accounts.
Exposing device under sunlight when temperature is high around you.
Extensive usage of mobile hotspot and tethering feature.
Using device in areas with weak signals or no reception or in roaming network.
Charging the battery with a damaged / unapproved USB cable.
Device's multipurpose jack is damaged or exposed to foreign materials, such as liquid, dust, metal powder, and pencil lead.
Solution:
Turn off Wi-fi, GPS , bluetooth and other connectivity options when not in use by dragging the notification panel.
Decrease screen brightness.
Close background running applications.
Too many applications installed in device may result in device heating since their corresponding process will keep on running in background. It is advised to uninstall un-necessary apps if not using them.
Avoid using apps like GPS, data dependent apps or graphic intensive games for longer duration since they require more energy to function, causing device to heat.
It is advised not to use device while charging as it may cause the device to over heat.
General:
DO:
Use manual brightness or dim the screen.
Turn off notifications for apps you don't use. Better still, delete/disable the apps entirely if you don't need them.
Enable battery or power saving mode when you want to extend your battery life.
Use the power adapter that came with your phone. Other chargers can charge slowly/faster but they can also damage your phone or battery.
Turn off bluetooth, location tracking, and Wi-Fi (unless you are actively using it)
Turn off print services from bluetooth connection preferences.
Avoid extremes of heat and cold. If your phone gets very hot or cold it can strain the battery and shorten it's lifespan.
DON'T:
Have Bluetooth or Wi-Fi turned on constantly.
Leave apps running in the background. Instead restrict background usage off apps that you don't need running.
Push email means your device is always listening for new email which drains alot of battery.
Drain your phone battery all the way to 0% or charging it all the way to 100%. Keep it between 20% - 90% for longer battery lifespan.
The more advanced the graphics and animations are (games, videos, photos, animations), the harder the processor and graphics chip in your smartphone have to work. More activity means more battery use.
PRIVACY & SECURITY
Some useful links:
All about Privacy & Security at PrivacyTools.
Electronic Frontier Foundation
Check if your email address is in a data breach at Firefox Monitor & at Have I been Pwned
Test your browser to see how well you are protected from tracking and fingerprinting at Cover Your Tracks by EFF.
Ad Block Tester is a free service on the Internet to evaluate content blocking solutions. It is not designed to be a benchmark, but it reveals the level of blocking against a set of hosts that are very popular.
Check on AM I FLoCed? by EFF if your your Chrome browser has been turned into a guinea pig for Federated Learning of Cohorts or FLoC, Google’s latest targeted advertising experiment.
How to block ads on Android.
General:
Always prefer Open Source or well popular Programs, Apps, ROMs, Kernels & Stuff.
Open Source doesn't mean it's 100% safe but it's unlikely to have something suspicious, since you and other users can check the code in GitHub or in any other code hosting platform the "stuff" is hosted.
Prefer ROMs & Kernels with SELinux Enforcing. You can find informations here.
Always download and install Apps, Programs, ROMs & Stuff from official sources and do not use redirection links from different sites. Google is your friend to find the official source of the stuff you want.
Always check the permissions an app requires, before download and install it to your device. If an app ask for permissions which has nothing to do with the app functionality then it's should be reconsider or ask the developer why these permissions needed.
If you want to avoid Google and Play Store (De-Google), you can choose a ROM without GApps preinstalled like LineageOS and use F-Droid client which is an installable catalogue of FOSS (Free and Open Source Software) applications for the Android platform. The client makes it easy to browse, install, and keep track of updates on your device. Note that not all apps from Play Store will be available in F-Droid. Only Open Source projects. You can find alternatives though.
Alternative you can use LineageOS for microG or any ROM which support signature spoofing and can support microG.
For Windows use the default Windows Defender & Malwarebytes to scan your files whenever you want (Prefered before open or install them). Also use the addon/extension uBlock Origin in your Browser. These should be enough for normal users.
For Android Do not use any antivirus - antimalware since it's useless, just check what apps and from where you installing.
Always verify the source of addons/extensions in your browser. Avoid installing random and unpopular addons/extensions. Keep it minimal and clean, so browser can be fast and safe, no need bunch of extensions.
If you are using VPN, always check the terms and rules of the provider. Avoid random VPN Services.
Recommended VPN Services.
Using a VPN will not keep your browsing habits anonymous, nor will it add additional security to non-secure (HTTP) traffic.
Recommended is to encrypt your data/files always before uploading them to cloud with tools like Cryptomator.
Always use unique and strong passwords for each of your accounts.
Use awarded open source Password Managers like KeePass or KeePassXC for Desktop and KeePassDX for Android to manage your passwords and have them with you safe, encrypted and secure. Must be noted you can use the same database file between these programs.
Always enable 2 Step Authentication wherever is available for your accounts.
You can use apps like Aegis Authenticator.
Do not open or click on links attached in unknown emails you may get. Always check the adress of the email and verify it's legit from the official source.
Create and use "burned" email for accounts/sites you have concerns but you definitely want to try them. Do not use your personal or business email.
CLEAN INSTALL CUSTOM ROM
You can also do the same steps below to install Stock MIUI Recovery ROM.
1. Backup all your data to PC or to external SDCard. [All your data into Internal Storage will be lost on step 7 while Formating Data or Wiping Internal Storage]
2. Unlock Bootloader. [Read the Unlock Bootloader Guide above]
3. Download: [You can find everything in my Collection]
Custom Recovery of your choice.
Custom ROM of your choice
GApps (be sure you have selected Platform: ARMx64 and the proper Android version of the ROM you are going to flash) if the ROM you are going to flash does not include. [Optional]
Magisk Root Solution [Optional]
Disable Force Encryption [Optional]
4. Move all these files in one folder to your Internal Storage or to External SDCard if you have.
5. Install Custom Recovery. [Read the Install Custom Recovery Guide above]
6. Reboot to Recovery Power Button + Volume Up (+)
7. Installation:
Steps without external SDCard:
Select Wipe > Advanced Wipe
Select Dalvik / ART Cache, System, Data, Vendor, Cache and then Swipe to Wipe.
Flash ROM > GApps [Optional] > Magisk [Optional] > DFE [Optional - Not Recommended]
Go back and select Wipe > Format Data > type yes [All your data into Internal Storage will be lost]
Reboot Enjoy!
Steps with external SDCard:
go to Advanced > File Manager > External_SD and delete all folders in ur ext sd card (For example you should delete: Android, .android_secure, LOST.DIR, DCIM, etc) except your personal files/folders and the folder with your custom ROM/Gapps/Magisk/DFE you want to flash.
Each app on your phone with the WRITE_EXTERNAL_STORAGE permission may create files or folders in ur sdcard. Most of these folders have once been created by one of these apps and many of them may be deleted with a few exceptions (e.g. Android, .data, .android_secure, these contain important system or app data like a game's downloaded content):
.android_secure: apps installed and then moved to sdcard
Android: app data/cache
data: app data
.estrongs: ES file manager
LOST.DIR: sort of trash folder (collects recovered files after phone crashes)
DCIM: phone gallery's photos and previews
OTA-update: Over The Air update service
ppy_cross: an unknown third-party app's data.
So I recommend to delete them so you can put your phone/sdcard in a clean state and is guaranteed to be able to re-create these folders.
Select Advanced Wipe
Select Dalvik / ART Cache, System, Data, Internal Storage, Vendor, Cache and then Swipe to Wipe. [All your data into Internal Storage will be lost]
Flash ROM > GApps [Optional] > Magisk [Optional] > DFE [Optional - Not Recommended]
Go back and select Wipe > Format Data > type yes [All your data into Internal Storage will be lost]
Reboot Enjoy!
DIRTY INSTALL YOUR CUSTOM ROM
Note: Before you start flashing, keep in mind the ROM you dirty flashing MUST be the same with the one you have already installed.
1. Make a full nandroid backup, just in case something goes wrong. You can use TWRP to do that. (TWRP > Backup > Select everything) [Optional]
2. Remove all Magisk modules. [Optional]
3. Reboot to TWRP and Wipe Dalvik / ART Cache, System, Vendor, Cache.
4. Flash the ROM > GApps [Optional] > Magisk [Optional] > DFE [Optional - Not Recommended]
5. Reboot and Enjoy!
I've skipped some explanations, because if you are going to dirty flash, you already know for example how to boot to TWRP.
CLEAN INSTALL OFFICIAL STOCK MIUI ROM & RELOCK BOOTLOADER
Note: Some AMD Ryzen Systems may have problems to recognize your device in fastboot. [Read the AMD Fastboot Fix Guide above]
1. Download the official Fastboot ROM and unzip it to your PC. [You can find it in my Collection]
2. Download Xiaomi Mi Flash Tool and run XiaomiMiFlash.exe
3. Turn off you device and then boot in Fastboot mode by pressing Power Button + Volume Down (–) and keep holding both buttons until the word “FASTBOOT” appears on the screen, then release.
4. Connect your device to PC via USB Cable.
5. On the Xiaomi Mi Flash Tool, Click on Select and browse to the folder where you have Unzip the downloaded ROM file then press OK.
6. Click on Refresh button and you will see that your device connected to port com.
7. Select what method you prefer:
Clean All: The process will flash full Fastboot ROM and will wipe everything (include user data) but Bootloader will remain unlocked.
Save User Data: The process will flash Fastboot ROM without wiping user data.
Clean All and Lock: The process will flash full Fastboot ROM and will wipe everything (include user data) but Bootloader will be relocked
8. Now click on the Flash button to begin the flashing progress.
9. Once your ROM is successfully flashed, you’ll see green bar inside XiaomiMiFlashtool.
FIX FOR STUCK ON OREO FIRMWARE (SOFTBRICKED)
FIX (Read Carefully)
New Update: 12/11/2021
Changelog:
Adding the Android 12 roms
Updating links
Minor text fixes
New Update: 23/07/2021
Changelog:
Initial Release
Links to Custom ROM is broken ???