[8.1/9.0] Popcorn Kernel [v1.9.3] [21st November 2018]

Search This thread

SteveYoungs

Senior Member
Mar 4, 2016
202
119
Brisbane
Google Pixel 5
Popcorn v1.8 is out!

Changes:
Merged a few security patches from the August bulletin. I think I missed two of them but I'm not sure if they're applicable to our device.
Unfortunately I didn't have enough time to check backports and git conflicts due to ongoing exams.

DL: https://www.androidfilehost.com/?fid=3700668719832237005

For those times when more important things in your life, like exams, require your focus we honestly do not mind waiting.

Good luck with those exams, hope you ace them!

Sent from my Nexus 6 using XDA Labs
 

Phrank916

Member
May 24, 2011
11
15
Kernel Tweaking - governors, io, hotplugs, etc.

I'm not a dev nor a hacker by any means. I guess I'd call myself an advanced power user. I've been playing with kernel settings, doing research, reading all I can, and have been trying to come up with a good "profile" for this kernel on this device that makes me happy. I am currently using version 1.7 of the kernel on the latest AICP weekly ROM.

My Goal: Snappy performance, minimal lag, decent SoT, all day battery life.

There is a ton of info on the intarwebz about this subject but I've been concentrating my efforts using this thread: https://xdaforums.com/nexus-5x/general/guide-advanced-interactive-governor-t3269557

This method uses the Interactive governor and requires some modification of the governor tunables, mainly, hispeed_freq, above_hispeed_delay, timer_rate, and target_loads. The main idea of the above linked thread is trying to find a few processor clock speeds that will cover the majority of the things you do with your phone, and then relate those speeds to the most efficient speeds for your device. The author claims that most devices have a few efficient clock speeds which can be found by relating the jumps in clock speeds to the jumps in voltages. I compiled a spreadsheet of the clock speeds and voltages offered by this kernel, and then also computed the minimal and maximal loads for each speed using the formulas outlined in the thread.

4cmlWkU.jpg


I grabbed speed and voltage info from Kernel Adiutor, but there was a discrepancy with the voltages section, it doesn't include the 2457 MHz speed. So, I made an educated guess on the voltage for that speed and set it at 1075.

From the spreadsheet it's obvious that 833 Mhz is a very efficient speed, then 1497, and 1958. So, I took this information and tried to make adjustments according to the instructions in the thread, but following those instructions implicitly didn't result in the greatest results. The CPU would idle at 300000, then during any sort of load it would mostly ramp to 1497600 or full speed (2649600). I also experienced a lot of lag at certain times. So, after doing some more studying and looking at some of the other profiles linked at the bottom (namely, Ghostpepper, Fairpark, and HawkTail), I have come up with these as my current settings.

hispeed_freq : 833200
above_hispeed_delay : 60000 1497000:100000 1958000:100000
go_hispeed_load : 99
timer_rate : 30000
timer_slack : 480000
target_loads : 80 950000:83 1036000:78 1190000:85 1267000:76 1497000:99 1574000:82 1727000:79 1958000:99 2265000:83 2457000:89 2495000:87 2572000:87 2649000:99
min_sample_time : 10000

I've also changed the input boost frequency on all 4 cores from 1497600 to "disabled" to disable touchboost.

Current io scheduler: sioplus

The hotplug I'm currently trying is mako-hotplug with default settings, except the Frequency Unplug limit changed to 1497MHz. It switches between 2 cores and 4 cores depending on load. There is debate on this, because many say that if your governor settings are good, you should just keep all 4 cores running at all times because the additional computing required to determine whether to unplug two cores or not isn't worth the battery savings of running on 2 cores. I guess it's like a diminishing returns thing, but I'm having good performance with mako right now, so I'm going to keep using it for a bit to determine if there are any battery savings.

So, I've just setup these latest settings today. I'm posting this in the hopes that other more intelligent and more motivated folks can help out by trying these and maybe doing some further tweaking of their own and testing of various settings. So far these settings seem pretty decent, but time will tell. It always does...

Phrank
 

runekock

Senior Member
Apr 24, 2012
1,052
585
Samsung Galaxy Tab S
Nexus 6
@Phrank916
That's a huge voltage jump you've got after 883 MHz. Indeed you should run it at 883 as much as possible.

My phone's voltage table is entirely different, see the screenshots. The voltage actually decreases at 960 MHz - I didn't think that was possible.

So while your method is sound, we can't just copy your final results, we would have to do the calculations ourselves.

Edit: XDA doesn't seem to like my screenshot. Here is a part of the voltage table:
729 MHz 790 mV
883 810
960 800
1.03 810
1.19 830
 

Attachments

  • Screenshot_3C_System_Tuner_20180812-103152.jpg
    Screenshot_3C_System_Tuner_20180812-103152.jpg
    212.9 KB · Views: 522
  • Screenshot_3C_System_Tuner_20180812-103158.jpg
    Screenshot_3C_System_Tuner_20180812-103158.jpg
    209.2 KB · Views: 513
Last edited:
  • Like
Reactions: duttyend

noteness

New member
Mar 17, 2018
2
0
[Feature Request] Would be nice if Android-keyboard-gadget is patched to this kernel

It would be nice if you could patch github.com/pelya/android-keyboard-gadget with this kernel :)

(I apparently can't post links, so)
 

saif hussain

Senior Member
Jul 27, 2014
75
47
********* REQUEST ********

PLEASE ADD KALI NETHUNTER PATCH IN YOUR KERNEL
COZ THERE NO OFFICIAL OREO KERNEL.
imgres

UR KERNEL IS ONE OF THE GR8 KERNEL SO I REQUEST YOU.

NEXUS 6 (shamu)
AICP + Popcorn

**************THANX*************
 

Elektroschmock

Recognized Developer
Dec 25, 2010
1,053
4,636
Winnenden
Nexus 7 (2013)
Nexus 6
@Phrank916
That's a huge voltage jump you've got after 883 MHz. Indeed you should run it at 883 as much as possible.

My phone's voltage table is entirely different, see the screenshots. The voltage actually decreases at 960 MHz - I didn't think that was possible.

You also need to take the current the cpu uses at every freq into account.
 

athulele

Senior Member
Oct 11, 2011
1,911
1,381
25
USA
@Phrank916
That's a huge voltage jump you've got after 883 MHz. Indeed you should run it at 883 as much as possible.

My phone's voltage table is entirely different, see the screenshots. The voltage actually decreases at 960 MHz - I didn't think that was possible.

So while your method is sound, we can't just copy your final results, we would have to do the calculations ourselves.

Edit: XDA doesn't seem to like my screenshot. Here is a part of the voltage table:
729 MHz 790 mV
883 810
960 800
1.03 810
1.19 830

It'll depend on the binning of your CPU. And therefore as Elektroschmock said it'll also depend on the current draw. It's hard to come up with one works-for-all config due to this very reason.
 

ktmom

Retired Forum Moderator
Apr 22, 2015
5,176
3,387
Deep Space Station K7

Top Liked Posts

  • There are no posts matching your filters.
  • 61
    Hello everyone,
    With the permission of neobuddy89, I have started to incorporate patches from his Sigma Kernel into the LineageOS 15.1 kernel.

    As far as I know, the kernel is working on LineageOS based ROMs and camcory tree based ROMs. However, the kernel is based on the LineageOS kernel so if a ROM has problems, do provide logs and I'll look into it.

    Kernel should also work fine on Pie ROMs.

    Features:
    • KCAL with LiveDisplay interface
    • Wake Gestures by flar2
    • fsync toggle
    • I/O Schedulers: FIOPS, SIOPLUS, ZEN, MAPLE
    • TCP Algorithms: bic, highspeed, htcp, hybla, illinois, lp, scalable, vegas, veno, westwood, yeah
    • Chill CPU gov added
    • Hotplugs: AutoSMP, State Helper, Mako
    • MSM Limiter
    • State Notifier
    • ZRAM and LZ4
    • UKSM
    • Sound Control
    • CPU Voltage control
    • USB Fast Charging
    • Better CPU boost implementation, thanks to neobuddy89
    • A few updates to interactive governor
    • Updates for video driver, panel driver, scheduler
    • Updates for filesystem
    • Updates for camera driver
    • Speaker volume at low battery levels should be improved
    • Improved suspend/resume
    • ARM-a15 and krait compiler optimizations
    • Kernel is built with Linaro GCC 7.3.1

    Kernel Settings
    For changing kernel settings, I highly recommend the tool below. Other tools may not work properly.
    Kernel Adiutor Mod

    Downloads:
    Old releases:
    https://www.androidfilehost.com/?w=files&flid=274146

    Latest release:
    v1.9.3: Download

    Changelog:
    Old changes:

    First test:
    • Initial build
    Second test:
    • Fix zip flash script
    • Add more filesystem patches
    Third test:
    • Power Management patches
    • RCU patches
    • cpuidle patches
    Fourth test:
    • State notifier
    • ZRAM, LZ4
    Fifth test:
    • CPU Voltage Control
    • Sound control
    • Audio soc improvements thanks to neobuddy
    Sixth test:
    • USB Fast Charging
    • Youtube TV, Netflix crash fixes
    V1:
    • KCAL w/ LiveDisplay interface, thanks to savoca and flar2
    • flar2's Wake Gestures
    V1.1:
    • Upstream LineageOS merged
    • Camera driver updates
    • The kernel gets a name!
    V1.2:
    • AutoSMP hotplug
    • MSM Limiter
    V1.3:
    • Upstream sync to Lineage June 2018 security patches and Spectre v1 pacthes
    V1.4:
    • State Helper
    • Chill governor
    v1.5:
    • Upstream LOS sync for LED brightness feature
    • Added maple iosched
    • Speaker volume at low battery levels should be better
    v1.6
    • Enabled various TCP algorithms
    • Mako hotplug added
    • Kernel zip now sets a few defaults (listed in kernel settings section)
    v1.7:
    • Upstream LOS updates (July security)
    • Slimbus updates from CAF
    • Fix reddish tint on low brightness
    • Power efficient workqueues
    • Wakelock blocking
    v1.7.1:
    • UKSM added (disabled by default, use KA-mod to enable if you want to)
    • Lineage upstream updates
    v1.8:
    • August 2018 security
    v1.8.1:
    • Lineage upstream sync
    v1.8.2:
    • Lineage upstream sync (spectre patches)
    v1.9:
    • Lineage upstream sync
    v1.9.1:
    • Lineage upstream sync
    • Boost CPUs to max freq when new app launch is detected (thanks to franco and sultanxda)
    v1.9.2:
    • Lineage upstream sync
    v1.9.2.1:
    • fsync toggle
    v1.9.2.2: Security updates from Lineage

    v1.9.3: Security updates from Lineage


    Kernel Source is here: https://github.com/atharvalele/android_kernel_moto_shamu

    A big thank you to @neobuddy89 for allowing me to use his patches and to @Elektroschmock for bringing up Oreo for us!

    Feel free to report back with feedback and suggestions!
    29
    Popcorn v1.7 is out!

    Changes:
    • Upstream LOS updates (July security)
    • Slimbus updates from CAF
    • Fix reddish tint on low brightness
    • Power efficient workqueues
    • Wakelock blocking from franco kernel

    DL: https://www.androidfilehost.com/?fid=5862345805528041413
    29
    Popcorn kernel v1.9.2.1:

    - Added fsync toggle (thanks to franco)

    DL: https://www.androidfilehost.com/?fid=1322778262904027796

    One sad note to all, I will be moving to a new device shortly. Went with the iPhone 7 as I wanted a small phone and there are no good android phones in that size. I will still provide upstream lineage updates with the help of testers. It's been great to have participated in this community with great devs like Elektroschmock and camcory and neobuddy andd the list goes on. Have a great day everyone!
    24
    Popcorn kernel v1.4 up! State helper hotplug and chill CPU governor added.

    DL: https://www.androidfilehost.com/?fid=674106145207492748
    22
    Popcorn Kernel v1.8.2 is out!

    - Lineage upstream sync (has spectre-v1 and spectre-v2 patches)

    DL: https://www.androidfilehost.com/?fid=1322778262903986506