[r70] arter97 kernel for OnePlus 7 series

Search This thread

arter97

Recognized Developer
Oct 14, 2012
3,767
33,780
23
Seoul
arter97.png

arter97 kernel for OnePlus 7 series running OxygenOS​

/* Features */

Supports OnePlus 7, OnePlus 7 Pro, OnePlus 7T and OnePlus 7T Pro
Fully rebased kernel without unnecessary OnePlus' code
Latest CAF msm-4.14 kernel fully merged
Using zswap + vnswap to replace zram
- Ditched conventional zram swap approach for more efficient memory operations
- Backported zsmalloc memory allocator from mainline
- Backported zswap compressed page cache from mainline
- Samsung's Galaxy S9 memory modifications merged for better swapping efficiency tuned for Android
Use CONFIG_HZ = 300
Optimized power configuration
BBR as the default TCP network congestion control
vDSO 32 patches to improve 32-bit performance
vmalloc backported from mainline to improve memory allocation performance
Latest Linux 4.14 subversion merged
DM-verity fully disabled (you can remount /vendor to R/W properly)
Timer optimizations
Additional power savings applied to the display panel
RTL8152/8153 USB LAN adapter support
Passes SafetyNet
Built with -O3 speed optimizations
Built with latest GCC
UFS optimizations
Entropy hook on storage removed
Latest mainline f2fs support with GC fixes
CFQ I/O scheduler backported from mainline
Systemless installation (the kernel doesn't touch /system or /vendor)
Modules support disabled for lighter kernel
WireGuard support
Removed RTB(interrupt) logging entirely
No VLAs(info)
A whole lot more...

/* Details */

- Fully rebased kernel without unnecessary OnePlus' code -

This kernel is not based on stock OxygenOS kernel source provided by OnePlus. Instead, it’s based on the latest and greatest Qualcomm has to offer. Only the necessary parts from the OnePlus kernel has been cherry-picked, such as OnePlus 7 specific device drivers.

This brings 2 major changes: less debugging code and an overall lighter kernel.

There are miscellaneous changes made by OnePlus that are supposed to maximize utilization of system memory. But seeing how it’s implemented(heavily relying on zram and a physical writeback swapfile), I decided to remove it entirely.

Users are recommended to disable the “RAM Boost” feature from Settings > System > RAM Boost.

Due to the completely different base, the memory management with this kernel will be drastically different from other kernels.

- Latest CAF msm-4.14 kernel fully merged -

This kernel is also constantly merging the latest Qualcomm Android 4.14 kernel. This tag contains more up-to-date changes from Qualcomm than the regular Snapdragon 855 tag(sm8150).

- Use CONFIG_HZ = 300 -

This changes the context switching interval from 10ms to 3.33ms. Pixel used this for years and Google recommends other vendors to do the same for less jitter.

This is even more important on displays with higher refresh rates.

- Optimized power configuration -

Stock OnePlus configuration forces display-related processes to use the Gold cluster(formerly known as big cores) exclusively.
This configuration brings a huge power regression since it makes every frame dispatch to wake up and use Gold cores.

This kernel resets this profile to use the configuration Google recommends, which is to use the Silver cluster(formerly known as LITTLE cores) exclusively instead. No performance penalty was noticed with this change while massively improving battery life.

- BBR as the default TCP network congestion control -

BBR is a (relatively)new TCP congestion control developed by Google, and it’s regarded as one of the best things you could do to your network configuration. You can find its benefits easily just by Googling BBR. I’ve been personally running BBR for months on various Linux machines including the server running arter97.com and it’s been great.

Now that our Android kernel is running v4.14, I’ve enabled BBR and backported other BBR changes from mainline.

/* Notice */

5G variant is unsupported.
Only OxygenOS is supported, but it is likely that the kernel will work with other ROMs. Though you may encounter minor issues.
Feel free to tip me which commits are needed to fix other ROMs.

/* f2fs */

OnePlus 7T and OnePlus 7T Pro users cannot use f2fs without involving heavy and risky repartitioning operations due to Dynamic Partitions.
r61+ allows using f2fs on OnePlus 7T and OnePlus 7T Pro.

This kernel fully supports f2fs for /data and I encourage everyone to use f2fs with my kernel for better performance.
See here as to why you might want f2fs.

The process differs with T and non-T series.

/* T variants */


The kernel now detects whether the userdata is in f2fs format and patches fstab on boot for OnePlus 7T and 7T Pro users during boot.
This is done in a volatile manner, which means your system files are not modified and using other kernels will revert the effect.
This is half of the puzzle.

The other half of the puzzle is to getting userdata partition into the f2fs format.
Due to lack of a proper recovery for the OnePlus 7T, I patched up f2fs-tools to support formatting while the Android is up and running.
You can use Franco Kernel Manager's flasher to flash the live-formatter.

This obviously removes all data on the device.
Please make sure your data is fully backed-up.


f2fs live-formatter:
https://arter97.com/browse/f2fs/liveformat

Existing f2fs users won't be affected by any of these changes.
Note that the OnePlus 7T and 7T Pro's OxygenOS has an issue handling FBE(File-Based Encryption) with f2fs(which is presumably why they left it out while the OnePlus 7 Pro had it), and encryption will be disabled when you use my kernel's f2fs live-patching feature.

Without encryption, your entire data will be in danger if you lose your device.
Please use f2fs if you understand this trade-off.
(Non-T series users can safely use f2fs with encryption.)


f2fs installation steps:
1. Download and install my kernel.
2. Download and install f2fs live-formatter.

OxygenOS OTA steps:
1. Install OTA and DO NOT reboot.
2. Download and install my kernel using Franco Kernel Manager.
3. Reboot.

Re-format into ext4 steps:
1. Use stock recovery and perform a factory reset.

Re-format into f2fs steps:
1. Use stock recovery and perform a factory reset and turn the userdata back to ext4.
2. Reboot to Android.
3. Download and install f2fs live-formatter using Franco Kernel Manager.


/* Non-T variants */


TWRP is not integrated to the kernel.
Please use a TWRP installer to install TWRP on top of my kernel.

To use f2fs, simply format /data to f2fs with TWRP.

Afterwards, flash f2fs-optimize.zip from http://arter97.com/browse/f2fs/optimize

There’s no need to flash separate zip files for replacing f2fs-tools or fstab.


/* Disclaimer */

Your warranty is now void.
I am not responsible for bricked devices, dead SD cards,
thermonuclear war, or you getting fired because the alarm app failed. Please
do some research if you have any concerns about features included in this kernel
before flashing it! YOU are choosing to make these modifications, and if
you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.

/* Thanks to */

TheCrazyLex
xboxfanj
kdrag0n
nathanchance - for android-linux-stable

/* Instructions */

1. Read the above. Please.
2. Flash the zip file from your existing TWRP recovery.
2.1. FK Kernel Manager also works for installation. EXKM is unsupported and reported to brick the device due to installation failures.

/* Downloads and links */

r30 and up only supports Android 10
arter97.com
Kernel source

XDA:DevDB Information
arter97 kernel for OnePlus 7, Kernel for the OnePlus 7 Pro

Contributors
arter97
Source Code: https://github.com/arter97/android_kernel_oneplus_sm8150

Kernel Special Features:

Version Information
Status: Stable

Created 2019-07-28
Last Updated 2020-10-18
 

arter97

Recognized Developer
Oct 14, 2012
3,767
33,780
23
Seoul
/* Changelog */

r70

zswap + vbswap replaced with zram

Commits backported from mainline to improve lz4 performance (better memory performance)
LA.UM.8.1.r1-17100-sm8150.0 merged
Linux v4.14.231 merged
Wi-Fi drivers updated to 5.2.03.32G
2021-04-05 security patch merged
RTL8152/8153 drivers updated
Merged optimizations from Sultan

r65

Enabled SECCOMP to address recent security vulnerability issue
LA.UM.8.1.r1-16900-sm8150.0 merged
Linux v4.14.226 merged
Wi-Fi drivers updated to 5.2.03.32E
2021-03-05 security patch merged
WireGuard updated to v1.0.20210219
Merged mainline f2fs fixes
Merged optimizations from Sultan

r64
Merged mmap/mremap fixes from upstream to fix some Chinese apps causing reboots
Merged mremap optimization from upstream (~19x speed up)

r63
mmap/mremap, TLB invalidation, mmu_gather backported from mainline for a major performance boost
(Including https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.10-Mremap-Optimization )
Disabled PG table mapping for swap memory allocator (increased performance for 64-bit)
Saved 48 MB of RAM by removing unused reserved regions
Applied MAC fall-through patch for Chinese users
LA.UM.8.1.r1-16300-sm8150.0 merged
Linux v4.14.212 merged
Wi-Fi drivers reverted to 5.2.03.31L to fix compatibility issues
2020-12-05 security patch merged
WireGuard updated to v1.0.20201112
Merged OnePlus kernel changes

r62
A major memory management issue fixed for 6GB variants
A scheduler patch from Pixel merged to improve power consumption
Reverted drm changes from July to fix intermittent frame drops (mostly noticeable from app open/close animations)
Linux v4.14.202 merged (includes a fix for critical Bluetooth vulnerability "BleedingTooth")
Thanks to @idkwhoiam322 and @NTLinhHaHa for this release

r61
SELinux is now set to enforcing
f2fs fstab live-patching implemented to allow f2fs on OnePlus 7T and 7T Pro users
Memory swap's aggressiveness tuned to reflect the device's RAM size
Wi-Fi driver backported from LA.UM.9.12.r1-08400-SMxx50.0
(The version jumped from 5.2.03.31A to 5.2.022.4J)
Merged LE.UM.3.3.2-09000-SDX55 tag
OnePlus brain service is disabled in a cleaner manner
Disabled f2fs' background GC

r60
Applied a fix for rare random reboots since r57
The entire SELinux subsystem backported from mainline Linux for better performance and efficiency
(Magisk users must use Magisk v21.0 or the kernel will not boot)

LA.UM.8.1.r1-16000-sm8150.0 merged
Linux v4.14.200 merged
Wi-Fi drivers updated to 5.2.03.31A
Now built with GCC 10.2
2020-09-05 security patch merged
WireGuard updated to v1.0.20200908
Sultan's Simple LMK updated
Merged optimizations from kdrag0n
Latest f2fs-stable merged

r58
LA.UM.8.1.r1-15400-sm8150.0 merged
Linux v4.14.188 merged
Wi-Fi drivers updated to 5.2.03.27R
Minor trivial optimizations

r57
Linux v4.14.186 merged
Wi-Fi drivers updated to 5.2.03.27K
LE.UM.4.3.3.r1-00500-SDX55 tag merged
Minor memory optimization to the graphics drivers (by Yaro330)

r56
Merged OnePlus kernel changes to support optimized charging
Bunch of memory allocations from various subsystems were reworked to perform much better
Now built with GCC 10.1
2020-06-05 security patch merged
Linux v4.14.183 merged
Latest Qualcomm's Android 4.14 kernel merged
Wi-Fi drivers updated to 5.2.03.26Q
WireGuard updated to v1.0.20200520
Sultan's Simple LMK updated
Merged optimizations from kdrag0n
Latest f2fs-stable merged

r54
Switched to Sultan's Simple LMK to fix lags and stalls on memory-pressured scenarios
Disabled scheduler debug for better performance
Reduced memory allocations on network sockets
Reworked and optimized vnswap (renamed to vbswap)
Reworked Wi-Fi configuration
USB UASP enabled
Minor fixes to previous memory optimization commits
LV.AU.0.2.0-01800-gen3meta.0 merged
2020-03-05 security patch merged
Linux v4.14.173 merged
Latest Qualcomm's Android 4.14 kernel merged
Wi-Fi drivers updated to 5.2.03.22Q

r52
Fixed slow boot issue on OnePlus 7T series

r51
Fixed Wi-Fi not working on some devices due to MAC address loading failures
Backported Android ion driver from Snapdragon 865 kernel
Latest f2fs-stable merged
Linux v4.14.170 merged
Latest Qualcomm's Android 4.14 kernel merged
Wi-Fi drivers updated to 5.2.03.19P

r50
Beta details
Cleanly rebased version
OnePlus performance boost hacks removed
Random reboots with WireGuard fixed
Random reboots with f2fs encryption fixed
Added vibration level control (by flar2)
Few patches from LE.UM.4.1.1-02910-sa515m merged including scheduler improvements
LV.AU.0.2.0-00810-gen3meta.0 merged
Latest OnePlus changes merged
Latest f2fs-stable merged
Linux v4.14.163 merged
Latest Qualcomm's Android 4.14 kernel merged
Wi-Fi drivers updated to 5.2.03.18B

r40
OnePlus 7T and OnePlus 7T Pro support added
Added support for flashing via FK Kernel Manager
Major optimizations to touch panel drivers for lower overheads
Merged a zswap patch for faster lookups - better memory swap performance
Disabled unnecessary kernel log writeback debug feature
Linux v4.14.156 merged
Latest Qualcomm's Android 4.14 kernel merged
(LA.UM.8.1.r1-12200-sm8150.0, LA.UM.8.11.r1-01800-NICOBAR.0, LA.UM.8.9.r1-06500-SM6xx.0)
Wi-Fi drivers updated to 5.2.03.15T
exFAT drivers added
WireGuard updated to 20191127

r33
LA.UM.8.1.r1-10700-sm8150.0 merged

r32
Ported patches from Razer Phone 2 to improve touchboost and general performance (by TheCrazyLex)
Linux v4.14.151 merged
Ported patches from LA.UM.8.9.r1-05300-SM6xx.0
Wi-Fi drivers updated to 5.2.03.14L
Memory management patches applied from kdrag0n kernel

r31
Integrated Google Camera AUX mod
(No need to use a separate Magisk Module)
LA.UM.8.1.r1-10300-sm8150.0 merged
Linux v4.14.150 merged
WireGuard updated to 20191012
Backported patches from LA.AU.0.0.2.c1-07610-gen3meta.0

r30
Rebased the kernel for Android 10 (based on LA.UM.8.1.r1-09500-sm8150.0)
Applied zswap + vnswap for replacing zram
Wi-Fi drivers updated to 5.2.03.13O
Linux v4.14.148 merged
Latest OnePlus changes merged
Latest f2fs-stable merged
Backported BBR TCP congestion control patches (by kdrag0n)
Switched to AnyKernel3
r30 won't work with the OnePlus 7T

r25

Linux v4.14.141 merged
Merged additional f2fs bug-fixes
Kernel download size reduced
LA.AU.0.0.1-15710-gen3meta.0 merged as an extension of SDX55 merge (contains various patches including scheduler enhancements)
GPU runtime overhead reduced
Garbled sound with type-C wired headphones fixed
General stability improvements

r24
Fixed a display-related patch introduced in r20 that may cause severe memory leakage and freezes

r23
Fixed yet another recent f2fs rapid GC changes that caused an indefinite wakelock
Reverted TCP backports and cherry-picked relevant BBR commits to fix rare random reboots

r22
Fixed a recent f2fs rapid GC commit that caused an indefinite wakelock
5G support removed due to improper radio support
Linux v4.14.138 merged
Switched to GCC 9.2.0

r21
Merged some performance improvement patches from kdrag0n

r20
Random reboots due to improper TCP backports fixed (thanks to freak07)
Random reboots due to f2fs rapid GC fixed (thanks to ab123321)
Nightscape fixed
Booting issues with OnePlus 7 non-Pro fixed
Support for OnePlus 7 Pro 5G added

Linux v4.14.137 merged
LA.UM.7.1.r1-15800-sm8150.0 merged
Wi-Fi drivers updated to 5.2.03.11J
Latest OnePlus changes merged
Latest f2fs-stable merged with correct encryption patch
Properly disabled userspace lmkd
Qualcomm RmNet extensions added
Enabled power efficient workqueues
Bunch of memory allocations from various subsystems were reworked to perform much better (thanks to Sultan)

r1
Initial release
 
Last edited:

NateDev

Senior Member
  • Aug 18, 2016
    723
    154
    Mississauga
    OnePlus 7 Pro
    Wow, very interesting changelog, will be interesting to see how it performs and what others think!

    Conflicting decisions between kernel devs it seems on some features, like ZRAM for example.

    Looking forward to flashing :)
     

    noobhero

    Senior Member
    Mar 17, 2010
    911
    144
    Asop or OOS only kernel?

    /* Notice */

    Both OnePlus 7 and 7 Pro is supported.
    Only OxygenOS is supported, but it is likely that the kernel will work with other ROMs. Though you may encounter minor issues.
    Feel free to tip me which commits are needed to fix other ROMs.


    Android Q beta is not supported and I’ll not spend my time adding support for it.
    Do not ask for premature Android Q beta support.

    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -




    thank you @arter97 ... finally ... its been too long... thank you! :good: kamsahamnida
     

    Top Liked Posts

    • There are no posts matching your filters.
    • 14
      r70 is up and it's a major release.

      Most notable thing is zswap + vbswap now being replaced with zram.
      zram is backported from v5.12 kernel and customized for efficiency.

      The new deduplication feature from zram will save hundreds of MBs of RAM, and it's customized to use the crc32c as the hashing algorithm as it's hardware-accelerated.

      Also, writeback is customized and enabled to offload idle pages (i.e., really, really unused RAM) to the internal storage. As it's extremely slow to bring pages back from UFS, writeback code works quite conservatively. It'll start to writeback pages that hasn't been used for a day or two.
      After 4 days of my personal usage, about 500 MBs are offloaded to the internal storage. IOW, I now have 500 MB more free RAM to enjoy.
      Writeback will be done to the "swap" partition on the 7T series, or the inactive system slot. If your phone is using the "a" slot, writeback will be done to "system_b" partition.

      TL;DR - r70 will save hundreds of MBs of RAM.

      r70

      zswap + vbswap replaced with zram

      Commits backported from mainline to improve lz4 performance (better memory performance)
      Compiler updated to GCC 10.3
      LA.UM.8.1.r1-17100-sm8150.0 merged
      Linux v4.14.231 merged
      Wi-Fi drivers updated to 5.2.03.32G
      2021-04-05 security patch merged
      RTL8152/8153 drivers updated
      Merged optimizations from Sultan
      5
      R70 version for a11 or a10?
      r70a (beta) was a10, this here for sure either.

      porting all stuff that he did to a11, requires many time and effort... and testings etc...
      an i don't think that he noted everything down that he did with the a10 kernel.
      Usually you forget or don't note anything, if you are time limited.

      And he wrote that he is very time limited lastly, so in the end, don't expect an a11 kernel anytime soon.
      Give him simply some time, as we all have a real life and he does it in his free time and not as main work.

      So just have some pation. If you look clearly to the facts, aside from wanting just to have something new, a11 doesn't brings any exiting features that are that extremely important to get immediately an a11 kernel 😂

      But arter should/could, maybe will, i can't talk for him, provide maybe some alpha/beta kernels, which he can do that doesn't costs a ton of time.
      By the way, the kernel sources of a11 that oneplus provided are more as crappy either.

      It's not 2012, where you had 500 devs, and random people, posting every second day, a new rom or daily a new kernel 😂
      I don't know why the community died so much since then, but we need to keep all the developers that we have left and still doing some stuff like gold.
      So this doesn't only goes for arter, it's for everyone else that still left too. Keep that in mind guys.

      However, give that guy some time, be happy with what you got and have fun everyone 😘
      3
      What astonishing battery backup on r70a. Impressed. It took almost 2 days to settle battery backup. It was draining fast before. View attachment 5287359View attachment 5287361
      I don't think these stats are even legit.
      You just starring at the display or what Apps you use ?
      1
      Unlocking bootloader will put Widevine into L3 (standard def)
      Not if you're on OOS 11.
      Edit: guess that doesn't matter here since arter is only for OOS10
      1
      Make a phone call, put the phone close to your ear, in the corner of your eye you should see the screen go black (If it's working).
      Hmmm, doesn't look like it 🤷‍♀️

      I installed 2 different apps from the Playstore to test sensors and the proximity test didn't work with either of them. No idea how to test it in real life use though.

      OK, so those test apps don't get it working (well maybe 1 time out of 10 tests lol) but during a call it works every time.

      So yes - I do declare that the proximity sensor works (y) :)
    • 166
      arter97.png

      arter97 kernel for OnePlus 7 series running OxygenOS​

      /* Features */

      Supports OnePlus 7, OnePlus 7 Pro, OnePlus 7T and OnePlus 7T Pro
      Fully rebased kernel without unnecessary OnePlus' code
      Latest CAF msm-4.14 kernel fully merged
      Using zswap + vnswap to replace zram
      - Ditched conventional zram swap approach for more efficient memory operations
      - Backported zsmalloc memory allocator from mainline
      - Backported zswap compressed page cache from mainline
      - Samsung's Galaxy S9 memory modifications merged for better swapping efficiency tuned for Android
      Use CONFIG_HZ = 300
      Optimized power configuration
      BBR as the default TCP network congestion control
      vDSO 32 patches to improve 32-bit performance
      vmalloc backported from mainline to improve memory allocation performance
      Latest Linux 4.14 subversion merged
      DM-verity fully disabled (you can remount /vendor to R/W properly)
      Timer optimizations
      Additional power savings applied to the display panel
      RTL8152/8153 USB LAN adapter support
      Passes SafetyNet
      Built with -O3 speed optimizations
      Built with latest GCC
      UFS optimizations
      Entropy hook on storage removed
      Latest mainline f2fs support with GC fixes
      CFQ I/O scheduler backported from mainline
      Systemless installation (the kernel doesn't touch /system or /vendor)
      Modules support disabled for lighter kernel
      WireGuard support
      Removed RTB(interrupt) logging entirely
      No VLAs(info)
      A whole lot more...

      /* Details */

      - Fully rebased kernel without unnecessary OnePlus' code -

      This kernel is not based on stock OxygenOS kernel source provided by OnePlus. Instead, it’s based on the latest and greatest Qualcomm has to offer. Only the necessary parts from the OnePlus kernel has been cherry-picked, such as OnePlus 7 specific device drivers.

      This brings 2 major changes: less debugging code and an overall lighter kernel.

      There are miscellaneous changes made by OnePlus that are supposed to maximize utilization of system memory. But seeing how it’s implemented(heavily relying on zram and a physical writeback swapfile), I decided to remove it entirely.

      Users are recommended to disable the “RAM Boost” feature from Settings > System > RAM Boost.

      Due to the completely different base, the memory management with this kernel will be drastically different from other kernels.

      - Latest CAF msm-4.14 kernel fully merged -

      This kernel is also constantly merging the latest Qualcomm Android 4.14 kernel. This tag contains more up-to-date changes from Qualcomm than the regular Snapdragon 855 tag(sm8150).

      - Use CONFIG_HZ = 300 -

      This changes the context switching interval from 10ms to 3.33ms. Pixel used this for years and Google recommends other vendors to do the same for less jitter.

      This is even more important on displays with higher refresh rates.

      - Optimized power configuration -

      Stock OnePlus configuration forces display-related processes to use the Gold cluster(formerly known as big cores) exclusively.
      This configuration brings a huge power regression since it makes every frame dispatch to wake up and use Gold cores.

      This kernel resets this profile to use the configuration Google recommends, which is to use the Silver cluster(formerly known as LITTLE cores) exclusively instead. No performance penalty was noticed with this change while massively improving battery life.

      - BBR as the default TCP network congestion control -

      BBR is a (relatively)new TCP congestion control developed by Google, and it’s regarded as one of the best things you could do to your network configuration. You can find its benefits easily just by Googling BBR. I’ve been personally running BBR for months on various Linux machines including the server running arter97.com and it’s been great.

      Now that our Android kernel is running v4.14, I’ve enabled BBR and backported other BBR changes from mainline.

      /* Notice */

      5G variant is unsupported.
      Only OxygenOS is supported, but it is likely that the kernel will work with other ROMs. Though you may encounter minor issues.
      Feel free to tip me which commits are needed to fix other ROMs.

      /* f2fs */

      OnePlus 7T and OnePlus 7T Pro users cannot use f2fs without involving heavy and risky repartitioning operations due to Dynamic Partitions.
      r61+ allows using f2fs on OnePlus 7T and OnePlus 7T Pro.

      This kernel fully supports f2fs for /data and I encourage everyone to use f2fs with my kernel for better performance.
      See here as to why you might want f2fs.

      The process differs with T and non-T series.

      /* T variants */


      The kernel now detects whether the userdata is in f2fs format and patches fstab on boot for OnePlus 7T and 7T Pro users during boot.
      This is done in a volatile manner, which means your system files are not modified and using other kernels will revert the effect.
      This is half of the puzzle.

      The other half of the puzzle is to getting userdata partition into the f2fs format.
      Due to lack of a proper recovery for the OnePlus 7T, I patched up f2fs-tools to support formatting while the Android is up and running.
      You can use Franco Kernel Manager's flasher to flash the live-formatter.

      This obviously removes all data on the device.
      Please make sure your data is fully backed-up.


      f2fs live-formatter:
      https://arter97.com/browse/f2fs/liveformat

      Existing f2fs users won't be affected by any of these changes.
      Note that the OnePlus 7T and 7T Pro's OxygenOS has an issue handling FBE(File-Based Encryption) with f2fs(which is presumably why they left it out while the OnePlus 7 Pro had it), and encryption will be disabled when you use my kernel's f2fs live-patching feature.

      Without encryption, your entire data will be in danger if you lose your device.
      Please use f2fs if you understand this trade-off.
      (Non-T series users can safely use f2fs with encryption.)


      f2fs installation steps:
      1. Download and install my kernel.
      2. Download and install f2fs live-formatter.

      OxygenOS OTA steps:
      1. Install OTA and DO NOT reboot.
      2. Download and install my kernel using Franco Kernel Manager.
      3. Reboot.

      Re-format into ext4 steps:
      1. Use stock recovery and perform a factory reset.

      Re-format into f2fs steps:
      1. Use stock recovery and perform a factory reset and turn the userdata back to ext4.
      2. Reboot to Android.
      3. Download and install f2fs live-formatter using Franco Kernel Manager.


      /* Non-T variants */


      TWRP is not integrated to the kernel.
      Please use a TWRP installer to install TWRP on top of my kernel.

      To use f2fs, simply format /data to f2fs with TWRP.

      Afterwards, flash f2fs-optimize.zip from http://arter97.com/browse/f2fs/optimize

      There’s no need to flash separate zip files for replacing f2fs-tools or fstab.


      /* Disclaimer */

      Your warranty is now void.
      I am not responsible for bricked devices, dead SD cards,
      thermonuclear war, or you getting fired because the alarm app failed. Please
      do some research if you have any concerns about features included in this kernel
      before flashing it! YOU are choosing to make these modifications, and if
      you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.

      /* Thanks to */

      TheCrazyLex
      xboxfanj
      kdrag0n
      nathanchance - for android-linux-stable

      /* Instructions */

      1. Read the above. Please.
      2. Flash the zip file from your existing TWRP recovery.
      2.1. FK Kernel Manager also works for installation. EXKM is unsupported and reported to brick the device due to installation failures.

      /* Downloads and links */

      r30 and up only supports Android 10
      arter97.com
      Kernel source

      XDA:DevDB Information
      arter97 kernel for OnePlus 7, Kernel for the OnePlus 7 Pro

      Contributors
      arter97
      Source Code: https://github.com/arter97/android_kernel_oneplus_sm8150

      Kernel Special Features:

      Version Information
      Status: Stable

      Created 2019-07-28
      Last Updated 2020-10-18
      56
      A major update r50b1 is up.
      This isn't for PA. This version is for OxygenOS.

      Recent OnePlus' kernel breakage forced me to look into cleanly disabling OnePlus brain service, and I think I managed to remove it "just enough".

      Similar to how my Pie kernel was made, r50b1 now removes pretty much all of OnePlus' own kernel hacks. As a result, users no longer have to worry about recent OxygenOS version's compatibility issues.

      Since we no longer need OnePlus' hacks, the kernel has also been rebased cleanly on top of latest Qualcomm's Android 4.14 kernel and incorporates more patches that I missed previously.

      As this new r50 version differs significantly from my previous Q kernels, I felt the need to mark this as a beta for possible regressions, but I've been using the new kernel for couple of days now and I'm happy with the results.

      You may experience differences with battery life or general performance, both positively and negatively.
      Please share your feedback.

      r50b1
      Cleanly rebased version
      OnePlus performance boost hacks removed
      LV.AU.0.2.0-00810-gen3meta.0 merged
      Latest OnePlus changes merged
      Latest f2fs-stable merged
      Linux v4.14.159 merged
      Latest Qualcomm's Android 4.14 kernel merged
      (LA.UM.8.1.r1-12800-sm8150.0, LA.UM.8.11.r1-01900-NICOBAR.0, LA.UM.8.9.r1-07100-SM6xx.0)
      Wi-Fi drivers updated to 5.2.03.16T
      52
      r32 is up for a decent improvements.

      r32
      Ported patches from Razer Phone 2 to improve touchboost and general performance (by TheCrazyLex)
      Linux v4.14.151 merged
      Ported patches from LA.UM.8.9.r1-05300-SM6xx.0
      Wi-Fi drivers updated to 5.2.03.14L
      Memory management patches applied from kdrag0n kernel
      47
      /* Changelog */

      r70

      zswap + vbswap replaced with zram

      Commits backported from mainline to improve lz4 performance (better memory performance)
      LA.UM.8.1.r1-17100-sm8150.0 merged
      Linux v4.14.231 merged
      Wi-Fi drivers updated to 5.2.03.32G
      2021-04-05 security patch merged
      RTL8152/8153 drivers updated
      Merged optimizations from Sultan

      r65

      Enabled SECCOMP to address recent security vulnerability issue
      LA.UM.8.1.r1-16900-sm8150.0 merged
      Linux v4.14.226 merged
      Wi-Fi drivers updated to 5.2.03.32E
      2021-03-05 security patch merged
      WireGuard updated to v1.0.20210219
      Merged mainline f2fs fixes
      Merged optimizations from Sultan

      r64
      Merged mmap/mremap fixes from upstream to fix some Chinese apps causing reboots
      Merged mremap optimization from upstream (~19x speed up)

      r63
      mmap/mremap, TLB invalidation, mmu_gather backported from mainline for a major performance boost
      (Including https://www.phoronix.com/scan.php?page=news_item&px=Linux-5.10-Mremap-Optimization )
      Disabled PG table mapping for swap memory allocator (increased performance for 64-bit)
      Saved 48 MB of RAM by removing unused reserved regions
      Applied MAC fall-through patch for Chinese users
      LA.UM.8.1.r1-16300-sm8150.0 merged
      Linux v4.14.212 merged
      Wi-Fi drivers reverted to 5.2.03.31L to fix compatibility issues
      2020-12-05 security patch merged
      WireGuard updated to v1.0.20201112
      Merged OnePlus kernel changes

      r62
      A major memory management issue fixed for 6GB variants
      A scheduler patch from Pixel merged to improve power consumption
      Reverted drm changes from July to fix intermittent frame drops (mostly noticeable from app open/close animations)
      Linux v4.14.202 merged (includes a fix for critical Bluetooth vulnerability "BleedingTooth")
      Thanks to @idkwhoiam322 and @NTLinhHaHa for this release

      r61
      SELinux is now set to enforcing
      f2fs fstab live-patching implemented to allow f2fs on OnePlus 7T and 7T Pro users
      Memory swap's aggressiveness tuned to reflect the device's RAM size
      Wi-Fi driver backported from LA.UM.9.12.r1-08400-SMxx50.0
      (The version jumped from 5.2.03.31A to 5.2.022.4J)
      Merged LE.UM.3.3.2-09000-SDX55 tag
      OnePlus brain service is disabled in a cleaner manner
      Disabled f2fs' background GC

      r60
      Applied a fix for rare random reboots since r57
      The entire SELinux subsystem backported from mainline Linux for better performance and efficiency
      (Magisk users must use Magisk v21.0 or the kernel will not boot)

      LA.UM.8.1.r1-16000-sm8150.0 merged
      Linux v4.14.200 merged
      Wi-Fi drivers updated to 5.2.03.31A
      Now built with GCC 10.2
      2020-09-05 security patch merged
      WireGuard updated to v1.0.20200908
      Sultan's Simple LMK updated
      Merged optimizations from kdrag0n
      Latest f2fs-stable merged

      r58
      LA.UM.8.1.r1-15400-sm8150.0 merged
      Linux v4.14.188 merged
      Wi-Fi drivers updated to 5.2.03.27R
      Minor trivial optimizations

      r57
      Linux v4.14.186 merged
      Wi-Fi drivers updated to 5.2.03.27K
      LE.UM.4.3.3.r1-00500-SDX55 tag merged
      Minor memory optimization to the graphics drivers (by Yaro330)

      r56
      Merged OnePlus kernel changes to support optimized charging
      Bunch of memory allocations from various subsystems were reworked to perform much better
      Now built with GCC 10.1
      2020-06-05 security patch merged
      Linux v4.14.183 merged
      Latest Qualcomm's Android 4.14 kernel merged
      Wi-Fi drivers updated to 5.2.03.26Q
      WireGuard updated to v1.0.20200520
      Sultan's Simple LMK updated
      Merged optimizations from kdrag0n
      Latest f2fs-stable merged

      r54
      Switched to Sultan's Simple LMK to fix lags and stalls on memory-pressured scenarios
      Disabled scheduler debug for better performance
      Reduced memory allocations on network sockets
      Reworked and optimized vnswap (renamed to vbswap)
      Reworked Wi-Fi configuration
      USB UASP enabled
      Minor fixes to previous memory optimization commits
      LV.AU.0.2.0-01800-gen3meta.0 merged
      2020-03-05 security patch merged
      Linux v4.14.173 merged
      Latest Qualcomm's Android 4.14 kernel merged
      Wi-Fi drivers updated to 5.2.03.22Q

      r52
      Fixed slow boot issue on OnePlus 7T series

      r51
      Fixed Wi-Fi not working on some devices due to MAC address loading failures
      Backported Android ion driver from Snapdragon 865 kernel
      Latest f2fs-stable merged
      Linux v4.14.170 merged
      Latest Qualcomm's Android 4.14 kernel merged
      Wi-Fi drivers updated to 5.2.03.19P

      r50
      Beta details
      Cleanly rebased version
      OnePlus performance boost hacks removed
      Random reboots with WireGuard fixed
      Random reboots with f2fs encryption fixed
      Added vibration level control (by flar2)
      Few patches from LE.UM.4.1.1-02910-sa515m merged including scheduler improvements
      LV.AU.0.2.0-00810-gen3meta.0 merged
      Latest OnePlus changes merged
      Latest f2fs-stable merged
      Linux v4.14.163 merged
      Latest Qualcomm's Android 4.14 kernel merged
      Wi-Fi drivers updated to 5.2.03.18B

      r40
      OnePlus 7T and OnePlus 7T Pro support added
      Added support for flashing via FK Kernel Manager
      Major optimizations to touch panel drivers for lower overheads
      Merged a zswap patch for faster lookups - better memory swap performance
      Disabled unnecessary kernel log writeback debug feature
      Linux v4.14.156 merged
      Latest Qualcomm's Android 4.14 kernel merged
      (LA.UM.8.1.r1-12200-sm8150.0, LA.UM.8.11.r1-01800-NICOBAR.0, LA.UM.8.9.r1-06500-SM6xx.0)
      Wi-Fi drivers updated to 5.2.03.15T
      exFAT drivers added
      WireGuard updated to 20191127

      r33
      LA.UM.8.1.r1-10700-sm8150.0 merged

      r32
      Ported patches from Razer Phone 2 to improve touchboost and general performance (by TheCrazyLex)
      Linux v4.14.151 merged
      Ported patches from LA.UM.8.9.r1-05300-SM6xx.0
      Wi-Fi drivers updated to 5.2.03.14L
      Memory management patches applied from kdrag0n kernel

      r31
      Integrated Google Camera AUX mod
      (No need to use a separate Magisk Module)
      LA.UM.8.1.r1-10300-sm8150.0 merged
      Linux v4.14.150 merged
      WireGuard updated to 20191012
      Backported patches from LA.AU.0.0.2.c1-07610-gen3meta.0

      r30
      Rebased the kernel for Android 10 (based on LA.UM.8.1.r1-09500-sm8150.0)
      Applied zswap + vnswap for replacing zram
      Wi-Fi drivers updated to 5.2.03.13O
      Linux v4.14.148 merged
      Latest OnePlus changes merged
      Latest f2fs-stable merged
      Backported BBR TCP congestion control patches (by kdrag0n)
      Switched to AnyKernel3
      r30 won't work with the OnePlus 7T

      r25

      Linux v4.14.141 merged
      Merged additional f2fs bug-fixes
      Kernel download size reduced
      LA.AU.0.0.1-15710-gen3meta.0 merged as an extension of SDX55 merge (contains various patches including scheduler enhancements)
      GPU runtime overhead reduced
      Garbled sound with type-C wired headphones fixed
      General stability improvements

      r24
      Fixed a display-related patch introduced in r20 that may cause severe memory leakage and freezes

      r23
      Fixed yet another recent f2fs rapid GC changes that caused an indefinite wakelock
      Reverted TCP backports and cherry-picked relevant BBR commits to fix rare random reboots

      r22
      Fixed a recent f2fs rapid GC commit that caused an indefinite wakelock
      5G support removed due to improper radio support
      Linux v4.14.138 merged
      Switched to GCC 9.2.0

      r21
      Merged some performance improvement patches from kdrag0n

      r20
      Random reboots due to improper TCP backports fixed (thanks to freak07)
      Random reboots due to f2fs rapid GC fixed (thanks to ab123321)
      Nightscape fixed
      Booting issues with OnePlus 7 non-Pro fixed
      Support for OnePlus 7 Pro 5G added

      Linux v4.14.137 merged
      LA.UM.7.1.r1-15800-sm8150.0 merged
      Wi-Fi drivers updated to 5.2.03.11J
      Latest OnePlus changes merged
      Latest f2fs-stable merged with correct encryption patch
      Properly disabled userspace lmkd
      Qualcomm RmNet extensions added
      Enabled power efficient workqueues
      Bunch of memory allocations from various subsystems were reworked to perform much better (thanks to Sultan)

      r1
      Initial release
      45
      r40 is up and it's a major update.

      I'm expecting this to be my last OxygenOS kernel in preparation for full-time AOSPA development. I won't be updating this OxygenOS kernel unless a critical issue pops up.

      7T and 7T Pro supports are added and due to TWRP not working properly there, you can use FK Kernel Manager for installation.
      EXKM is unsupported due to weird installation issues and it's not worth my time to fix.

      Note that neither of those device can use f2fs due to Dynamic Partitions. You'll have to do a heavy and risky repartitioning like I did for f2fs, which I don't have the time to write down a tutorial.

      r40
      OnePlus 7T and OnePlus 7T Pro support added
      Added support for flashing via FK Kernel Manager
      Major optimizations to touch panel drivers for lower overheads
      Merged a zswap patch for faster lookups - better memory swap performance
      Disabled unnecessary kernel log writeback debug feature
      Linux v4.14.156 merged
      Latest Qualcomm's Android 4.14 kernel merged
      (LA.UM.8.1.r1-12200-sm8150.0, LA.UM.8.11.r1-01800-NICOBAR.0, LA.UM.8.9.r1-06500-SM6xx.0)
      Wi-Fi drivers updated to 5.2.03.15T
      exFAT drivers added
      WireGuard updated to 20191127
    Our Apps
    Get our official app!
    The best way to access XDA on your phone
    Nav Gestures
    Add swipe gestures to any Android
    One Handed Mode
    Eases uses one hand with your phone