[Kernel][02.06.2021][Android 10] Kirisakura 2.2.5 for Asus Rog Phone 3 aka OBIWAN

Search This thread

Balaram12

Senior Member
Oct 11, 2011
185
13
Alright I've flashed the kernel and everything's smooth, display looks awesome now after the tweaks.
Thank you for your awesome work.
My only problem is the phone seems to not like going into deep sleep.
Not sure though, it might be a problem with the current firmware as i was getting much better battery life on the previous update compared to current version even when comparing stock vs stock kernels on both.
 
Last edited:

xaloundros

Senior Member
Oct 17, 2011
89
28
Creta,Rethymno
Alright I've flashed the kernel and everything's smooth, display looks awesome now after the tweaks.
Thank you for your awesome work.
My only problem is the phone seems to not like going into deep sleep.
Not sure though, it might be a problem with the current firmware as i was getting much better battery life on the previous update compared to current version even when comparing stock vs stock kernels on both.
Same here after last update from asus
 
  • Like
Reactions: Balaram12

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
4,912
15,674
Alright I've flashed the kernel and everything's smooth, display looks awesome now after the tweaks.
Thank you for your awesome work.
My only problem is the phone seems to not like going into deep sleep.
Not sure though, it might be a problem with the current firmware as i was getting much better battery life on the previous update compared to current version even when comparing stock vs stock kernels on both.
Same here after last update from asus
Use better battery stats to determine what keeps your phone awake. It's available here on XDA. (y)
 

sarimabbas

Member
Nov 5, 2015
23
1
28
ASUS ROG Phone 3
MMor

More then likely it's a app you have installed causing it since more people haven't mentioned it. Do you have any kernel tweaking apps or scripts installed? What new apps have you installed in that time?

Can we see a screen shot of battery usage screen a rogue app might show up on there?
Same problem occured with me 2 times and the phone doesn't boot up even if its charged when I plug in the charger after 5 min red led blinks and the phone has 25%charge but it was not booting up when I press the power button . Is dere any solution
 

kepetrov

Senior Member
May 1, 2010
137
19
Sofia
Same problem occured with me 2 times and the phone doesn't boot up even if its charged when I plug in the charger after 5 min red led blinks and the phone has 25%charge but it was not booting up when I press the power button . Is dere any solution
Do you have clean state config app installed ? If yes - try to uninstall it :)
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
4,912
15,674
I havent any new apps since the issue appears... updates only. Battery usage screen looks normal. Im not using any kernel tweaking apps or scripts.

Here is the log when the issue happens I think.
The phone was off yesterday between 9:41 and 11:52 and it wont boot in that time.

Do you have clean state config app installed ? If yes - try to uninstall it :)


The CleanSlate app has nothing to do with it. It manages a file on the internal sdcard to control the CleanSlate features.
My phone is running for over a week without rebooting it now. :)
So unfortunately I can´t reproduce this issue or get logs myself.

It seems the new XDA-App swallowed the log you posted, as I didn´t see it earlier. Unfortunately a logcat doesn´t tell me anything as it´s for the rom-side mostly.
You need to either connect the phone via adb to pc and take a dmesg when the screen isn´t turning on or force reboot the phone and check if there´s a ramoops after the succesfully booting located in sys/fs/pstore.
Details in the FAQ in post #3 of this thread.
 

kepetrov

Senior Member
May 1, 2010
137
19
Sofia
I dont know its coincidence but when I uninstalled clean state config app, my phone is working without issues 8 days and counting.

sarimabbas loses nothing if he tries that :)
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
4,912
15,674
I dont know its coincidence but when I uninstalled clean state config app, my phone is working without issues 8 days and counting.

sarimabbas loses nothing if he tries that :)

Except for the ability to control the cleanslate features. Which is an integral part of the kernel.
The app doesn't do much after hitting the save button.
Which features do you use or apply via the CleanSlate config app?

If there's a bug we won't ever know, if nobody takes logs when facing an issue. Hence I'd rather see logs. (y)
 

LEO-DEVIL

Member
Apr 28, 2021
7
0
My phone is running for over a week without rebooting it now. :)
So unfortunately I can´t reproduce this issue or get logs myself.

It seems the new XDA-App swallowed the log you posted, as I didn´t see it earlier. Unfortunately a logcat doesn´t tell me anything as it´s for the rom-side mostly.
You need to either connect the phone via adb to pc and take a dmesg when the screen isn´t turning on or force reboot the phone and check if there´s a ramoops after the succesfully booting located in sys/fs/pstore.
Details in the FAQ in post #3 of this thread.
hello brother
i see you really working hard as i saw your post and works
i need to know if i use this custom rom it gona help or not
i am using rog phone 3 global android 10 (not custom rom)
what i having problem when i conncet my type c to hdmi or elgato capture card i unable to play games 90fps and its lock 60fps after connecting hdmi
other oneplus phone streaming friend dnt have this problem they can play 90fps while streaming hdmi 60fps
is this custom rom helps me force 90fps play games i play pubgmobile
i really aperciated for you if u can solve this
thank you
 
Last edited:

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
4,912
15,674
hello brother
i see you really working hard as i saw your post and works
i need to know if i use this custom rom it gona help or not
i am using rog phone 3 global android 10 (not custom rom)
what i having problem when i conncet my type c to hdmi or elgato capture card i unable to play games 90fps and its lock 60fps after connecting hdmi
other oneplus phone streaming friend dnt have this problem they can play 90fps while streaming hdmi 60fps
is this custom rom helps me force 90fps play games i play pubgmobile
i really aperciated for you if u can solve this
thank you
this is not a custom rom, but a custom kernel.

I don´t have such a device to try myself, but I think a custom kernel can´t help you. The panel of the phone´s screen can be forced to certain fps, but the apps content will still be rendered by the rom at a certain framerate.

I connected my phone via hdmi to a monitor. On stock the phone gets set to 60fps. I can force the phones panel to 144hz, but the apps will still be rendered by the firmware at 60fps. (that´s the closest to what I can do without owning such a device as yours)
So unfortunately I can´t really help you there.
 

LEO-DEVIL

Member
Apr 28, 2021
7
0
this is not a custom rom, but a custom kernel.

I don´t have such a device to try myself, but I think a custom kernel can´t help you. The panel of the phone´s screen can be forced to certain fps, but the apps content will still be rendered by the rom at a certain framerate.

I connected my phone via hdmi to a monitor. On stock the phone gets set to 60fps. I can force the phones panel to 144hz, but the apps will still be rendered by the firmware at 60fps. (that´s the closest to what I can do without owning such a device as yours)
So unfortunately I can´t really help you there.
ye man after buy expenses phone i cant play 90fps app game while straming
one thing at a time :-( noow i need to sell this bcz ipad have not this problem
well
still thank you
 

AayushCODM

New member
Apr 17, 2021
2
0
Kirisakura-Kernel for the Rog Phone 3

Hello everyone,

To keep it short: Here is Kirisakura - Kernel for the Rog Phone 3 aka OBIWAN.
I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.

Kirisakura - Kernel is designed to bring a handful of beneficial features to the device, while ensuring excellent performance and smoothness to get you safely through the day!

This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.
Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features. In fact this, alongside Kirisakura-Kernel for the OnePlus 8 Pro, may be (and probably is) the first 4.19 msm kernel with a fully working Kernel-CFI implementation and CFI-Violations fixed on a smartphone.
The only kernels made by OEMs offering this security feature are the ones for the Pixel 3 and Pixel 4 devices.
The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.

Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixle 3 and 4 Kernel use this security feature.
SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
If you´re interested here are a few good links:
Google Security Blog explaining SCS.
LLVM doc about SCS
Android DOCs documenting SCS

If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.

Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 865/+ that´s built into the different SKUs of the Rog Phone 3.
The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. OEMs usually stop updating the initial base after the phone is released.
This kernel focuses amongst the other features to provide the latest CAF-Updates merged in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
I´d like to mention @tbalden ´s excellent CleanSlate features at this place. They improve usability by a big margin for me personally. The highly customizable sweep to sleep implementation (adjustable to different navigation settings), long tap to bring down status bar (very useful on a big device), backlight dimmer and notification reminder are very useful features that I use personally every day.
Another big part of improvements originate from @arter97´s, @kdrag0n´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
A big thanks to all of them at this place!

Now lets continue with a list of features in the next paragraph!


Main Features:
- Based on latest kernel sources from Asus for Android 10 and intended for use on the latest Asus Stock-Firmware (currently 17.0823.2012.131)
- compiled with Clang 12.0.2 and built with -O3 speed optimizations
- Linux-Stable-Upstream included to 4.19.184
- CAF base for the Snapdragon 865/+ (SD865/+) updated to upstream CAF
- Kernel Control-Flow-Integration (CFI) andLink-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Shadow Call Stack (SCS) Security-Feature
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
- fix CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- Link the kernel with LLD and use RELR-Relocation
- include important fixes/improvements from kernel/common
- Flashing the kernel will keep root!
- Cleanslate Features included! See @tbaldens´s CleanSlate Thread for more information
- Flashable via EXKM, FKM or TWRP on a rooted system!
- Anykernel zip is based on the Anykernel3 release from @osm0sis
- disable various debugging configs, that are not needed in a perf build kernel according to google.
- disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
- display tweaks to reduce power consumption on statically rendered images
- tweak display to allow better visibility of black levels/colours on low brightness ( example pictures )
- allow experimental 165hz refresh rate for the panel. (use with caution)

EAS related features:
- EAS implementation patched up to latest CAF state
- disable autogroups and use cgroups for more efficient task placement!
- updates from kernel/common
- scheduler updates from Googles Pixel kernel

CPU related features:
- Change various drivers (WLAN, MM, audio, charger, power, thermal, glink etc) to user power efficient workingqueues. This compliments EAS
- include cpuidle patches from CAF
- improvements to cpufreq/times/stats
- improve memory allocations in binder driver
- use s2idle for deepsleep, as pixel 4/5
- vdso32 patches as found on Google Pixel devices (brief documentation here)
- enable lse atomics
- arm64: lse: Prefetch operands to speed up atomic operations, thanks @kdrag0n
- implement fast refcount checking

GPU related features:
- GPU driver updated to latest CAF-State
- remove POPP functionality from GPU driver to avoid constant fight about downscaling with msm-adreno-tz
- don´t wake the gpu on touch input, instead wake when receiving an ioctl
- don´t copy fence names by default to save a bit of cpu-time (explanation)
- msm: kgsl: Stop slab shrinker when no more pages can be reclaimed
- gpu/kgsl improvements from pixel 4/pixel 5 kernel

File System related features:
- improve memory allocations in sdcardfs
- improve eventpoll logging to stop indicting timerfd (improves kernel wakelock readability)
- improve memory allocations in kernfs
- writeback: hardcode dirty_expire_centisecs=3000 based on this commit
- f2fs-stable upstream, that includes ATGC
- ufs improvements from pixel 4/ pixel 5 kernel

UI/UX/Usability related features from CleanSlate:
- CleanSlate features made by @tbalden
- Disclaimer: All CleanSlate features can be controlled via the free companion and config app found on CleanSlate thread here on the ROG 3 Forums on XDA. Please consider buying the premium versions if you enjoy using the CleanSlate features, to give a little something back to @tbalden.
- Flashlight Notification/Call blinking
- Vibrating Notification Reminder
- Sweep to Sleep touchscreen gesture - highly customizable
- DoubleTap on Sweep2Sleep's area gestures - new way to pull down android Notification Area
- Face down screen off - new gesture
- Backlight Dimmer - possibility to use lower panel brightness
- Force FPS Level on Low Brightness
- Squeeze Control
- advanced notification LED control, chromatic charge LED, pulsating LED, LED dimming

Network related features:
- Wireguard Support (Details)
- advanced TCP algorithms enabled
- includes new bbr and bbr2
- fix CVE-2020-14386

Memory related features:
- Speculative Page Faults left enabled (1. 2) (CAF default)
- various fixes for PSI-Monitor, which is used by the userspace lowmemorykiller-daemon
- Fix various memory leaks in different subsystems
- improved mm with patches from mainline
- various other changes from mainline
- included zstd as an option for ZRAM-algorithm (lz4 is probably the best all around, so only change it if you know why and what you are doing)
- improve memory allocations in various subsystems
- ported per process reclaim from Pixel 5 kernel, instead of using outdated CAF implemenation
- Backport to enable CONFIG_HAVE_MOVE_PMD (see here) , thanks @arter97
- Backport to enable CONFIG_HAVE_MOVE_PUD (commit here) , thanks @arter97

Security related features:
- Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
- Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
- Shadow Call Stack (SCS) Security-Feature
- fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
- enable init_on_alloc for even more security, more information can be found in the commit message
- Backport mainline Selinux commits, thanks @arter97 (you must be on magisk 21.0, otherwise the kernel won´t boot)


Misc Features:

TCP Congestion Algorithms:
- advanced algorithms enabled, enable them with your favorite kernel manager
- includes new bbr2
Wakelock Blocker:
- advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
- please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info
- blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!

Other features:
- disable logging and debugging to make the kernel more lightweight in various places (includes binder, mm, vma, gpu, ipa etc)
- fix several coding issues detected by newer Clang-Toolchains
- add support for steam controller
- add support for nintendo switch controller
- ufs improvements from pixel 4/ pixel 5 kernel
- gpu/kgsl improvements from pixel 4/pixel 5 kernel
- display tweaks to reduce power consumption on statically rendered images

Feature section for the "non visible" but perceptible improvements:
- updated binder section (responsible for interprocess communication)
- updated sdcardfs ; have a read about it here:



Flashing Guide, Download and Changelog

A description how to flash the kernel, links for download and a changelog can be found in the second post!


Contributors
Freak07
Source Code: https://github.com/freak07/Kirisakura_OBIWAN

Version Information
Status:
Stable
can you help me on one thing I want to screen record only one app and exclude other apps or overlay on my rog phone 3 (rooted)
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
4,912
15,674
Update to 2.2.4

Hey guys and girls,


I hope everybody started into a good week. Here´s the next update. It includes latest linux-stable and the kernel is compiled with latest prebuilt clang compiler from google.

The display settings are again tweaked a bit. The following changes were made that are used when choosing the gamma tweaked display settings via CleanSlate config app:
- reduce greenish tint on low brightness on 60 and 90fps
- improve black level visibility on 144 and 160fps
- adjust brightness levels so there is less difference between the different fps modes

The kernel is now made for the firmware 17.0823.2102.143. Please make sure to update to this firmware before flashing the kernel.

Here´s the last release post linked for reference as it contains a few more infos about the .143 firmware update and the kernel changes.


Disclaimer/Important:
Since Release 1.5.0 Selinux-Mainline patches are backported now that Magisk 21.0 and greater support it. This gives selinux a performance boost.
You need to have upgraded to magisk 21.0 or higher before flashing the kernel!
If you´re on of those that could not boot 21.0 or greater with the stock kernel, this issue is solved on magisk 21400 and above.


More details in the changelog below and on GitHub as usual.

I´d advise everybody to read the instructions in the OP and follow them. They are written for a reason, because they ensure everything will be working as expected.
Kernel is made for the latest stock rom from Asus, you must update your phone to the most recent Asus update, before flashing the kernel.

Enjoy!


Changelog:
- Linux-Stable Upstream from 4.19.184 to 4.19.190
- bump clang to 12.0.5
- when using gamma tweaked display setting accessible via CleanSlate config app:
- reduce greenish tint on low brightness on 60 and 90fps
- improve black level visibility on 144 and 160fps
- adjust brightness levels so there is less difference between the different fps modes



I wish you all a nice day/evening!


Download is below :)

Download is in this folder:
Instructions how to flash the kernel can be found in the OP!
But look at this post too :)

To make use of the CleanSlate features you need to download both CleanSlate Apps:
Please take a look at the CleanSlate thread for CleanSlate features. On the CleanSlate thread you will find links to both apps, companion and configuration app, to control the CleanSlate features.
If you use the CleanSlate features and benefit over time, maybe think about giving something back to @tbalden and purchase them from PlayStore. :)


Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
 

htctouchelfin

Senior Member
Apr 22, 2009
657
55
sorry to ask that here but :
The kernel is now made for the firmware 17.0823.2102.143. Please make sure to update to this firmware before flashing the kernel.
i'm on an old firmware, unlocked bootoader and rooted, is there a guide on how to manually upgrade firmware? i've searched, but couln't find anything.

edit:it was a tencent version
 
Last edited:

abboooddee

New member
Oct 31, 2016
2
0
Update to 2.2.4

Hey guys and girls,


I hope everybody started into a good week. Here´s the next update. It includes latest linux-stable and the kernel is compiled with latest prebuilt clang compiler from google.

The display settings are again tweaked a bit. The following changes were made that are used when choosing the gamma tweaked display settings via CleanSlate config app:
- reduce greenish tint on low brightness on 60 and 90fps
- improve black level visibility on 144 and 160fps
- adjust brightness levels so there is less difference between the different fps modes

The kernel is now made for the firmware 17.0823.2102.143. Please make sure to update to this firmware before flashing the kernel.

Here´s the last release post linked for reference as it contains a few more infos about the .143 firmware update and the kernel changes.


Disclaimer/Important:
Since Release 1.5.0 Selinux-Mainline patches are backported now that Magisk 21.0 and greater support it. This gives selinux a performance boost.
You need to have upgraded to magisk 21.0 or higher before flashing the kernel!
If you´re on of those that could not boot 21.0 or greater with the stock kernel, this issue is solved on magisk 21400 and above.


More details in the changelog below and on GitHub as usual.

I´d advise everybody to read the instructions in the OP and follow them. They are written for a reason, because they ensure everything will be working as expected.
Kernel is made for the latest stock rom from Asus, you must update your phone to the most recent Asus update, before flashing the kernel.

Enjoy!


Changelog:
- Linux-Stable Upstream from 4.19.184 to 4.19.190
- bump clang to 12.0.5
- when using gamma tweaked display setting accessible via CleanSlate config app:
- reduce greenish tint on low brightness on 60 and 90fps
- improve black level visibility on 144 and 160fps
- adjust brightness levels so there is less difference between the different fps modes



I wish you all a nice day/evening!


Download is below :)

Download is in this folder:
Instructions how to flash the kernel can be found in the OP!
But look at this post too :)

To make use of the CleanSlate features you need to download both CleanSlate Apps:
Please take a look at the CleanSlate thread for CleanSlate features. On the CleanSlate thread you will find links to both apps, companion and configuration app, to control the CleanSlate features.
If you use the CleanSlate features and benefit over time, maybe think about giving something back to @tbalden and purchase them from PlayStore. :)


Have fun, enjoy the kernel and your phone.

Donations are not mandatory but very welcome.
If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
Would you make a custom kernel for android 11 ?
 

Freak07

Recognized Developer / Recognized Contributor
Jan 2, 2011
4,912
15,674
sorry to ask that here but :
The kernel is now made for the firmware 17.0823.2102.143. Please make sure to update to this firmware before flashing the kernel.
i'm on an old firmware, unlocked bootoader and rooted, is there a guide on how to manually upgrade firmware? i've searched, but couln't find anything.

edit:it was a tencent version

in the twrp thread you´ll find a short guide how to update your firmware.

Would you make a custom kernel for android 11 ?
there is no source code for semi-closed A11 betas.

Excuse me,would you make a kernel update for the new released .145 firmware?
there is no source code released for the .147 update yet.
If you´re feeling adventurous, back up stock boot and dtbo in TWRP and proceed to flash the kernel. In case something is not working you can go back to TWRP and restore stock conditions.
 

Balaram12

Senior Member
Oct 11, 2011
185
13
Can someone help me verify if this is normal?
My phone went from 2 days battery life to less than a whole day recently and I'm not sure why.
Haven't been using any new apps either but i noticed way more idle drain.
 

Attachments

  • Screenshot_20210530-021550732.png
    Screenshot_20210530-021550732.png
    350.7 KB · Views: 30
  • Screenshot_20210530-021541754.png
    Screenshot_20210530-021541754.png
    340.8 KB · Views: 29
  • Screenshot_20210530-021636847.png
    Screenshot_20210530-021636847.png
    293.3 KB · Views: 28
  • Screenshot_20210530-021559804.png
    Screenshot_20210530-021559804.png
    414.9 KB · Views: 29

Top Liked Posts

  • 1
    Thanks for all of your hard work on this was able to flash the kernel with no error encountered.
    1. One dumb question tho if Asus release new patch or system update since we cant receive OTA after unlocking the bootloader.
    2. Is it possible just flash the update zip folder?
    3. Anything i should do before loading the new system folder.
    4. Any issues on Netflix app? passed the safetynet did hide and rename the magisk (v.23) butstill no luck running the app.

    Thanks in Advance.
    Yes you need to wait until asus uploaded the full zip system update then put it into your phone, restart and update.
  • 2
    Update to 2.2.5

    Hey guys and girls,


    I hope everybody started into a good week. Here´s the next update it includes the source code for the latest firmware update.

    The kernel is now made for the firmware 17.0823.2104.147. Please make sure to update to this firmware before flashing the kernel to avoid potential issues. You can always flash the previous kernel, before I find time to update the kernel with the latest source, just don´t report issues if you decide to do so.


    Disclaimer/Important:
    Since Release 1.5.0 Selinux-Mainline patches are backported now that Magisk 21.0 and greater support it. This gives selinux a performance boost.
    You need to have upgraded to magisk 21.0 or higher before flashing the kernel!
    If you´re on of those that could not boot 21.0 or greater with the stock kernel, this issue is solved on magisk 21400 and above.


    More details in the changelog below and on GitHub as usual.

    I´d advise everybody to read the instructions in the OP and follow them. They are written for a reason, because they ensure everything will be working as expected.
    Kernel is made for the latest stock rom from Asus, you must update your phone to the most recent Asus update, before flashing the kernel.

    Enjoy!


    Changelog:
    - Include Source for 17.0823.2104.147

    I wish you all a nice day/evening!


    Download is below :)

    Download is in this folder:
    Instructions how to flash the kernel can be found in the OP!
    But look at this post too :)

    To make use of the CleanSlate features you need to download both CleanSlate Apps:
    Please take a look at the CleanSlate thread for CleanSlate features. On the CleanSlate thread you will find links to both apps, companion and configuration app, to control the CleanSlate features.
    If you use the CleanSlate features and benefit over time, maybe think about giving something back to @tbalden and purchase them from PlayStore. :)


    Have fun, enjoy the kernel and your phone.

    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
    1
    Thanks for all of your hard work on this was able to flash the kernel with no error encountered.
    1. One dumb question tho if Asus release new patch or system update since we cant receive OTA after unlocking the bootloader.
    2. Is it possible just flash the update zip folder?
    3. Anything i should do before loading the new system folder.
    4. Any issues on Netflix app? passed the safetynet did hide and rename the magisk (v.23) butstill no luck running the app.

    Thanks in Advance.
    Yes you need to wait until asus uploaded the full zip system update then put it into your phone, restart and update.
  • 9
    Kirisakura-Kernel for the Rog Phone 3

    Hello everyone,

    To keep it short: Here is Kirisakura - Kernel for the Rog Phone 3 aka OBIWAN.
    I would appreciate if everybody that flashes the kernel, reads at least once through this opening post and the following ones.

    Kirisakura - Kernel is designed to bring a handful of beneficial features to the device, while ensuring excellent performance and smoothness to get you safely through the day!

    This project aims to keep most of the subsystems updated, way ahead of the stock kernel, thereby improving security and performance, while keeping stability as the foucs during testing! This includes Linux-Stable, CAF-Upstream and kernel/common.
    Kernel Control Flow Integrity (Kernel-CFI), which is achieved by linking the kernel with LLD and Link Time Optimization (LTO), more precisely ThinLTO, are quite unique security features. In fact this, alongside Kirisakura-Kernel for the OnePlus 8 Pro, may be (and probably is) the first 4.19 msm kernel with a fully working Kernel-CFI implementation and CFI-Violations fixed on a smartphone.
    The only kernels made by OEMs offering this security feature are the ones for the Pixel 3 and Pixel 4 devices.
    The recently released Kirisakura-Kernel for the OnePlus 8 Pro was featured on the XDA-Portal due to the inclusion of CFI. The featured article explains CFI in great details, is easy to understand and definitely worth to read.

    Another security feature is Shadow Call Stack (SCS). Similar to CFI, only the Pixle 3 and 4 Kernel use this security feature.
    SCS is another security patchset that is aimed at preventing attacks via return oriented programming (ROP).
    ROP is a technique where the attacker gains control of the kernel stack to overwrite function return addresses and redirect execution to carefully selected parts of existing kernel code.
    If you´re interested here are a few good links:
    Google Security Blog explaining SCS.
    LLVM doc about SCS
    Android DOCs documenting SCS

    If reading about upstream in the paragraph above got you curious,have a read about Linux-Stable and why it is important here. The stable-process is not the same for every subsystem, but the general idea, rule of thumb and benefits are applicable for other subsystems as well.

    Quick explanation of CAF-Upstream. CAF is short for Codeaurora-Forums. This is the place where development from Qualcomm for their SoCs happens. This includes the Snapdragon 865/+ that´s built into the different SKUs of the Rog Phone 3.
    The kernel-bases available on the Codeaurora-Forums, are basically the foundations OEMs use, to build their own kernel additions on top for devices featuring Qualcomm SoCs.
    The Qualcomm developers push regular updates to the bases of the different SoCs, a bit similar to how Linux-Upstream works. OEMs usually stop updating the initial base after the phone is released.
    This kernel focuses amongst the other features to provide the latest CAF-Updates merged in a regular manner, to provide updates, improvements and enhancements for SoC specific drivers and subsystems! This might take a while, because a lot of device specific testing is done on my end to ensure stability.

    The kernel includes a lot of improvements and contributions from other developers as well. Without this kernel would not exist.
    I´d like to mention @tbalden ´s excellent CleanSlate features at this place. They improve usability by a big margin for me personally. The highly customizable sweep to sleep implementation (adjustable to different navigation settings), long tap to bring down status bar (very useful on a big device), backlight dimmer and notification reminder are very useful features that I use personally every day.
    Another big part of improvements originate from @arter97´s, @kdrag0n´s and @Sultanxda´s work. Many others contributed in some way or another to this kernel.
    A big thanks to all of them at this place!

    Now lets continue with a list of features in the next paragraph!


    Main Features:
    - Based on latest kernel sources from Asus for Android 10 and intended for use on the latest Asus Stock-Firmware (currently 17.0823.2104.147)
    - compiled with Clang 12.0.5 and built with -O3 speed optimizations
    - Linux-Stable-Upstream included to 4.19.190
    - CAF base for the Snapdragon 865/+ (SD865/+) updated to upstream CAF
    - Kernel Control-Flow-Integration (CFI) andLink-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
    - Shadow Call Stack (SCS) Security-Feature
    - Use ThinLTO which was first used in the Pixel 4 XL Android R-Preview Kernel instead of full LTO for full program visibility (needed by CFI)
    - fix CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
    - Link the kernel with LLD and use RELR-Relocation
    - include important fixes/improvements from kernel/common
    - Flashing the kernel will keep root!
    - Cleanslate Features included! See @tbaldens´s CleanSlate Thread for more information
    - Flashable via EXKM, FKM or TWRP on a rooted system!
    - Anykernel zip is based on the Anykernel3 release from @osm0sis
    - disable various debugging configs, that are not needed in a perf build kernel according to google.
    - disable selinux auditing (we don´t have to adress selinux denials running a stock rom)
    - display tweaks to reduce power consumption on statically rendered images
    - tweak display to allow better visibility of black levels/colours on low brightness ( example pictures )
    - allow experimental 165hz refresh rate for the panel. (use with caution)

    EAS related features:
    - EAS implementation patched up to latest CAF state
    - disable autogroups and use cgroups for more efficient task placement!
    - updates from kernel/common
    - scheduler updates from Googles Pixel kernel

    CPU related features:
    - Change various drivers (WLAN, MM, audio, charger, power, thermal, glink etc) to user power efficient workingqueues. This compliments EAS
    - include cpuidle patches from CAF
    - improvements to cpufreq/times/stats
    - improve memory allocations in binder driver
    - use s2idle for deepsleep, as pixel 4/5
    - vdso32 patches as found on Google Pixel devices (brief documentation here)
    - enable lse atomics
    - arm64: lse: Prefetch operands to speed up atomic operations, thanks @kdrag0n
    - implement fast refcount checking

    GPU related features:
    - GPU driver updated to latest CAF-State
    - remove POPP functionality from GPU driver to avoid constant fight about downscaling with msm-adreno-tz
    - don´t wake the gpu on touch input, instead wake when receiving an ioctl
    - don´t copy fence names by default to save a bit of cpu-time (explanation)
    - msm: kgsl: Stop slab shrinker when no more pages can be reclaimed
    - gpu/kgsl improvements from pixel 4/pixel 5 kernel

    File System related features:
    - improve memory allocations in sdcardfs
    - improve eventpoll logging to stop indicting timerfd (improves kernel wakelock readability)
    - improve memory allocations in kernfs
    - writeback: hardcode dirty_expire_centisecs=3000 based on this commit
    - f2fs-stable upstream, that includes ATGC
    - ufs improvements from pixel 4/ pixel 5 kernel

    UI/UX/Usability related features from CleanSlate:
    - CleanSlate features made by @tbalden
    - Disclaimer: All CleanSlate features can be controlled via the free companion and config app found on CleanSlate thread here on the ROG 3 Forums on XDA. Please consider buying the premium versions if you enjoy using the CleanSlate features, to give a little something back to @tbalden.
    - Flashlight Notification/Call blinking
    - Vibrating Notification Reminder
    - Sweep to Sleep touchscreen gesture - highly customizable
    - DoubleTap on Sweep2Sleep's area gestures - new way to pull down android Notification Area
    - Face down screen off - new gesture
    - Backlight Dimmer - possibility to use lower panel brightness
    - Force FPS Level on Low Brightness
    - Squeeze Control
    - advanced notification LED control, chromatic charge LED, pulsating LED, LED dimming

    Network related features:
    - Wireguard Support (Details)
    - advanced TCP algorithms enabled
    - includes new bbr and bbr2
    - fix CVE-2020-14386

    Memory related features:
    - Speculative Page Faults left enabled (1. 2) (CAF default)
    - various fixes for PSI-Monitor, which is used by the userspace lowmemorykiller-daemon
    - Fix various memory leaks in different subsystems
    - improved mm with patches from mainline
    - various other changes from mainline
    - included zstd as an option for ZRAM-algorithm (lz4 is probably the best all around, so only change it if you know why and what you are doing)
    - improve memory allocations in various subsystems
    - ported per process reclaim from Pixel 5 kernel, instead of using outdated CAF implemenation
    - Backport to enable CONFIG_HAVE_MOVE_PMD (see here) , thanks @arter97
    - Backport to enable CONFIG_HAVE_MOVE_PUD (commit here) , thanks @arter97

    Security related features:
    - Control-Flow-Integration (CFI) and Link-Time-Optimization (LTO) ported from 4.19 kernel/common and Pixel 4/XL Kernel
    - Use ThinLTO which was first used in the Pixel 4 XL Android R-Kernel instead of full LTO
    - Shadow Call Stack (SCS) Security-Feature
    - fix various CFI-Violations found in various subsystems like Asus/device specific drivers and qualcomm drivers
    - enable init_on_alloc for even more security, more information can be found in the commit message
    - Backport mainline Selinux commits, thanks @arter97 (you must be on magisk 21.0, otherwise the kernel won´t boot)


    Misc Features:

    TCP Congestion Algorithms:
    - advanced algorithms enabled, enable them with your favorite kernel manager
    - includes new bbr2
    Wakelock Blocker:
    - advanced wakelock blocker with the ability to block any wakelocks (dangerous, use with caution)
    - please read [URL="https://arstechnica.com/gadgets/2018/08/p-is-for-power-how-google-tests-tracks-and-improves-android-battery-life/"]this for further info
    - blocking a kernel wakelock should only be done in case of firmware incompatabilities (WiFi network at work (can´t be changed) causes deep sleep to not work on the phone.) That´s the only use case I see for this feature. The kernel does not features this to improve battery life!

    Other features:
    - disable logging and debugging to make the kernel more lightweight in various places (includes binder, mm, vma, gpu, ipa etc)
    - fix several coding issues detected by newer Clang-Toolchains
    - add support for steam controller
    - add support for nintendo switch controller
    - ufs improvements from pixel 4/ pixel 5 kernel
    - gpu/kgsl improvements from pixel 4/pixel 5 kernel
    - display tweaks to reduce power consumption on statically rendered images

    Feature section for the "non visible" but perceptible improvements:
    - updated binder section (responsible for interprocess communication)
    - updated sdcardfs ; have a read about it here:



    Flashing Guide, Download and Changelog

    A description how to flash the kernel, links for download and a changelog can be found in the second post!


    Contributors
    Freak07
    Source Code: https://github.com/freak07/Kirisakura_OBIWAN

    Version Information
    Status:
    Stable
    7
    Update to 1.8.2

    Hey guys and girls,


    New Update. It includes the source for the new firmware 17.0823.2012.122.
    Make sure to update to this firmware, before flashing the kernel. The zip won´t flash by default on older firmware.

    On 1.8.2 Linux-Stable Upstream is merged, as well as CAF-Upstream.
    Memory improvements, small update to the scheduler, vdso32, and some others are mentioned in the changelog as usual. Some with links for those that like to read it.

    Disclaimer/Important:
    Since Release 1.5.0 Selinux-Mainline patches are backported now that Magisk 21.0 and greater support it. This gives selinux a performance boost.
    You need to have upgraded to magisk 21.0 before flashing the kernel!
    The download can be found here: https://github.com/topjohnwu/Magisk/releases/download/v21.0/Magisk-v21.0.zip
    Alternatively download latest magisk manager from here: https://github.com/topjohnwu/Magisk/releases/download/manager-v8.0.2/MagiskManager-v8.0.2.apk
    Go to Settings and set Magisk Channel to Beta to get Magisk 21.0!
    If you´re on of those that can´t boot 21.0 or greater with the stock kernel, update to 21.0 or higher and flash Kirisakura Kernel without a reboot. Your device should boot up fine.



    More details in the changelog below and on GitHub as usual.

    I´d advise everybody to read the instructions in the OP and follow them. They are written for a reason, because they ensure everything will be working as expected.
    Kernel is made for the latest stock rom from Asus, you must update your phone to the most recent Asus update, before flashing the kernel.

    Enjoy!


    Changelog:
    - Update Source Code to Asus Source 17.0823.2012.122 (make sure to update your phone before attempting to flash the kernel)
    - Linux-Stable Upstream 4.19.164
    - Merge latest CAF-Upstream
    - kernel/common updates
    - vdso32 patches as found on Google Pixel devices (brief documentation here)
    - Backport to enable CONFIG_HAVE_MOVE_PMD (see here) , thanks @arter97
    - Backport to enable CONFIG_HAVE_MOVE_PUD (commit here) , thanks @arter97
    - enable lse atomics
    - arm64: lse: Prefetch operands to speed up atomic operations, thanks @kdrag0n
    - f2fs improvements
    - scheduler improvements
    - other changes please take a look at github


    I wish you all a nice day/evening!


    Download is below :)

    Download:

    Kernel:
    https://www.androidfilehost.com/?fid=17248734326145705484
    Instructions how to flash the kernel can be found in the OP!
    But look at this post too :)

    To make use of the CleanSlate features you need to download both CleanSlate Apps:
    Please take a look at the CleanSlate thread for CleanSlate features. On the CleanSlate thread you will find links to both apps, companion and configuration app, to control the CleanSlate features.
    If you use the CleanSlate features and benefit over time, maybe think about giving something back to @tbalden and purchase them from PlayStore. :)


    Have fun, enjoy the kernel and your phone.

    If you like my work please consider a donation.
    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
    6
    Update to 2.1.0

    Hey guys and girls,


    Alright here´s a new update.
    It includes CAF-Upstream as well as Linux-Stable upstream.

    However there´s an interesting new change I´m sure many will be interested in.
    The display commands were changed so visibility in dark scenes is improved when watching videos on lowest brightness.
    Here´s an example scene from the "infamous" batman trailer. Both pictures were taken with lowest brightness setting on the phone and the same iso, aperture and shutter on the camera.

    Stock:

    New:

    These changes allowed me to greatly reduce the minimal brightness in the kernel, while still improving visibility and black levels on lowest or very low brightness setting compared to the stock kernel.
    If you don´t use already the brightness dimmer setting in the CleanSlate config app, the minimum brightness on a pure white background will now be by default on 3.7 lux, while it is on 13.5 lux on the stock kernel.

    If that´s too low for you and you prefer a brighter minimal brightness install the CleanSlate Config app and change the backlight dimming min value to your liking.
    The app is available to download in the CleanSlate thread.
    Here´s a screenshot, on which setting to change. Enable the dimmer setting, choose your desired min value with the slider, hit the save icon at the bottom and profit!
    The following are rough guidelines on the value you can choose in the CleanSlate config app and the corresponding min brightness measured against a white background.

    40 (default setting on my kernel, without having CleanSlate config app installed) = 3,7 lux min brightness
    90 =6,7 lux min brightness
    120 = 8,1 lux min brightness
    180 = 13,7 lux min brightness (same as stock kernel)

    You will notice a brightness/colour shift on low brightness once you open a "VideoApp" like YouTube, Netflix, Prime Video. The same happens to popular Gallery Apps like Google Photos or Asus Gallery.
    This is an overlay from the Pixelworks daemon that is triggered, when such an app is detected. This behaviour can´t be blocked in the kernel (yet, probably never).
    However there´s a trick to disable this mechanism. When using A11 navigation gestures, swipe up from the bottom so you can see the "pill". Drag the pill a little to the left or right as if you´d switch apps. You´ll see again a brightness and color shift, as the pixelworks daemon is fooled to believe you exited the app.
    That´s helpful if you want to watch the video on that "lower" unmodified brightness level.
    It´s not a perfect solution but better than nothing.
    Keep in mind, when using this trick on lowest brightness you will lose a bit of visibility of those dark details again.

    But it´s all about choices and I feel this offers plenty now.

    These changes to the display also shift colours on higher brightness a bit towards green. That means the "dark, red-blueish hue" from the ROG 3 is reduced and the screen looks more natural/neutral. I compared a lot with other devices and think I finally found a good spot, that´s hopefully acceptable for everyone.
    There´s always splendid to fine tune the display!

    I will also attach two kernel.zips. One with the display changes and one with stock "settings" for the display.
    So if you don´t like the new changes, you can just use like everything is on stock.

    Disclaimer/Important:
    Since Release 1.5.0 Selinux-Mainline patches are backported now that Magisk 21.0 and greater support it. This gives selinux a performance boost.
    You need to have upgraded to magisk 21.0 or higher before flashing the kernel!
    If you´re on of those that could not boot 21.0 or greater with the stock kernel, this issue is solved on magisk 21400 and above.



    More details in the changelog below and on GitHub as usual.

    I´d advise everybody to read the instructions in the OP and follow them. They are written for a reason, because they ensure everything will be working as expected.
    Kernel is made for the latest stock rom from Asus, you must update your phone to the most recent Asus update, before flashing the kernel.

    Enjoy!


    Changelog:
    - Linux-Stable Upstream 4.19.180
    - Merge latest CAF-Upstream
    - kernel/common updates
    - improve visibility of dark scenes when watching video on lowest brightness



    I wish you all a nice day/evening!


    Download is below :)

    Download:

    Kernel:
    see attachment to this post, afh is broken at the moment
    Instructions how to flash the kernel can be found in the OP!
    But look at this post too :)

    To make use of the CleanSlate features you need to download both CleanSlate Apps:
    Please take a look at the CleanSlate thread for CleanSlate features. On the CleanSlate thread you will find links to both apps, companion and configuration app, to control the CleanSlate features.
    If you use the CleanSlate features and benefit over time, maybe think about giving something back to @tbalden and purchase them from PlayStore. :)


    Have fun, enjoy the kernel and your phone.

    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
    6
    Update to 1.9.4

    Hey guys and girls,


    New Update. It includes the source for the new firmware 17.0823.2012.131.
    Make sure to update to this firmware, before flashing the kernel so no conflicts arise.

    1.9.4 includes latest Linux-Stable Upstream as well as CAF-Upstream.

    I also created a magisk module to hide the hardwarestub service warning for those with converted devices on my kernel. No paid app is required for it. Flash it via Magisk Manager and the notification will be hidden.
    Please note that refresh rate can´t be changed when the module is flashed. To able to change refresh rate or to remove the module, simple remove it in Magisk Manager and do a full reboot. I´ll attach it to the third post on this thread. There will be no support for this module from my side and no other support for converted devices.

    Disclaimer/Important:
    Since Release 1.5.0 Selinux-Mainline patches are backported now that Magisk 21.0 and greater support it. This gives selinux a performance boost.
    You need to have upgraded to magisk 21.0 before flashing the kernel!
    If you´re on of those that could not boot 21.0 or greater with the stock kernel, this issue is solved on magisk 21400 and above.



    More details in the changelog below and on GitHub as usual.

    I´d advise everybody to read the instructions in the OP and follow them. They are written for a reason, because they ensure everything will be working as expected.
    Kernel is made for the latest stock rom from Asus, you must update your phone to the most recent Asus update, before flashing the kernel.

    Enjoy!


    Changelog:
    - Update Source Code to Asus Source 17.0823.2012.131 (make sure to update your phone before attempting to flash the kernel)
    - use latest clang 12.0.2 prebuilt by google and fix clang errors
    - Linux-Stable Upstream 4.19.172
    - Merge latest CAF-Upstream
    - kernel/common updates
    - updates to usb_accessory
    - f2fs-stable upstream
    - implement fast refcount checking
    - other changes please take a look at github


    I wish you all a nice day/evening!


    Download is below :)

    Download:

    Kernel:
    https://www.androidfilehost.com/?fid=17248734326145726355
    Instructions how to flash the kernel can be found in the OP!
    But look at this post too :)

    To make use of the CleanSlate features you need to download both CleanSlate Apps:
    Please take a look at the CleanSlate thread for CleanSlate features. On the CleanSlate thread you will find links to both apps, companion and configuration app, to control the CleanSlate features.
    If you use the CleanSlate features and benefit over time, maybe think about giving something back to @tbalden and purchase them from PlayStore. :)


    Have fun, enjoy the kernel and your phone.

    If you like my work please consider a donation.
    Donations are not mandatory but very welcome.
    If you like my work and want to buy me a coffee/green tea: http://paypal.me/freak07
    5
    Requirements

    - unlocked Bootloader
    - USB-Debugging in developer options enabled
    - latest adb and fastboot binaries
    - working adb and fastboot environment
    - magisk root


    How to flash the Kernel:

    1. Download the latest kernel.zip and make sure you have properly updated to the latest matching Asus Stock-Firmware. When the Rog 3 receives an update it takes Asus a while to release the source code for the new OS and me a while to build a new kernel. If you don´t want to face any issues, wait until I either release an updated kernel or give green light because there were no kernel changes.
    Always make sure to run the firmware the kernel is built for!

    1a. Optional: While it may not be necessary all times, you may want to restore stock boot.img, re-root with magisk and optionally install twrp.zip if coming from another kernel. Before reporting issues make sure you do that! Thank you!

    2. Make sure to use at least Magisk 21.0. , otherwise your phone won´t boot due to Selinux-Mainline being present in the kernel. If you´re one of those that can´t use magisk 21.0 or greater on stock kernel, update to beta/canary channel in magisk manager settings, update magisk to 21.0 or greater via magisk manager, do not do a full reboot instead proceed to step 3 without a full reboot!

    3. Flash the kernel.zip via latest EXKM or FKM app, or TWRP (haven´t tested TWRP myself as I don´t need it) and do a full reboot.

    4. Reboot and profit.


    DOWNLOAD:
    Download is located always in this folder:
    https://www.androidfilehost.com/?w=files&flid=316676

    Important: Read after Download
    Please take a look at the second post after flashing the kernel!

    Changelog:

    Android 10

    1.0.0 Initial Release
    1.0.1 https://forum.xda-developers.com/showpost.php?p=83393257&postcount=12
    1.0.2 https://forum.xda-developers.com/showpost.php?p=83409591&postcount=28
    1.1.7 https://forum.xda-developers.com/showpost.php?p=83518681&postcount=32
    1.2.2 https://forum.xda-developers.com/showpost.php?p=83539471&postcount=33
    1.2.3 https://forum.xda-developers.com/showpost.php?p=83552967&postcount=38
    1.5.0 https://forum.xda-developers.com/showpost.php?p=83815367&postcount=74
    1.8.2 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84199477
    1.9.4 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84404331
    2.1.0 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84693785
    2.1.1 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84717725
    2.2.0 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84752157
    2.2.2 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-84762283
    2.2.4 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85029489
    2.2.5 https://forum.xda-developers.com/t/...-rog-phone-3-aka-obiwan.4155505/post-85119205


    Donations:
    Donations are not mandatory but very welcome if you want to support development or just buy me a coffee/tea :)
    If you like my work: http://paypal.me/freak07

    Credits:
    Asus for the development device, giving me the opportunity to create this project!
    @osm0sis for all his work, including the ak3 installer!
    @tbalden for being the best HTC, Pixel, OnePlus and now Asus wingman!
    @LeeDroid and @mwilky for their awesome roms and work I used on multiple devices!
    @Captain_Throwback for all the mentoring and guidance!
    @Eliminater74 for bringing me into the game and the Inspiration
    @nathanchance for his upstream guidance and assistance
    @RenderBroken for helping me out
    @flar2 for all his work
    @joshuous for all the help he provided to me in the past!
    @arter97 for giving me advice
    @kdrag0n for his help and advices!
    @topjohnwu for magisk!