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...
General: MD2 UI Rounded UI Enhanced QS Battery Estimation Seekbars for Media Notifications QS Panel Inspired by OOS Pixel Lockscreen weather Substratum Support Compiled using SDCLANG OTA Support Signature Spoofing Micro-G support Lockscreen charging animation In-built Oneplus Camera & Gallery(Oneplus Device only) Status Bar: Double tap to sleep Statusbar brightness slide Quick & Smart pulldown Clock Settings Date Settings Battery Customization Battery Bar Network Traffic Indicator Carrier Label Customization Status Bar Icons Toggle Notifications Count Bluetooth Battery Status VoLTE Icon Toggle Old Mobile Type Icon style 4G/LTE icon switch Data Disable Icon Toggle Breathing Notifications Quick Settings: Layout customization Brightness Slider Customization Brightness Slider On Bottom Auto Brightness Icon Auto Brightness Icon on Right Brightness Control Buttons QS Elements Customization Tile Tittle Vibrate On Touch Information Header QS Footer Customization VPN Warning Settings Icon Running Services Icon Edit Icon User Switcher Icon Interface: Themes UI Style (Pixel/AOSP) Background Color (Automatic/Light/Dark/Shady/Glassy) Accent Color Font Manager App Icon Shape (Default/Square/Rounded Square/Squircle/Circle/Teardrop/Hexagon) QS Themes QS Color based on Wallpaper QS Color based on Accent Custom QS Panel color QS Panel Opacity QS Header Style (Black/Grey/Light Grey/Accent Based/Transparent) Custom QS Header Image QS Tile Style (Wavey/Cookie/Teardrop and 15+ More) Settings Customisation Switch Appearance (OnePlus/Material Design 2) Dashboard Icons (Round/Oreo/Round Accented/Round OnePlus Style/Oreo Style Accented) Dashboard Conditions Dashboard Suggestions Ambient Display: Ambient Options Always On Always On When Charging Wakeup On New Notifications Sensor Based Screen Wakeup (Tilt/Hand Wave/Pocket) Battery Level at Botton while Dozing Music Ticker Screen: Smart Pixel Screen Stabilization Corner Customisation Rounded Corner Radius Corner Content Padding Satus Bar Padding Buttons: Volume Rockers Volume Panel On Left Volume Dialog Timeout Volume Steps Keyboard Cursor Control Swap Keys Control Ring Volume Control Music Volume Volume Rocker Wakeup Volume keys Answer Call Power Button Power Menu Customization End Call Screen off power button torch Hardware keys Disable Keys Swap Keys Backlight Brightness Backlight Timeout Backlight On Touch Accidental Touch Protection Back/Home/Overview Button Customisation Single Tap Action Long Press Action Double Tap Action Home Button Use While Ringing Toggle Navigation bar: Navigation Mode (Fling/SmartBar/Default) Stock Navigation Bar Customisation Gestures Pixel Animation One-Handed Mode Layout Customisation Smart Bar Customisation Fling Customisation Pulse Customisation Height Customisation (Potrait/Landscape) Gestures: System Gestures Jump to Camera Long Press to Activate Torch Swipe Up on Home Button Full Gesture Mode Double Tap on NavBar to Sleep Prevent Ringing Swipe to Screenshot Swipe Gestures OnePlus Gestures Edge Gestures Pie Control Lockscreen: Double Tap to Sleep Media Cover Art Media Cover Art Filter (Blur/Greyscale/Accent tinted/Greyscale and Blurred) Music Visualiser Clock Widget Customisation Info Widget Customisation Weather Temperature Unit (Celsius/Fahrenheit) Unlocking FP Authentication Vibration Force FP Authentication LS Dismissal On Face Unlock Pocket Detection Allow FP in Pocket Elements Customisation Quick Settings Satus Bar Multiuser Switch Status Text Charging Info Left/Right Shortcuts Lock Icon Shortcuts Mid-Screen Shortcuts Bottom Shortucts Others Pin Ripple Scramble Layout Quick Unlock Auto Lock Power Button Instantly Locks Direct Unlock Lockscreen Message Recents: Recents style (Quickstep/Oreo/Grid/Android Go/Slim) Oreo Recents Customization Clear All Button Clear All Button Location Button Style Memory Bar Custom Styles Icon Pack Apps Blacklist Immersive Mode (Full Screen/Status Bar/Navigation Bar -- Clock/Date) Slim Recents Customisation Notifications: Lights Customization Charging Light Notification Light Blink Flashlight on Call Status Bar Heads Up Customisation Ticker Customisation Disable/Enable FC Notifications Immersive Mode Messages Toast Icon Force Expanded Notifications Kill App Button Noisy Notifications In-Call Vibration On Connect On Disconnect On Call Waiting For Notifications Animations: Disable animation Animation Duration Animation customization List view animation QS tile animation Power menu animation Screen off animation Toast animation System: Signature Spoofing CPU info Privacy Guard Burn-in protection Input Method: Selector notification Auto keyboard rotation Auto-Rotate Timeout Disable Full Screen Keyboard Show enter key Battery Saving: Sensor block per-package Alarm Blocker Wakelock Blocker Suspended Actions Doze settings Aggresive Battery Aggresive Idle Aggresive Standby Auto-enable on Battery saver mode View CPU Frequency Stats Miscellaneous: MediaScanner behaviour on boot Scrolling Cache USB Configuration Wake Up on Charge Launch Music App Screen Capture Screenrecord Shortcut Screenrecord Quality Screenshot Shortcut Screenshot Type (Full/Partial) Other Features: LiveDisplay On-the-go mode Prevent Accidental wake-up Seperate ringtone for SIM1&2 Battery Charge Warning Smart Charge Advanced Battery Info QS Tile Shortcuts: Heads Up tile Caffeine tile Ring mode tile CPU info tile Suspended action tile Smart pixel tile Ambient display tile AOD tile Screenrecord tile Stabilization tile Gaming Mode tile Screenshot tile Accidental touch tile Alarm/Calc/Phone/Camera/Music tiles Expanded Desktop tile Havoc settings tile HW key tile LTE tile Navbar tile On the go tile Pie control tile Reboot tile Sleep screen tile Accent picker tile Volume panel tile High Brightness tile Sound Search One Handed Mode Tile Compass Tile App Picker Tile Language
SKULSHADY (Anushek Prasal)
ZeNiXxX (Viktor Hermann)
theo.j22 (Tushar Jain)
DankBoi (Apoorva Kr. Srivastava)
If you like our work then please consider donating.
PayPal: https://www.paypal.me/vhermann | https://www.paypal.me/ANUSHEK
UPI: [email protected]
ROM (GSI) DOWNLOADS:https://twrp.me
Open GApps: http://opengapps.org
Telegram General Support Group: https://t.me/havocofficial
Telegram GSI Support Group: https://t.me/joinchat/FxCi5k1TYJCaeyesr7dAHg
Telegram Announcements Channel: https://t.me/Havoc_OS
Discord Server: https://discord.gg/YfhBCj4
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.
Pixel Experience (https://github.com/PixelExperience)
Nitrogen Project (https://github.com/nitrogen-project)
MSM-Xtended Team (https://github.com/Project-Xtended)
Syberia Project (https://github.com/syberia-project)
@phhusson for its tremendous work on GSIs
And all the other Developers, Testers, Donators and Users.
GSI Specific Information
- 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.txtCode:
cat /proc/last_kmsg > /sdcard/kmsg.txt
- 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
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:
- ExtSDFix.zip for arm64-a, arm-a, a64-a, from https://forum.xda-developers.com/sho...postcount=1250
- docUIfixAB__zero.zip for arm64-ab, from https://forum.xda-developers.com/sho...postcount=1262
- SoundPicker crashing: First option, it may be updated from the Play Store. If it's not the case, you can try to flash fixSoundPicker.zip in TWRP, provided by @gxfuzion92 here. If that does not work, try fixSoundPicker2.zip. 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 fixMusicFX.zip in TWRP.
Goodies: A few specific improvements, not guaranteed to work for everyone...
- Automatic Brightness: Flash enableAutoBrightness-twrp.zip 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 enableAOD-twrp.zip 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 enableCutoutController-twrp.zip 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 enableSmartCharging-input_suspend.zip in TWRP. This flashable zip will install the file treble-overlay-smart-charging-input_suspend.apk in /vendor/overlay.
- batt_slate_mode: flash enableSmartCharging-batt_slate_mode.zip in TWRP. This flashable zip will install the file treble-overlay-smart-charging-batt_slate_mode.apk in /vendor/overlay.
- charging_enabled: flash enableSmartCharging-charging_enabled.zip in TWRP. This flashable zip will install the file treble-overlay-smart-charging-charging_enabled.apk in /vendor/overlay.
- battery_charging_enabled: flash enableSmartCharging-battery_charging_enabled.zip 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.
- VoLTE: For Qualcomm based devices (not mtk, not exynos...), you may enable VoLTE by installing the file ims.apk as a normal application. You may also need to flash enableVoLTE-twrp.zip in TWRP. This flashable zip will install the file treble-overlay-volte.apk in /vendor/overlay.
- Bluetooth incall / A2DP issues: If BT incall does not work and your device has a Qualcomm SOC, you may try the Magisk module GSIBtFix.zip. 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 GSIV4AEnabler.zip which will permit V4A driver to be installed (ViPER4Android FX required).
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...