• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

(EOL) [Kernel][04.10.21][Q:1.6.3][R:2.6.0] JimboK - Kernel for SM-8250 (S20 and Note 20 Snapdragon)

Search This thread

jimbo77

Recognized Contributor
Nov 2, 2010
2,183
2,910
Guatemala
Hello!

I want to introduce my first custom kernel for the SM8250 family of Snapdragons. This is based of latest Samsung OneUI 2.5 Sources and I cherry-picked commits to make improvements to the stock base. I'm not a developer, but i really like to port stuff over .

I will try to have this Kernel updated as soon as new source tarballs are drop by Samsung. If you want to request for specific features, let me know and i'll do my best to bring them over.

Special Features:

Changelog is in post #2

How to Install:

First, make sure you are in any OneUI 2.5 (BTH* or BTI*) ROM and have TWRP on the device. Make sure you take a backup of your current boot partition in twrp, now install either the boot.img (extract from the tar file) or use ODIN to flash in Dowload mode. Please make sure to read Post #3 regarding issues with the current OS Patch Level. Images from 1.5.0 onwards are pre-rooted but you will probably need to update magisk either manually or by flashing latest magisk.zip file.

Keep in mind the following table to determine your phone model:

x1q = S20 - G981X
y2q = S20+ - G986X
z3q = S20U - G988X
r8q = S20 FE - G781B
c1q = Note 20 - N981X
c2q = Note 20U - N986X

IMPORTANT NOTE: It seems some users need to flash a vbmeta image file provided by Google in order to boot and user the Custom Kernel. If you find yourself in a situation were you are not able to boot, please flash the attached vbmeta img along with the Kernel and if still bootlooping share the last_kmsg to determine what's driving the issue.

Download:

Disclaimer: I am not responsible if you use this and brick your device or if your device blows up, implodes, flames start shooting from it or it kills your neighbor's dog. Flash at your own risk. I am not responsible.... It was the other guy... I swear....

You can use THIS link to get the latest builds. These and other downloads can also be found in the Telegram Group.


Sources for Q? https://github.com/Jimbo77/JimboK_common_sm8250
Sources for R? https://github.com/Jimbo77/Jimbok_common_sm8250-R

Join the Telegram Group for additional discussions and downloads - HERE

Special thanks to:
Afaneh
Ianmcd
0smosis
flar2
Lord Boeffla
jesec
elliwigy
pappasmurf

For their work and dedication to development!
 
Last edited:

jimbo77

Recognized Contributor
Nov 2, 2010
2,183
2,910
Guatemala
Changelog or features or whatever :p

04.10.21 - JimboK-R-2.6.0


  • Upstreamed to .185

04.05.21 - JimboK-R-2.5.0[/B]

  • Sync code to add missing changes in upstreamed branch
  • Reworked the DEVFREQ_BOOST driver
  • Tweaked SchedHorizon default freqs
  • Tweaked DEVFREQ_BOOST defaults in defconfig

03.31.21 - JimboK-R-2.4.0[/B]
  • Upstreamed to Stable Linux 4.19.184
  • Built with cortex-a55 specific optimizations
  • removed facebook process from 'kill-in-the-background' mod. This was affecting the user experience (for those that use Facebook a lot, like my wife lol)

    02.24.21 - JimboK-R-2.3.0[/B]
    • Upstreamed to Stable Linux 4.19.176
    • Switched from G988U source as base to N986N source drop for OneUI 3.1
    • Removed a lot of unused configs from defconfig. This resulted in a reduction of Kernel size and will have an impact on the overall performance and resource utilization.
    • Reworked the DEVFREQ and CPU_INPUT_BOOST drivers
    • Added and Enabled schedhorizon governor
    • Imported the option to edit the CPU Frequency table
    • Performance Governor is default for LITTLE Cluster now


    02.03.21 - JimboK-R-2.1.0[/B]
    • Upstreamed to Stable Linux 4.19.172
    • Moved to KOR dts to improve on stability for custom DTBO's
    • Added Flicker-Free or DC Dimming. There are two versions of the Kernel and this will be the only version with Flicker Free. After this, there will not be added since i don't like how it messes the Screen Colors/Performance.
    • Disabled Bootstats
    • Enabled MPTCP

    01.25.21 - JimboK-R-2.0.0[/B]
    • Upstreamed to Stable Linux 4.19.169
    • Disabled several not needed debug Samsung Configs
    • CPU ASSIST Feature
    • Disabled ZRAM and SWAP
    • DTS (dtb and dtbo) updates for all variants to their latest source drops
    • General CLANG and LLVM optimizations

    01.01.21 - JimboK-R-1.8.0
    • Reworked both DEVFREQ and CPU_INPUT Boost functionalities
    • finetuned for SM8250 (Samsung) specific frequencies/values
    • added and enabled Simple Low Memory Killer (SLMK)
    • added: CIFS, NTFS and ISO9660 FS in-kernel Support
    • added Wireguard Support
    • Several 'under the hood' improvements to task/memory management.

    12.28.20 - JimboK-R-1.7.0
    • Added BBR2 TCP Config and made Default
    • Several updates to NET protocols and BBR2
    • Added PROC_MAGISK_HIDE_MOUNT
    • Added a script to fix Shealth, Smart View and set ZRAM parameters.

    12.25.20 - JimboK-R-1.6.0
    • Added Dynamic Fsync
    • Tweaks for Memory Management
    • Updated LZ4 compressor
    • Enabled ZSTD Compressor for ZRAM - Default now

    12.21.20 - JimboK-R-1.5.1
    • Fixed Wifi Calling

    12.20.20 - JimboK-R-1.5.0
    • Fsync On/Off Support
    • Readahead 0
    • Slimbus OC
    • Toggle to enable/disable CRC
    • Turned off several debug options within the tree
    • added EAS related commits

    12.16.20 - JimboK-R-1.4.0
    • Added Kcal Color Control Driver
    • Added KLAPSE Driver
    • Disabled Gentle Fair Sleepers
    • Added Boeffla Wakelock Blocker
    • Disabled AVB Flag for better protector in terms of SafetyNet
    • Misc fixes and addons to dtb

    12.15.20 - JimboK-R-1.3.0
    • Skipped, no public Release xD

    12.13.20 - JimboK-R-1.2.0

    • Added IO-SCHED drivers like: ZEN, FIOPS, MAPLE etc...
    • Added DevFreq Boost Driver and tuned based off OP8
    • Added Adreno Boost Driver

    12.12.20 - JimboK-R-1.0.0
    • Initial Android R (OneUI 3.0) bring up
    • Source is based off the G988U source drop. This includes all other variant files, i have added support to all previous phones from day one now :)
    • Disabled Samsung Security useless stuff (DM Verity for example)

    11.01.20 - JimboK-1.6.3

    • Added a fix to hide Magisk Mount for Isolated Processes. This is a critical leak in MagiskHide that can be exploited by apps trying to determine if the device is rooted. I had an issue with two payment apps that after applying this fix, they work. Not sure if they were finding magisk with this method lol. Read more here https://darvincitech.wordpress.com/2019/11/04/detecting-magisk-hide/
    • Finally removed the warning upon boot. EdXposed compatibility was not affected by the removal of it.

    10.27.20 - JimboK-1.5.0

    • Rebased to S20 FE source as baseline for all models. This is to ensure support for the S20 FE is added and to keep the most up date source from Samsung
    • Streamlined even further the 'common' defconfig and updated all other variant defconfigs to make it easier to build individual Kernels.
    • Removed GPU OC - This is to test drive if performance takes a small hit but battery is gained. I have this as *temp change* consider it a 'test' phase so i will need your feedback on it to see whether if we keep it or not. Also, the OC was causing issues to boot in N20 units and some weird hiccups in the System-UI for my S20U.
    • Added BBR2 TCP CONG protocol. By far, the best TCP CONG to speed up the network connections overall. Read out more here: http://dl.ifip.org/db/conf/networking/networking2018/2B1-1570416152.pdf
    • BBR2 is now default TCP CONG for the Kernel. I recommend ya'll to make the switch
    • Several Upstreams to NET/TCP in order to improve Network Connectivity and Speed.
    • Kernel comes pre-rooted now (via ramdisk). In the event of a magisk update you will only need to update through Magisk Manager. This is for the sake of simplicity

    10.16.20 - JimboK-1.4.0

    • Removed several DEBUG options from defconfig that should not be present in a Production Kernel
    • Disabled ZSWAP and VBSWAP (this will create conflict with ZRAM) and ZRAM has proven to be more effective and create less wear than ZSWAP
    • Disabled LZO, updated LZ4 compression algorithms
    • Enabled ZSTD Compression, it is recommended to enable this for ZRAM moving forward
    • Disabled KPERFORM in defconfig
    • Enabled .gz compression for Kernel. Kernel is now almost 1/3 in size of what it used to be
    • Added and Enabled HID: NINTENDO SWITCH controllers support


    10.13.20 - JimboK-1.3.0

    • Unified Sources a bit more. Removed the individual defconfigs to have one single plus each variant
    • for X1Q and Y2Q moved dts sources from CHN OPEN to KOR to keep it in line with main (Z3Q) sources and also for CXQ sources. BTI3 (latest software release) is now used for those models.
    • Enabled a few drivers inside of Kernel: CDC, NTFS, CIFS and some native gaming devices as well
    • Disabled DM_VERITY checks. This will help with the booting times

    JimboK-1.2.0 and before:

    • Build with latest LLVM Clang 11
    • Disabled Samsung Security useless stuff (DM Verity for example)
    • GPU OC up to 895mhz
    • Adreno Boost
    • Boeffla Wakelock Blocker Driver
    • Disabled ZRAM and moved to ZSWAP and VBSWAP
    • KCAL Color Control Driver (Up to date)
    • KLAPSE Driver (check out https://forum.xda-developers.com/an...apse-kernel-level-livedisplay-module-t3907025)
    • Added IO-SCHED drivers like: ZEN, FIOPS, MAPLE etc...
    • Latest Wireguard Driver
    • BBR TCP Congestion algorithm by Default
    • built-in Kernel Westwood and other modules
    • SLIMBUS OC to improve the Audio Mods
    • Several Debug Options removed from driver and all over the Kernel itself
    • QCACLD-3.0 Support
    • Dynamic Sync Control
    • Fsync On/Off Toggle
    • Several EAS commits for balancing power+efficiency
    • OS PATCH LEVEL set as 2099-12 (Read post #3 - Mandatory)
 
Last edited:

jimbo77

Recognized Contributor
Nov 2, 2010
2,183
2,910
Guatemala
OS PATCH LEVEL PROBLEM

This is a modified version of @evdenis post HERE

My Kernel uses an OS Patch Level of 2099-12 to maximize its compatibility among all releases by Samsung across all the supported phones. That's it. No other reason as to why choose that date, now, when you continue using my Kernel update after update there will be no issue, but if you change the kernel to any other (specially stock) chances are that Kernel is using the current month OS PATCH LEVEL which will cause two things:

  1. You will not be able to pass beyond your lockscreen. No matter what you try, it won't let you unlock upon reboot
  2. Your Samsung Account will warn you to log off and log back in but you will not be able to do so
The problem is not in sources. It's due to os_patch_level mismatch with you current kernel. As mentioned JimboK Kernel does not uses common security patch date to be in sync with the official samsung firmwares. You can check the default os_patch_level in build.mkbootimg.* files. However, this date can be higher than other kernels use. When you flash a kernel with an earlier patch date on top of the previous one with a higher date, android activates rollback protection mechanism and you face the problems stated earlier. It's impossible to use a "universal" os_patch_level because different users use different custom kernels and different firmwares. JimboK Kernel uses a highest date by default in order to suite most of users.

How can you solve the problem? 6 ways:
  1. You can restore my kernel and the problems will be gone
  2. You can flash the attached zip file. backtothefuture-2099-12.zip, it will make your new Kernel Patch OS Level 2099-12 thus avoiding the issues above. - read more about the zip HERE. You will have to flash this with any new kernel if you ever use mine (unless you do a full wipe as mentioned at the end of this list).
  3. You can check the os_patch_level date of your new kernel here https://cruelkernel.org/tools/bootimg/ and patch the kernel image image to the same date. If your previous kernel is mine (JIMBOK), patch your new Kernel to 2099-12 date.
  4. You can reboot to TWRP, navigate to data/system and delete 3 files those names starts with 'lock'. Reboot. Login, set a new pin. To fix samsung account login, reinstall the app
  5. You can rebuild JimboK Kernel with os_patch_level that suites you. To do it, you need to change the OS PATCH LEVEL to the desire date when using mkbootimg.
  6. You can do the full wipe during the new Kernel flashing

Update 10.20.20

Updated the zip file to add support for W models.

Update 10.19.20

Updated the zip file to remove Exy devices and focus solely in N20 and S20 Snap line.
 
Last edited:

jimbo77

Recognized Contributor
Nov 2, 2010
2,183
2,910
Guatemala
I've got bootloop with my S20U G9880 after flashing this kernel even with a full wipe

Strange I have G988N which is just about the same and I don't have that issue. Did you come from a rooted device? Were you in a custom ROM before?

Can you tell me a bit more of your setup?

Are there any other G9880 users with the same issue?
 

karrouma

Senior Member
Jun 27, 2013
1,985
652
I have s20+ 5g g986u
Unlocked bl
Flashing twrp
Flashed the kernel
Flashed vmbeta disabler
Flashed magisk
Boot
All ok
Thank you
 

stszf9124

Senior Member
Jan 26, 2012
60
1
Beijing
my device is running custom Rom and stock kernel, the firmware is BTH6 , last night I installed the latest version of TWRP and format data and flashed the multiple disabler, the device booted , but it got this issue after the kernel was installed even with a full wipe again
 

Top Liked Posts

  • There are no posts matching your filters.
  • 6
    1.6.0 is up. Merry Christmas everyone!
    4
    Hello!

    I want to introduce my first custom kernel for the SM8250 family of Snapdragons. This is based of latest Samsung OneUI 2.5 Sources and I cherry-picked commits to make improvements to the stock base. I'm not a developer, but i really like to port stuff over .

    I will try to have this Kernel updated as soon as new source tarballs are drop by Samsung. If you want to request for specific features, let me know and i'll do my best to bring them over.

    Special Features:

    Changelog is in post #2

    How to Install:

    First, make sure you are in any OneUI 2.5 (BTH* or BTI*) ROM and have TWRP on the device. Make sure you take a backup of your current boot partition in twrp, now install either the boot.img (extract from the tar file) or use ODIN to flash in Dowload mode. Please make sure to read Post #3 regarding issues with the current OS Patch Level. Images from 1.5.0 onwards are pre-rooted but you will probably need to update magisk either manually or by flashing latest magisk.zip file.

    Keep in mind the following table to determine your phone model:

    x1q = S20 - G981X
    y2q = S20+ - G986X
    z3q = S20U - G988X
    r8q = S20 FE - G781B
    c1q = Note 20 - N981X
    c2q = Note 20U - N986X

    IMPORTANT NOTE: It seems some users need to flash a vbmeta image file provided by Google in order to boot and user the Custom Kernel. If you find yourself in a situation were you are not able to boot, please flash the attached vbmeta img along with the Kernel and if still bootlooping share the last_kmsg to determine what's driving the issue.

    Download:

    Disclaimer: I am not responsible if you use this and brick your device or if your device blows up, implodes, flames start shooting from it or it kills your neighbor's dog. Flash at your own risk. I am not responsible.... It was the other guy... I swear....

    You can use THIS link to get the latest builds. These and other downloads can also be found in the Telegram Group.


    Sources for Q? https://github.com/Jimbo77/JimboK_common_sm8250
    Sources for R? https://github.com/Jimbo77/Jimbok_common_sm8250-R

    Join the Telegram Group for additional discussions and downloads - HERE

    Special thanks to:
    Afaneh
    Ianmcd
    0smosis
    flar2
    Lord Boeffla
    jesec
    elliwigy
    pappasmurf

    For their work and dedication to development!
    4
    Happy New Year everybody! May you accomplish all of your goals this year and succeed in anything you set for!

    As promised, 1.8.0 is up. This is a very interesting update, i have worked both the DEVFREQ and CPU_INPUT BOOST functionalities and fine tuned them for our Device frequencies. You will notice a change in the smoothness of the system overall but i need you to be aware that battery life might be a bit compromised (nothing to be worried about) since now the device will wake up and react to inputs with higher CPU, GPU and DDR frequencies.

    I hope this works as intended for everyone but please leave feedback in case anything breaks and as always, if you can... Support the efforts! :)
    3
    1.7.0 is up! As mentioned in Telegram. I know several users want dc dimming / flicker free dimming added to the Kernel but let me tell you it is not an easy task :(. It will need several hours invested to port it correctly and i don't have too much spare time nowadays so this specific feature might take a long or will not ever make it to the kernel at all. I apologize but i have other priorities right now :).

    Enjoy this release, and 1.8.0 will be dropped around new year's eve if everything works fine on my internal testing.
    2
    R-2.3.0 is up..! Read the changelogs and report any issues you face