A no-nonsense kernel tweak script for Linux and Android systems, backed by evidence.
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Go to file
Tyler Nijmeh 293f748e2f Convert LICENSE to 2-Clause BSD
Signed-off-by: Tyler Nijmeh <tylernij@gmail.com>
2 years ago
CONTRIBUTING.md Add back metadata 4 years ago
LICENSE Convert LICENSE to 2-Clause BSD 2 years ago
PKGBUILD Update sources for PR 3 years ago
README.md Update README.md 3 years ago
ktweak Migrate for balance 3 years ago
ktweak.service Update ktweak.service 2 years ago

README.md

KTweak

A no-nonsense kernel tweak script for Linux and Android systems, backed by evidence.

Another "kernel optimizer"?

No. Well, yes. However, a "kernel optimizer" is a poor way to put it. KTweak performs kernel adjustments based on facts and evidence, unlike other optimizers with poorly written or heavily obfuscated code.

  • NFS Injector uses closed source, compiled binaries with various typos in the README. It also provides a "pro" version that costs money.
  • MAGNETAR also uses closed source, compiled binaries. I'd love to say more about this, but I can't even find out what the module even does.
  • FDE.AI also uses closed source, compiled binaries with a paid variant.
  • LKT sets random nonsensical build.props that don't even exist.
  • ZeetaTweaks is a clone of KTweak with the values changed. As of the V11 zip, it disables essential system services, deletes files permanently from /data/data, kills perfd (which is the userspace boosting daemon), disables SELinux, disables fsync, and various other detrimental changes.

What's different about KTweak?

Unlike other "kernel optimizers", KTweak is:

  • Entirely open source with no compiled components
  • Concise, at less than 200 lines long
  • Backed by benchmarks and evidence
  • Designed by an experienced kernel developer
  • Non-intrusive and completely systemless

Benchmarks

The following benchmarks were performed on a OnePlus 7 Pro running the stock kernel provided by the OEM on Android 10. KTweak sacrifices throughput for latency, since latency correlates to UI / UX smoothness. This explains the slight regression with the scheduler throughput.

Scheduler latency via schbench (lower is better)

  • Stock: 50.0th: 4052 75.0th: 14288 90.0th: 26848 95.0th: 32960 *99.0th: 45120 99.5th: 49856 99.9th: 59200 min=0, max=73600

  • KTweak: 50.0th: 1054 75.0th: 1790 90.0th: 2628 95.0th: 3836 *99.0th: 8880 99.5th: 11472 99.9th: 18080 min=0, max=32781

Synthmark Latencymark (lower is better)

  • Stock: 10 / 12
  • KTweak: 4 / 4

Scheduler throughput via perf bench sched messaging (lower is better)

  • Stock: 0.331 seconds
  • KTweak: 0.808 seconds

Scheduler throughput via perf bench sched pipe (lower is better)

  • Stock: 16.159 seconds
  • KTweak: 18.599 seconds

The Tweaks

Head over to the script itself to learn what everything does. It is documented in the comments.

Contact

You can find me on telegram at @tytydraco. Feel free to email me at tylernij@gmail.com.

Join the releases channel at @ktweak, or the discussion channel at @ktweak_discussion.