[r71] arter97 kernel for OnePlus 7 series

Search This thread

pxrave

Senior Member

r70a1 is up and it "could" be a major release.

r70 brings a major change in certain subsystem in the kernel that affects battery life, performance and memory management.
Because I want feedback from blind tests, I'll keep the changelog to myself at this point.

Because of something I've changed, you must use your phone for some extended period of time for it to fully kick in.
DO NOT provide feedback in less than 36 hours after installing the kernel.

Also, this version of the kernel now directly affects the system-related partition on your device.
Nothing can catastrophically damage your phone, but as always, back up your data.

I've been testing this build for several days now, and it seems stable enough.
While I don't expect any random reboots, I'm still marking this as an alpha build.
I use op7t. I didn't encounter bugs yet. Sometimes the ambient display reacts a bit slower (or maybe its others circumstances) the battery has improved about +1h sot compared to other kernel (stock based) I used before. I think you can release as stable if others tests be successful too. Thanks for your kernel make this device feel more snappy and finally feels like 3800mah
 

Loercase

Member
Oct 2, 2017
47
13
Looks like OP7Pro came out with a second A11 patch today, maybe a hotfix? Anything different?

I'd like to try this kernel but I would like to download it and manage it through Franco Kernel Manager... is there a JSON link for this kernel anywhere?
 

pcp12

Senior Member
Apr 8, 2014
71
4
Ciudad Rodrigo
I have updated to the latest stable version OOS 10.0.16 and I have taken the opportunity to install the r70a but I have lost magisk, what do I have to do to recover it? I have OP7T and f2fs
 
Last edited:

krecycle

New member
Dec 20, 2020
3
0
7pro 10.0.10 GM21, usb prefernences can't switch to file transfer and other just charging on r70a1. IT's no problem before.
 

pcp12

Senior Member
Apr 8, 2014
71
4
Ciudad Rodrigo
Root your device again, like you did in the first Place. Apparently you forgot to reflash magisk before you rebooted your phone
If I flash the patched boot from fastboot I could lose the arter kernel and therefore I will not be able to boot (I use f2fs that does not work with the default kernel due to problems with the partitioning of the Oneplus 7T)
 

pcp12

Senior Member
Apr 8, 2014
71
4
Ciudad Rodrigo
I honestly want to raise the question to you, if you should really temper around with your device if you don't know how to solve this and how the root method work. I don't want to mock you, but at this point, you might brick your phone
Sorry but I've been using root for years, testing roms and kernels. I'm just worried about the f2fs patch on the Oneplus 7T because it won't start if the arter kernel is not installed and I don't know if flashing a boot patched with magisk I can lose the arter kernel

Edit: Also when flashing the arter kernel in FKM it showed the message "Patching boot with Magisk" or something like that, so I thought it was not necessary.
 
Last edited:

cocacola2015

Member
Nov 2, 2015
24
15
I do not understand how you put the kernel intended for OS10 on OS11. The author himself writes that it does not fit?
The kernel is a linux kernel, Android uses that for their OS but it'
s the same kernel that you run on normal Linux.

In the kernel you need drivers for special hardware, it's like a graphics card, when you plug in a new graphics card, you need a driver for it, but it doesn't replace the windows kernel.

One of the things that the linux kernel does is run an "init" process, this is the first process with process ID 0, and then the rest of Android boots afterward.

So there is no problem running the same kernel as long as it has the drivers for ALL hardware. OOS11 doesn't care, one of the purpose of the kernel is to serve "syscalls"
This remains the same across all linux distributions so both OOS10 and OOS11 will use the same system calls.
 

Adromir

Senior Member
Sorry but I've been using root for years, testing roms and kernels. I'm just worried about the f2fs patch on the Oneplus 7T because it won't start if the arter kernel is not installed and I don't know if flashing a boot patched with magisk I can lose the arter kernel

Edit: Also when flashing the arter kernel in FKM it showed the message "Patching boot with Magisk" or something like that, so I thought it was not necessary.
Then I'll give you a short explanation, how to get there;

Boot device into twrp (not install it, just boot via fastboot to have an adb enabled recovery)
Pull a dump of your installed boot image onto your sd card
Reboot go to magisk Manager and patch this boot image
Flash patched bootimage via fastboot

You should be on root again and arter kernel still installed on your phone
 

pcp12

Senior Member
Apr 8, 2014
71
4
Ciudad Rodrigo
Then I'll give you a short explanation, how to get there;

Boot device into twrp (not install it, just boot via fastboot to have an adb enabled recovery)
Pull a dump of your installed boot image onto your sd card
Reboot go to magisk Manager and patch this boot image
Flash patched bootimage via fastboot

You should be on root again and arter kernel still installed on your phone
That's what I needed, thank you very much. I understand that to do pull I can use "adb pull /sdcard/boot.img"
 

Top Liked Posts

  • There are no posts matching your filters.
  • 171
    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
    48
    /* Changelog */

    r71


    Merged f2fs fixes from mainline (fixes quota inode corruptions)
    Linux v4.14.233 merged
    Wi-Fi drivers updated to 5.2.03.32J
    Sultan's Simple LMK updated

    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