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

Search This thread

Kris Chen

Senior Member
Jan 10, 2013
697
294
Taoyuan
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
5
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: 140
  • asus-rog-phone-3-antutu-medium.png
    asus-rog-phone-3-antutu-medium.png
    352 KB · Views: 130
  • motorola-edge-s-snapdragon-870-antutu.jpg
    motorola-edge-s-snapdragon-870-antutu.jpg
    114.9 KB · Views: 122
Last edited:

xzr467706992

Senior Member
Jul 16, 2016
146
483
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
 
  • Like
Reactions: bowlandspoon

adonim1985

Member
Sep 24, 2017
43
5
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: 124
  • Snap870_antutu8_edgeS.png
    Snap870_antutu8_edgeS.png
    897.9 KB · Views: 122
Last edited:

xzr467706992

Senior Member
Jul 16, 2016
146
483
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.
 
  • Like
Reactions: niklas389

niklas389

Senior Member
Mar 19, 2013
116
110
Hannover
onedrive.live.com
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:

niklas389

Senior Member
Mar 19, 2013
116
110
Hannover
onedrive.live.com
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: 5

gorilla p

Recognized Contributor
  • Nov 30, 2011
    3,593
    2,806
    Milwaukee
    OnePlus 8
    OnePlus 8 Pro
    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.
    • 1
      @xzr467706992 Can I flash this over another Custom Kernel or do I have revert back to stock kernel first?

      Yes you can
    • 13
      dSDoOx.png


      Horizon Kernel for Oneplus 8 & 8 Pro

      This kernel is mostly focus on daily experience and battery consumption

      Features:
      - Rebase on CAF “LA.UM.9.12.r1-11500-SMxx50.0”
      - Merge linux stable 4.19.195
      - 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
      - Set BBR as default congestion algorithms
      - Westwood 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
      3
      Changelog:

      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
      2
      I use these commands in bootloader.

      fastboot flash boot_a op8p_R8.1.img
      fastboot flash dtbo_a dtbo_R8.1.img
      fastboot flash boot_b op8p_R8.1.img
      fastboot flash dtbo_b dtbo_R8.1.img
      fastboot reboot

      :D
      1
      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.
      1
      @xzr467706992 Can I flash this over another Custom Kernel or do I have revert back to stock kernel first?

      Yes you can