[r21] arter97 kernel for OnePlus 6

Search This thread


Senior Member
Aug 12, 2014
Hey @arter97
Since you dropped support for OnePlus 6, there is no clear cut support for f2fs anymore.
Can we still use the same instructions in the OP to use f2fs on Android 10? Does PA Quartz support f2fs?
Please reply.
  • Like
Reactions: Bloodwin


Oct 11, 2016
Everytime i Install this on my op6 it stuck on bootloader warning screen

i stuck at bootloop

i really love arter97 kernel please suggest some fix

i tried all swap also same issue


Senior Member
Dec 23, 2012
Lake in The Hills
Bro we're not in 2019. flash OOS 10.3.4 on both slots and then run lineageOS with, omega, elementalX 4, sparky blu_spark, stock, mcd, radioactive.. lol otherwise dig for the latest TWRP pie and old magisk and flash arter97 kernel like normal with 9.0.9 oos only. No flashing anything else after.

Top Liked Posts

  • There are no posts matching your filters.
  • 106

    arter97 kernel for OnePlus 6/6T running OxygenOS​

    /* Details */

    Fully rebased kernel with OnePlus' debugging code out
    Latest CAF msm-4.9 kernel fully merged
    This kernel contains more cutting-edge changes from Qualcomm than the regular sdm845 tag
    Latest Linux 4.9 subversion merged
    Use CONFIG_HZ = 300
    - This changes context switching interval from 10ms to 3.33ms
    - Pixel used this for years and Google recommends other vendors to do the same for fewer jitters
    Memory management improved(from Pixel 2 & 3)
    Pixel's lowmemorykiller used
    DM-verity fully disabled (you can remount /vendor to R/W properly)
    Scheduler commits cherry-picked from Pixel 3
    Timer optimizations
    Additional power savings applied to the display panel
    Heavily optimized touch panel source code resulting in reduced touch latency
    RTL8152/8153 USB LAN adapter support
    TWRP integrated with proper f2fs support (see below)
    Other various optimizations from Paranoid Android
    Permissive SELinux
    Passes SafetyNet
    Built with -O3 speed optimizations
    Built with latest GCC
    Westwood as default TCP network congestion control
    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
    Various changes merged from the Razer Phone 2 and Snapdragon 855

    /* Notice */

    Both OnePlus 6 and 6T 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.

    Unlike my OnePlus 5/5T kernels before, you are free to flash Magisk after installing the kernel. Kernel does not include Magisk by default.

    /* f2fs */

    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.

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

    To use f2fs, download zip files from http://arter97.com/browse/f2fs

    Flash f2fs_tools_for_twrp.zip from TWRP. This won’t format your /data partition.
    This will replace TWRP's f2fs tools with the latest version and pass the correct parameter to mkfs.f2fs, which is necessary.
    This needs to be done everytime you enter TWRP, if you want to re-format to f2fs.

    After formatting, or flashing a new ROM or an OTA, /vendor’s fstab needs to be changed.
    Flash f2fs_fstab.zip to convert fstab to f2fs again. This won’t format your /data partition.

    /* 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 */

    Tim Murray
    nathanchance - for android-linux-stable

    /* Instructions */

    You can use the zip file to flash the kernel from your existing TWRP recovery.
    If you don't have TWRP installed already, you can use the img file to flash the kernel directly from your PC via fastboot.

    Both methods will install both kernel and modified TWRP recovery.
    You can check if the modified TWRP is installed by looking at TWRP's version name.
    It should say "arter97-f2fs".

    If you use fastboot method(directly flashing img), you will not pass SafetyNet.

    /* Swap variant */

    This kernel has a swap variant for memory-hungry users.
    - Users with 6GB of memory or heavy multi-taskers are recommended to use the new swap variant
    - Ditched conventional zram swap approach and taken zswap+vnswap 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

    /* Downloads and links */

    Kernel source

    XDA:DevDB Information
    arter97 kernel for OnePlus 6, Kernel for the OnePlus 6

    Kernel Special Features:

    Version Information
    Status: Stable

    Created 2019-01-14
    Last Updated 2019-10-28
    It's not exactly noticeable though, so I don't know if it's totally worth it though

    I'm just going to copy paste the previous reply:

    Well, engineers are always going to brag about how much fancier their new code is, myself included.
    Though I understand users saying it's not worth it, albeit a bit discouraging.
    You can just care about what you actually feel, discarding the underlying technical advancements as those might be particularly unnoticeable for you.

    Actually, smoothness is not even close to the stock kernel. It needs A LOT more refining to do, no offence to anyone, I hope.
    Try using Twitter for a few moments and that'll look like a stuttery mess. I just can't NOT notice that.

    No, I'm actually not going to refine this as I'm quite certain this is due to the bulls**t OnePlus is doing with schedulers to boost certain whitelisted apps such as Snapchat.
    Those crap OnePlus code, which is just hard to look at, may improve user experience, but I'm just refusing to put cancer in to my kernel. These are just bandaids on top of another multiple layers of bandaids that are prone to cause more problems down the road.

    Also I think I need to mention that general UI benchmarks including jitter tests show that my kernel does not need A LOT more refining.

    I failed to mention in the op that my kernel is completely rebased on top of stock CAF(Qualcomm reference) kernel with all if not most of OnePlus' cancer stuffs out.
    What I consider cancer might be considered as blessing and advancements to you. Perspectives, I guess.

    The difference to ext4 is totally unnoticeable in day to day use, unless people know specific ways to exploit it.

    You are just plain simply incorrect. If you don't notice a difference with ext4 and f2fs, you're basically testing stuffs that are not I/O-bound to begin with.
    There are reasons why Android Go devices are forced to use f2fs.


    So SQLite is vastly faster with f2fs.
    I kind of regret not adding details to the original AnandTech piece I wrote, but let me add some right now.

    The use of f2fs allows the kernel to safely turn off barrier for fsync() without sacrificing file-system integrity. This vastly improves responsiveness. If you look around at custom kernels, a lot of those allow you to turn off fsync() or provide you a "dynamic fsync" kind of thing(which I extremely encourage users not to use). Android is proven time and time again on how much is bottlenecked from all those fsync()s.

    SSR method allows f2fs to reduce performance regression when the utilization is nearly full. This is indeed, very noticeable. If you compare side-by-side f2fs with ext4 both with more than 80% full, f2fs is much more responsive.

    The nature of f2fs using LFS design significantly reduces the wear compared to the journalling nature with ext4. If you plan to use the phone for more than a few years, or just write a lot of data, this is definitely a thing that you'll appreciate.

    You can write reviews and share your experiences to your heart's content, but if you are going to state "not exactly noticeable though", I'd appreciate it if you could at least go through Git and see what I've actually done. While your comment is not particularly offensive much, it's extremely discouraging.

    If features are all you care with kernel, mine will never be the kernel for you.
    A totally new update is now up!

    I promised users that I'll be leaving my Snapdragon 845 kernels in a great state before moving on to the OnePlus 7 Pro.
    While it's been about 2 weeks since I received my OnePlus 7 Pro, I've been mostly working on my OnePlus 6 kernel, using my OnePlus 6 as my daily driver.

    As a result, a lot of stuffs has changed that directly impacts day-to-day usage.

    There's now a new "swap" variant.
    Please read the changelog for more details.

    Linux v4.9.185 merged
    LA.UM.7.3.r1-07900-sdm845.0 merged
    LE.UM.3.2.1-00910-SDX24 merged
    Wi-Fi drivers updated to
    More debugging features removed from Wi-Fi drivers
    Wi-Fi regulatory database taken from OnePlus to fix slow handshakes with 5 GHz APs (by LuK1337)
    Faulty Low Memory Killer fixed to work better and resolve wake-up delays
    General scheduler improvements backported
    Virtual memory allocator performance improved
    Task scheduler debugging disabled properly for lower overheads
    Many parts of the kernel converted to use hotplug state machine
    WireGuard updated to 20190702
    Bunch of memory allocations from various subsystems were reworked to perform much better (thanks to Sultan) (total of 46 patches)
    Debugging features disabled for Adreno GPU drivers to improve performance
    Fixed an issue that was causing charging to be stopped randomly (details)
    Rewritten IOMMU by Sultan reverted to resolve screen flickerings
    Introducing a new swap variant for memory-hungry users
    - Users with 6GB of memory or heavy multi-taskers are recommended to use the new swap variant
    - Ditched conventional zram swap approach and taken zswap+vnswap 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
    A little update.

    - I'm actively trying to get pstore working on all reboots to get a log as to why OnePlus 6T fails to boot with @Nezorflame
    (What happened to "rebooting" the developer program, OnePlus?)
    - TWRP will be embedded with the boot.img next time. This would be a good thing as I could actually make f2fs formatting working properly there.
    - Instructions will be provided once I get TWRP to work properly. I always use fastboot to flash kernels myself. My apologies for not being considerate enough.
    - It's likely that I won't use AnyKernel anytime soon. While I admire osm0sis' work on AnyKernel, I like to have full control on final generated boot.img. Makes my life so much easier. This is why I worked on resetprop's keymastermod and execprog prior to release.
    - I've noticed OnePlus(or Qualcomm) using 512kB readahead. I was stupid to trust them to actually be smart and use 128kB. readahead values will be set to 128kB starting from my next release.
    - I'm noticing some guys having Wi-Fi issues. A kernel log(dmesg) and logcat will be required to fix the issue. I'm going to leave Wi-Fi status as-is, if no logs are provided.
    Version 1.3 is up.
    This should fix SafetyNet issue triggered from version 1.2.

    Linux v4.9.153 merged
    ZIP installation now uses proper security patch level to bypass SafetyNet
    (If you install the kernel by fastboot/IMG method, it won't bypass SafetyNet)
    Merged several changes from Sultan's Pixel 3 kernel
    - Numerous memory leaks fixed
    - GPU performance improved with corrected priority
    - Faster display wake-up
    - Lower power consumption