[Kernel] [CAF-Rebased] Horizon Kernel [Android R] [OOS/Custom]

Search This thread

Kris Chen

Senior Member
The most simple way to flash this kernel after you root your phone then use ex kernel manager or franco kernel manager to flash it. At least, mine is working well by this kind of method.

How do we flash this kernel?

My device IN2010, OOS 11.0.2.2.IN21AA and magisk_patched_global_22 kernel.

>> fastboot flash boot boot.img <<---- Horizon Kernel

And bootloop fastboot mode.

There is no going back. I had to install fastboot stock rom from scratch. Good thing i got a backup.
How do we flash this kernel?

My device IN2010, OOS 11.0.2.2.IN21AA and magisk_patched_global_22 kernel.

>> fastboot flash boot boot.img <<---- Horizon Kernel

And bootloop fastboot mode.

There is no going back. I had to install fastboot stock rom from scratch. Good thing i got a backup.
 

adonim1985

Member
Sep 24, 2017
43
6
Gniezno
www.instagram.com
Works in Android 11 full stable (uploaded in Franco Menager).However, I believe that the GPU clock speed could be higher than 670 MHz. Relax, these 750 MHz would be fully stable. And even 800 MHz. Maybe the author will consider adding Adreno 650 clocks higher than 670 MHz to the current state of the kernel?

e.g. 670, 700, 725, 750, 775, 800, or higher MHz.
+- 800-825 MHz clock in Adreno 650 = GPU-level performance with the 870 Snapdragon, and average scored Antutu 8 > 670/680.000 - the same as in "new" Snapdragon 870 overall.

Although there is a kernel where you can set 900 MHz on the GPU (SmurfKernel 1.1.0) but here it is not guaranteed 100% stability.

OnePlus 8 12/256 @ 670 MHz Adreno - Antutu 8.5.2 scored:
[Kernel][4.19.177][CAF-Rebased] Horizon Kernel [Android R] | XDA Developers Forums (xda-developers.com)
 

Attachments

  • 148140716_171003421179632_7072748919746509175_n.jpg
    148140716_171003421179632_7072748919746509175_n.jpg
    114.7 KB · Views: 196
  • asus-rog-phone-3-antutu-medium.png
    asus-rog-phone-3-antutu-medium.png
    352 KB · Views: 189
  • motorola-edge-s-snapdragon-870-antutu.jpg
    motorola-edge-s-snapdragon-870-antutu.jpg
    114.9 KB · Views: 181
Last edited:

xzr467706992

Senior Member
Jul 16, 2016
155
586
Works in Android 11 full stable (uploaded in Franco Menager).

However, I believe that the GPU clock speed could be higher than 670 MHz. Relax, these 750 MHz would be fully stable. And even 800 MHz. Maybe the author will consider adding Adreno clocks higher than 670 MHz to the current state of the kernel? e.g. 670, 700, 750 and 800 MHz. Although there is a kernel where you can set 900 MHz on the GPU (SmurfKernel 1.1.0) but here it is not guaranteed 100% stability.

OnePlus 8 12/256 Antutu 8.5.2 scored:
You can overclock it yourself with this tool
 

adonim1985

Member
Sep 24, 2017
43
6
Gniezno
www.instagram.com
You can overclock it yourself with this tool

Thanks. How exactly is this program/file used? is it a module for a Magisk (21.4) or for another manager (EX, Franco)? Is it installed differently yet?

Such a curiosity ;)

800/850 MHz clock in Adreno 650 in Oneplus 8 = GPU-level performance with the 870 Snapdragon, and average scored Antutu 8 > 655/680.000 - the same as in "new" Snapdragon 870 overall.
 

Attachments

  • motorola-edge-s-snapdragon-870-antutu.jpg
    motorola-edge-s-snapdragon-870-antutu.jpg
    114.9 KB · Views: 153
  • Snap870_antutu8_edgeS.png
    Snap870_antutu8_edgeS.png
    897.9 KB · Views: 150
Last edited:

xzr467706992

Senior Member
Jul 16, 2016
155
586
Thanks. How exactly is this program/file used? is it a module for a Magisk (21.4) or for another manager (EX, Franco)? Is it installed differently yet?

Such a curiosity ;)

800/870 MHz clock in Adreno 650 in Oneplus 8 = GPU-level performance with the 870 Snapdragon, and average scored Antutu 8 > 655/680.000 - the same as in "new" Snapdragon 870 overall.

Install that apk file. Open, give root and press help button.
 

niklas389

Senior Member
Mar 19, 2013
143
147
Hannover
OnePlus 8T
With the latest build my screen is flickering - like it's turning off for a millisecond or so. It's not that often but enough to be noticable

Edit:
So the flickering is gone, don't know what it was but it started after the update to 10.3... But that's not what caused it

Sorry!
 
Last edited:

sellsky

Member
Mar 16, 2016
15
15
Moscow
Any chances to include TTL mangle module in iptables (CONFIG_NETFILTER_XT_TARGET_HL=y)? Those few people who need it need it badly.
 

niklas389

Senior Member
Mar 19, 2013
143
147
Hannover
OnePlus 8T
At least on the latest version it's not possible for me to install an OOS update through the settings app. Once I boot the OnePlus kernel (with and without magisk) it's working.

Attached the logs where there is the error that occurs during the update.
 

Attachments

  • 2021-04-24_12.27.zip
    133.4 KB · Views: 16

gorilla p

Recognized Contributor
Nov 30, 2011
3,698
2,854
STL
Xiaomi Mi Pad 4
OnePlus Nord N10 5G
That is not efficient due to freqbench result
I dont see how a benchmark utility can quantify the battery life saved by allowing 300mhz minimum. It is clearly not for performance. Our devices have more than enough performance, but many people are wanting to improve battery life. Perhaps it doesnt help, I cant say if it does or not, but the option is nice to have.
 

Top Liked Posts

  • There are no posts matching your filters.
  • 25
    dSDoOx.png


    Horizon Kernel for Oneplus 8 & 8 Pro & 8T

    This kernel is mostly focus on daily experience and battery consumption

    Features:

    - Rebase on CAF "LA.UM.9.12.r1-12200-SMxx50.QSSI12.0"
    - Build with proton clang 12 + polly + O3 + A55 optimizations
    - Disable kernel module and build everything inline
    - Switch to lz4 for ZRAM
    - Remove lots of debug stuff
    - Remove unused drivers
    - BBR TCP congestion algorithms support
    - Use fq as default qdisc
    - Switch to 128kB readahead ( Optimize for UFS )
    - Stop collecting I/O statistics
    - Switch to urandom
    - Use schedhorizon as default cpufreq governor
    - GPU OC 670mhz ( Same as sd865plus)
    - Wireguard support
    - CIFS support
    - KCAL & Klapse support
    - .........................................

    Download

    Since R12, custom ROMs are supported
    -OOS = Oxygen OS
    -Lineage = Custom ROMs

    You can flash it via exkm, fkm or this free and opensource tool

    Note: See the thread below if you are looking for legacy builds

    Also, here's a control center software.
    You can control game mode, 240Hz touch sampling rate and UFS Turbo Write in it.

    BUG
    - You tell me


    Contributors
    xzr467706992

    Credits
    https://github.com/xzr467706992/android_kernel_oneplus_sm8250/graphs/contributors

    Source
    https://github.com/xzr467706992/android_kernel_oneplus_sm8250

    Channel & Group
    https://t.me/horizon_op8
    6
    Changelog:

    R17
    - Merge CAF LA.UM.9.12.r1-12500-SMxx50.0
    - Update dts to LA.UM.9.12.r1-12000-SMxx50.0
    - Update ion drivers
    - Update simple lmk drivers
    - touchscreen: Adapt PM QoS usage to incoherent OnePlus code
    - Slightly optimize performance on scrolling

    R16.3
    - Rebase on CAF msm-4.19 and remove all upstream linux stable changes ( Rollback to 4.19.157 )
    ( This could solve at least deep sleep issue and avoid a lot of potential issue )
    - Inline the spin lock function family to improve performance
    - Correct capacity value of big cluster in energy model

    R16.2
    - Merge Linux 4.19.198
    - Revert back to old scheduling policy

    R16.1
    - Merge CAF "LA.UM.9.12.r1-12200-SMxx50.QSSI12.0"
    - Further optimize on scheduling
    - May fix a wlan connection problem introduced in last build

    R16
    - Linux 4.19.197
    - Merge CAF "LA.UM.9.12.r1-12000-SMxx50.0"
    - Rework scheduling policy
    - Optimize touchscreen latency and interrupt CPU usage

    R15.1
    - Linux 4.19.196
    - Fix kernel panic when screen casting with "windows connect"
    - Fix UI lagging and inaccurate network speed when a proxy is running in the background
    ( This dropped BBR and set Westwood as default congestion algorithm )
    - Move back to Simple LMK as lowmemory killer

    Controller Update
    - Add a switch for BBR congestion algorithm for those who need it

    R15
    - Merge CAF "LA.UM.9.12.r1-11800-SMxx50.QSSI12.0"
    - Fix random lags on R14.3
    - Relax performance restrictions for schedhorizon
    - Move to 10ms for WALT window size for faster response
    - Cleanup and optimize fuel gauger driver

    R14.3
    - Linux 4.19.195
    - Fix google photos video lag on custom ROMs

    R14.2
    - Linux 4.19.193
    - Move back to userspace lmkd to improve multitasking experience
    - Synchronize oneplus changes from oss

    R14.1
    - Fix kernel panic when using terminal

    R14
    - Merge CAF "LA.UM.9.12.r1-11500-SMxx50.0"
    - Merge Linux 4.19.192
    - Optimize camera launching speed

    R13.3
    - Fix kernel panic when subsystems crash

    R13.2
    - Merge Linux 4.19.191
    - Fix modem unable to reset after a crash
    - Cleanup some more oneplus codes
    - Custom build: Synchronize changes with LineageOS kernel and apply new FOD patches
    Note: If you are facing disappeared fod, just wait for your maintainer to update fod on the ROM side.

    R13.1
    - Merge Linux 4.19.190
    - Fix zram compression algorithm not setting to lz4 on kebab
    - Perform PID map reads on the little CPU cluster

    R13
    - Merge CAF "LA.UM.9.12.r1-11300-SMxx50.0"
    - Implement fuse short circuit to improve i/o performance under /sdcard
    - Ignore modem crash event

    R12.4
    - Merge Linux 4.19.186 187 188 189
    - Fix unable to apply system update on kebab
    - 20X optimize PID map reads
    - Increase vmstat interval to reduce overhead
    - Fix kernel warning when triggering tri-state-key
    - Apply some backports to vmalloc & jump label
    - Enable jump label for branch optimization
    - Enable automatic compaction for ZRAM
    - Upstream Simple LMK
    - Some more I forgot

    R12.3
    - May fix some problems with pd charging
    - Fix kernel panic when modem crash sometimes

    R12.2
    - Merge Linux 4.19.184 185
    - Implement f2fs rapid gc from arter97
    - Shorten auto-hiberate idle timer
    - May fix kernel panic when modem crash sometimes

    R12.1
    - Fix random crash & reboot ( mostly happends on 8T )

    R12
    - Merge Linux 4.19.183
    - Merge CAF "LA.UM.9.12.r1-11000-SMxx50.0"
    - Update lots of codes from oneplus oss
    - Enable UFS HPB feature
    - Add support for custom ROMs

    R11.2
    - Merge Linux 4.19.180 181 182
    - Add haptic level adjustment
    - Add back 1.2GHz for big cluster
    - Move to rewritten ashmem driver by sultan

    R11.1
    - Merge CAF "LA.UM.9.12.r1-10800-SMxx50.0"
    - Merge Linux 4.19.179
    - Fix SurfaceFlinger spams errors in logcat

    R11
    - Merge CAF "LA.UM.9.12.r1-10700-SMxx50.0"
    ( Including kernel, wlan and audio, video techpacks )
    - Merge Linux 4.19.178
    - Upstream lz4 zram algorithm
    - Hardcode swappiness to 160 for more aggressive zram strategy
    - Enable 4GB ZRAM
    - Add back 691mhz for small cluster
    - Prevent EAS from affecting cpuidle
    - Apply some more optimization patches

    R10.5
    - Merge Linux 4.19.177
    - Remove cpu cooling & devfreq cooling drivers
    ( Fix big cluster being limit at min freq sometimes when playing genshin impact )
    - Improve deep sleep time under mobile data
    - Apply some more optimization patches

    R10.4
    - Merge Linux 4.19.176
    - Update kernel devicetree to "LA.UM.9.12.r1-10000-SMxx50.0"
    - Add back lowest frequencies for big & prime cluster
    - Fix broken energy model due to inappropriate optimizations

    R10.3
    - Merge Linux 4.19.175
    - Update display panel commands from qssi-user-11-RP1A.201005.001-2102011801-release-keys

    R10.2
    - Fix cyberpunk theme
    - Fix cloud service on hydrogen os

    R10.1
    - Merge Linux 4.19.174
    - Cleanup and optimize defconfig
    - Simplify dtbo building
    - Reduce zip size ~ 30%

    R10
    - Merge CAF "LA.UM.9.12.r1-10300-SMxx50.0"
    ( Including kernel, wlan and audio, display techpacks )
    - Cleanup unused debug codes in wlan drivers
    - Don't allow userspace trigger process reclaim
    - Remove cpuidle sleep_disable usage in haptic drivers, and remove sleep_disable node from userspace.

    R9.3
    - Merge Linux 4.19.173
    - Ship builds with zips

    R9.2.1
    - Fix blurred screen and crashes on some Oneplus 8P when playing videos with MEMC on.
    - Oneplus 8 Pro Only

    R9.2
    - Merge Linux 4.19.172
    - Fix ufs workqueue overheads
    - Optimize memcpy, memmove, memcmp, crc32, checksum, xor libraries
    - Affine unbound workqueues to little CPUs by default
    - Make the devfreq monitor workqueue high priority
    - Add automatic memory compaction mechanism
    - More I forgot
    - Theres no change in dtbo compared to R9.1, so no need to update

    R9.1
    - Merge Linux 4.19.168 169 170 171
    - Move to simplified frequency table
    - Fix wifi not working on new Chinese version of Oneplus 8T
    - Don't limit CPU frequency when gaming
    - Optimize GPU scheduling under high refresh rate
    - Theres no change in dtbo compared to R9, so no need to update

    R9
    - Merge CAF "LA.UM.9.12.r1-10000-SMxx50.0"
    ( Including kernel, wlan and audio, video, display techpacks )
    - Merge Linux 4.19.166
    - Merge Linux 4.19.167
    - Add support for checking cpu voltage via kernel logs
    - Theres no change in dtbo compared to R8.4, so no need to update

    R8.4
    - Merge Linux 4.19.165
    - Disable ZRAM & SWAP
    - Theres no change in dtbo compared to R8.3, so no need to update

    R8.3
    - Merge Linux 4.19.164
    - Theres no change in dtbo compared to R8.2, so no need to update

    R8.2
    - Don't force run display & touchscreen irqs and threads on big cluster to save power
    - Remove max boost for little cluster on switching apps to save power
    - Introduce dynamic cpuset for display group, migrating tasks to big cluster on switching apps to improve smoothness
    - Fix lags when little cluster is under heavy load
    - Relax touchscreen cpu latency requirement to save power
    - Relax UFS cpu latency requirement to save power
    - Align CPU latency requirements with kona C-States
    - Remove iowait boost from schedhorizon
    - Don't force 4k buffer allocations for ION
    - Update Magisk in the image to v21.2
    - Fix force 240hz fails after exiting a game
    - Theres no change in dtbo compared to R8.1, so no need to update

    R8.1
    - Merge CAF "LA.UM.9.12.r1-09500-SMxx50.0"
    ( Including kernel, wlan and audio, video, display techpacks )
    - Build oneplus param read/write drivers, cyberpunk theme should work now
    - Optimize pm_qos usage for touchscreen drivers on OP8 & OP8P
    - Re-enable pm_qos usage for UFS drivers
    - Use 100Hz timer frequency
    - Never allow irq affine on more than one cpu
    - Optimize pm_qos framework
    - Optimize pm_qos usage for UFS drivers
    - Optimize cpuidle framework
    - Force run important display & touchscreen & lmk irqs and threads on big cluster
    - Cleanup codes in kgsl & display techpack and optimize pm_qos usage
    - Move to rewritten iommu & ion drivers
    - ........... ( Check github for details )
    - Theres no change in dtbo compared to R7.2, so no need to update

    R7.2
    - Merge Linux 4.19.163
    - Theres no change in dtbo compared to R7.1, so no need to update

    R7.1
    - Merge Linux 4.19.162
    - Re-enable lpm idle prediction
    - Move to fq_codel qdisc
    - Enable TCP ECN negotiation by default
    - Don't force enable panel ULPS suspend
    - Theres no change in dtbo compared to R7, so no need to update

    R7
    - Merge CAF "LA.UM.9.12.r1-09300-SMxx50.0"
    ( Including kernel and audio, display techpacks and wlan drivers )
    - Merge Linux 4.19.161
    - Build and enable vDSO32
    - Don't force offline big & prime cluster on screen off ( Fix fp reject and lags on AOD )
    - Move back to mem deep sleep mode
    - Don't force 240Hz touchpanel sample rate on Oneplus 8T & 8Pro ( But you can still enable it by writing 1 to /proc/touchpanel/force_game_switch_enable )
    - Cleanup rx_wakelock codes in wlan drivers
    - Force enable ULPS(Ultra Low Power State) and ULPS suspend for display panel
    - Force allow panel phy power off on idle
    - Re-align gpu idle timeout & input boost duration with display panel ULPS delay
    - Enable Clang ThinLTO optimizations
    - Lower the priority of f2fs gc task
    - Disable expedited RCU grace periods for powersave
    - Remove display ramdump memory region (free 8MB of RAM)
    - Disable cpuidle idle prediction feature for powersave
    - Implement fast refcount checking for arm64
    - Prefetch operands to speed up atomic operations
    - More I forgot
    - Theres no change in dtbo compared to R6.4, so no need to update

    R6.4
    - Merge linux 4.19.160
    - Theres no change in dtbo compared to R6.3, so no need to update

    R6.3
    - Merge linux 4.19.159
    - Theres no change in dtbo compared to R6.2, so no need to update

    R6.2
    - Merge linux 4.19.158
    - Move to s2idle deep sleep mode
    - Apply some touchscreen drivers' simplifying and optimizations
    - Theres no change in dtbo compared to R6.1, so no need to update

    R6.1
    - Update Proton Clang version

    dtbo image has been updated:
    - Fix random kernel panic caused by freeing too much reserved memory

    R6
    - Merge Linux 4.19.157
    - Merge CAF “LA.UM.9.12.r1-09000-SMxx50.0”
    ( Include kernel, wlan and audio, video, display techpacks )
    - Update wireguard to v1.0.20201112
    - Merge Simple Lmk update
    - Force 240Hz touchpanel sample rate for Oneplus 8 Pro & Oneplus 8T
    - Touchpanel sample rate will no longer drop after switching to 60Hz screen refresh rate on Oneplus 8T & Oneplus 8Pro
    - Update magisk to v21.1

    dtbo image has been updated:
    - Remove unused reserved memory regions (~12MB)

    R5.5
    - Merge Linux 4.19.156
    - Move to Simple Lmk as lowmemorykiller
    - Disable userspace lmkd
    - Enable userspace CNTVCT_EL0 access for vDSO to accelerate request
    - Theres no change in dtbo compared to R5.4, so no need to update.

    R5.4
    - Merge Linux 4.19.155
    - Theres no change in dtbo compared to R5.3, so no need to update.

    R5.3
    - Fix cpu cores oscillationally on/off on aod fingerprint pressing
    - Fix logic of screen on/off detection
    - Improve speed of aod fingerprint
    - Theres no change in dtbo compared to R5.2, so no need to update.

    R5.2
    - Optimize logic of "Optimize fingerprint speed on aod mode"
    - Fix priority of fingerprint hal not changing successfully
    - Optimize smoothness when entering recent apps
    - Optimize smoothness when switching between apps
    - Optimize app launching speed
    - Theres no change in dtbo compared to R5.1, so no need to update.

    R5.1
    - Optimize fingerprint speed on aod mode
    - Theres no change in dtbo compared to R5, so no need to update.

    R5
    - Merge Linux 4.19.154
    - Fix camera on Oneplus 8T
    - Speed up mremap by 20x on large regions
    - Disable Privileged Access Never emulation, speed up syscalls 2x
    - Theres no change in dtbo compared to R4, so no need to update.

    R4
    - Merge Linux 4.19.153
    - Merge CAF "LA.UM.9.12.r1-08900-SMxx50.0"
    ( Including kernel and wifi drivers, audio, video, display techpacks )
    - Update boot image base to OOS OB3 for OP8 & OP8P
    - Camera on 8T havent been fixed on this build
    - Theres no change in dtbo compared to R3, so no need to update.

    R3
    - Merge oneplus oss update
    - Add support for Oneplus 8T
    - Enable 1.2GHz input boost for big cluster
    - Remove schedhorizon governor 1.6GHz(prime) 1.2GHz(big) efficient_freq
    - Allow foreground apps migrate to big cluster on touch
    - Relax boost duration on no input to 3s

    UI Bench Result
    - Jitter: ~0.3ms -> ~0.2ms
    - Total duration: ~4ms -> ~3ms

    - Dtbo image has been updated, reflashing is recommended

    R2
    - Merge Linux 4.19.152
    - Merge CAF "LA.UM.9.12.r1-08600-SMxx50.0"
    - Update wifi drivers to "LA.UM.9.12.r1-08600-SMxx50.0"
    - Update display & video techpacks to "LA.UM.9.12.r1-08600-SMxx50.0"
    - Theres no change in dtbo compared to R1.1, so no need to update.

    R1.1
    - Merge Linux 4.19.151
    - Theres no change in dtbo compared to R1, so no need to update.

    R1
    - Stable release is here
    ( Coz no one reports bug to me lol )
    - Merge Linux 4.19.150
    - Enable ntfs & exfat drivers
    - Theres no change on dtbo image compared to B2, so no need to update

    B2
    - Merge Linux 4.19.149
    - Update audio & video & display techpacks to CAF "LA.UM.9.12.r1-08300-SMxx50.0"
    - Add Klapse support
    ( Now you can turn brightness )
    - Disable unused arm64 errata
    - Disable wireless charging drivers for oneplus8
    - Disbale iris drivers for oneplus8
    - Start building dtbo image, flash it as you want.
    ( It could provide node /proc/touchpanel/glove_mode_enable for glove mode, you can write 1 to enable it )

    B1
    - Initial bring up
    4
    you have an incredibly clean, and well-optimized kernel. and it isnt barebones. incredible, sir. incredible. fantastic work. thank you for this. keep it up.
    3
    Download legacy builds (Before R9.3)
    https://dl.akr-developers.com/?dir=oneplus/horizon_kernel/R/images

    As we don't have a perfect TWRP for OOS 11 for now, I only provide boot images.
    op8=Oneplus 8 boot image
    op8p=Oneplus 8 Pro boot image
    dtbo=dtbo partition image
    Bx=Beta X

    Flashing dtbo is optional but recommended
    Note: Video frame insertion may be broken if you don't flash dtbo on Oneplus 8 Pro
    ( Report from a H2OS user )
    Also it could provide node /proc/touchpanel/glove_mode_enable for glove mode, you can write 1 to enable it

    Flash the images via fastboot
    fastboot flash boot xxx
    fastboot flash dtbo xxx
    Google for it if you don't know that

    Those boot images are tested on OOS OB3 & H2OS OB4.
    2
    Works in Android 11 full stable (uploaded in Franco Menager).

    However, I believe that the GPU clock speed could be higher than 670 MHz. Relax, these 750 MHz would be fully stable. And even 800 MHz. Maybe the author will consider adding Adreno clocks higher than 670 MHz to the current state of the kernel? e.g. 670, 700, 750 and 800 MHz. Although there is a kernel where you can set 900 MHz on the GPU (SmurfKernel 1.1.0) but here it is not guaranteed 100% stability.

    OnePlus 8 12/256 Antutu 8.5.2 scored:
    You can overclock it yourself with this tool