Havoc-OS 2.x is based on AOSP, inspired by Google Pixel.
Has a refined Material Design 2 UI by @SKULSHADY.
So many features that you probably won't find in any ROM.
All you can dream of and all you'll ever need.
Just flash and enjoy...
Lead Developers:
Support Team:
If you like our work then please consider donating.
ROM (GSI) DOWNLOADS:
You can find more detailed information on what is a GSI and how to flash it on phhusson treble wiki. You will also find there user feedback about GSI flashing and usage for many devices.
The basic steps for flashing a GSI are:
1. Download the GSI from the links above, and uncompress it.
2. Wipe Data, Dalvik, and Cache.
3. Remove Magisk if it was previously installed, by using its uninstaller script. Magisk files are stored in the kernel image, and in the /data/adb folder, which are left untouched when wiping data and flashing the GSI. Another option is to flash your stock rom and manually delete the content of the /data/adb folder.
4. Flash the GSI to system partition (AB devices : flashing a vbmeta.img file for your device may also be required).
5. Boot and perform a factory reset.
6. (Optional) Reboot and flash GApps, Magisk, and maybe additional files (see below, GSI Specific Information). If you don't flash GApps with the MagicGapps Magisk module, you may have to resize your system partition in TWRP.
7. Reboot and Enjoy.
If you want to update a previous installation of the Havoc-OS GSI, you can also always try to dirty flash, i.e. wipe Dalvik and Cache (not Data) and flash System image. But if you experience a strange behavior, a clean flash may be required.
And all the other Developers, Testers, Donators and Users.
GSI Specific Information
Bootloops:
- SELinux issues: You can try to use this patch, or any other that could work, in order to make your kernel boot in permissive mode. Custom kernels for your device may also help. Incompatibilities exist between ROMs and vendor SELinux policies, that can cause bootloops. Some progress has been made since old builds with improving Havoc's sepolicy (big thanks to @phhusson for giving explanations and pointing me out with the good tools), but some problems may remain.
- Bootanimation issues: In some devices, the bootanimation itself may cause a bootloop. I don't want to remove the bootanimation for everyone as I find it pretty nice, so please remove yourself the file /system/media/bootanimation.zip.
- Send logs: this may help me to understand the problem, help you to boot, and perhaps improve the GSI for everyone. To get logs:
- Do not use TWRP built-in "Copy Log" or "Save Log" function: It saves logs of the kernel running the recovery, not the logs of the kernel running the previous GSI boot.
- Kernel log: After a trial, reboot directly to TWRP, plug your device, and issue the following command on your computer:
Code:
adb shell cat /proc/last_kmsg > kmsg.txt
If you cannot plug your phone and/or use adb, you can use the Terminal in TWRP, and issue the following command:
Code:
cat /proc/last_kmsg > /sdcard/kmsg.txt
The file will be in your home storage place. If you don't have the sdcard folder, you may save the file in /data instead.
- Logcat: As soon as you see the bootanimation or have succesfully booted, you may get a logcat. Plug your device and issue the command:
Code:
adb shell logcat -b all > logcat.txt
It will register everything that happens in your phone. When you want to stop the record, type Ctrl-C.
If you have booted, you can also use an app, like Logcat Reader from the Play Store.
Bug fixes: Some fixes for long-lasting bugs, or specific version bugs
- External sdcard access / DocumentsUI missing:In release 20190712, I made an attempt to replace DocumentsUI by Amaze file manager, in order to solve the DocumentsUI crashing for some devices. However, DocumentsUI must still be present for managing external sdcards and maybe some other reasons. Here are two patches, for A and A/B architectures:
- ===> no more needed since v2.8
- SoundPicker crashing: First option, it may be updated from the Play Store. If it's not the case, you can try to flash View attachment 4788982 in TWRP, provided by @gxfuzion92 here. If that does not work, try View attachment 4790074. If it still does not work, or if you prefer that solution, install the apk from apkmirror.
- Equalizer/MusicFX crashing: In the last update (20190708), I made an attempt to replace MusicFX by a reworked version, and apparently there are some problems. It will be reverted in next release. Flash View attachment 4788981 in TWRP.
Goodies: A few specific improvements, not guaranteed to work for everyone...
Overlays:
- Automatic Brightness: Flash View attachment 4771762 in TWRP. A specific overlay for your device may be missing in Phh overlay collection, for automatic brightness or other features. I encourage you to submit new ones for missing devices. This flashable zip will install the file treble-overlay-auto-brightness.apk in /vendor/overlay.
- Always On Display (AOD): If you have an AMOLED screen and your device never triggers doze (deep sleep) while in AOD, flash View attachment 4771763 in TWRP. The reason is the same as above, a missing overlay for your device. This flashable zip will install the file treble-overlay-aod.apk in /vendor/overlay.
- Hide notch: If your display has a notch, you can enable the cutout controller which will permit to hide it or leave its foreground black (Havoc settings -> Screen -> Display Cutout) by flashing View attachment 4775099 in TWRP. This property is Havoc dependent, so do not submit an overlay that enables it to Phh overlay collection. This flashable zip will install the file treble-overlay-cutout.apk in /vendor/overlay.
- Smart Charging: If Smart Charging does not work for you, look in the directory /sys/class/power_supply/battery/, and if you see a file named:
- input_suspend: flash View attachment 4788055 in TWRP. This flashable zip will install the file treble-overlay-smart-charging-input_suspend.apk in /vendor/overlay.
- batt_slate_mode: flash View attachment 4788058 in TWRP. This flashable zip will install the file treble-overlay-smart-charging-batt_slate_mode.apk in /vendor/overlay.
- charging_enabled: flash View attachment 4788057 in TWRP. This flashable zip will install the file treble-overlay-smart-charging-charging_enabled.apk in /vendor/overlay.
- battery_charging_enabled: flash View attachment 4788056 in TWRP. This flashable zip will install the file treble-overlay-smart-charging-battery_charging_enabled.apk in /vendor/overlay.
- None of them, or you don't have this directory: forget Smart Charging, or find yourself the file for which the command "echo 0 > your_file" or "echo 1 > your_file" enables or disables charging; and let me know.
Applications:
- VoLTE: For Qualcomm based devices (not mtk, not exynos...), you may enable VoLTE by installing the file View attachment 4771761 as a normal application. You may also need to flash View attachment 4778148 in TWRP. This flashable zip will install the file treble-overlay-volte.apk in /vendor/overlay.
Magisk modules:
- Bluetooth incall / A2DP issues: If BT incall does not work and your device has a Qualcomm SOC, you may try the Magisk module View attachment 4780988. It implements the method described here and here. A2DP should still work.
===> this module should be no more needed since v2.8 thanks to this commit
- ViPER4Android FX Magisk module: if your device belongs to the following list, you will not be able to install the driver: ali, beryllium, cepheus, cereus, dipper, equuleus, grus, hannah, james, nitrogen, nora, perseus, pettyl, platina, polaris, raphael, sirius, ursa. You can try to install the Magisk module View attachment 4780989 which will permit V4A driver to be installed (ViPER4Android FX required).
Contributors
vince31fr
ROM OS VERSION: 9.x Pie
ROM TYPE: Generic System Image (GSI)
BASED ON: AOSP
After retributing all contributors listed above, if you still have a few bucks and want to support my work on building that GSI, you can pay me a coffee, I appreciate! Or just drop an enthusiastic comment, I appreciate too...