[EOL][KERNEL][ido][CAF][v3.10.107] Chtolly Kernel - r16 (23-09-2017)

Status
Not open for further replies.
Search This thread

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,938
20
Kendari
kud.my.id
[SIZE=+1]Welcome to the new thread! KudKernel is now Chtolly Kernel and starts the release from r7.[/SIZE]​

[SIZE=+1]About -or- What is this?[/SIZE]​
A minimal, yet optimized custom kernel based off my modified LineageOS kernel source with my own additions and features that will be impossible to include into the main kernel.

[SIZE=+1]Disclaimer[/SIZE]​
  • First of all, all builds here are my personal builds.
  • Not all features included are my work. And therefore, credits to all used works are available on the bottom of this post.
  • I'm not responsible for any damage caused by flashing my kernel. You're at your own discretion.
  • Sharing policy: Please share link to this thread instead of direct download link if you want to share my work elsewhere. Thank you.
  • I won't provide support for those who're flashing my kernel with zips other than ones provided in OP.

[SIZE=+1]Features[/SIZE]​
  • Freshly compiled from Acer Aspire E5-475-37KP running Manjaro Linux 17.0.1 Gellivara and Linux kernel 4.9.44.
  • Based off my modified LineageOS kernel source, always updated with latest LineageOS kernel changes.
  • Included all changes from CAF LA.BR.1.2.9-03610-8x16.0 release tag.
  • Linux kernel updated to latest LTS release: Linux 3.10.107.
  • WLAN (prima) driver release lnx.1.0-00156.
  • Compiled using Linaro GCC 7.2.1 (link to the TC is at additional sources section).
  • Built with -Ofast optimization flags, targetting Cortex-A53 CPU platform.
  • Powered by AnyKernel2 backend (osm0sis).
  • Now with Spectrum support! Download Spectrum from Play Store.
  • Included latest Busybox NDK from osm0sis (v1.27.1), along with all symlinks into /sbin.
  • Adaptive LMK settings restored, allowing you to enjoy full potential of it.
  • Hacked thermal engine, throttle at 60'C with maximum clock while throttling is 960 MHz.
  • doubletap2wake support for FocalTech panels. (flar2, ariafan)
  • CPU minimum frequency is reduced to 200 MHz for both CPU clusters.
  • CPU governors available: performance (at boot), powersave, interactive (default), ondemand, nebula, elementalx, zzmoove, cyan.
  • I/O schedulers available: noop, deadline, ROW, CFQ, BFQ, FIOPS (default at boot), sioplus, zen.
  • TCP congestions available: reno, cubic, westwood, vegas, veno (default), illinois.
  • Wakelock Blocker to block most well-known Qualcomm wakelocks. (franciscofranco)
  • Power Suspend driver version 1.5 - power management kernel driver for Android without early suspend.
  • core_ctl backported from Linux 3.18. (Aviraxp)
  • Hardware wakelock suppressor v2. (nutcasev1.5)
  • Userspace controls for SW CRC check, Gentle Fair Sleepers, and Arch Power.
  • Stack protector enabled to prevent buffer overflow.
  • Other additional features: TTL target support, NTFS read/write support, Yama security, SECURITYFS, SECURITY_PATH support.
  • Most of unnecessary features are removed from the kernel for smaller size. Removed features are on 2nd post.

[SIZE=+1]Compatibility[/SIZE]​
  • IMPORTANT! Recoveries without built-in busybox support aren't supported by default. It may make your device unbootable after flashing. Chinese-made TWRP recoveries are known to be affected.
  • Xiaomi Redmi 3S/X isn't supported.
  • KudKernel v1.0-rc1 until v1.1 are only for 6.0.1/7.1.1 AOSP/CAF based ROMs without SECCOMP support.
  • KudKernel v1.2 is only for 6.0.1/7.1.1 AOSP/CAF based ROMs with(out) SECCOMP support.
  • Chtolly Kernel r7 and newer are only meant for 7.1.2 AOSP/CAF based ROMs with rebased kernel source.

[SIZE=+1]Downloads[/SIZE]​
Hosted with love on AndroidFileHost.
No mirrors are permitted.

[SIZE=+1]Installation[/SIZE]​
  • Make sure you're using the latest version of TWRP Recovery.
  • Reboot your device into recovery mode.
  • Tap "Install".
  • Select Chtolly Kernel zip (chtolly-rx-ido-yyyymmdd.zip).
  • Enable "Zip signature verification" to make sure you're not flashing a broken package!
  • Swipe flash button.
  • Enjoy KudProject release!

[SIZE=+1]Uninstallation[/SIZE]​
Just flash stock boot.img from your ROM, or just dirty flash your ROM. Re-apply systemless mods that you've.

[SIZE=+1]Special Thanks and Credits[/SIZE]​
  • The Linux Foundation (seriously)
  • CodeAurora Forum (CAF)
  • LineageOS
  • @Anik_khan, HighwayStar and ariafan from 4PDA
  • @thewisenerd - Extending kernel tree support to ferrari
  • @The Flash, @frap129, and @USBhost - The awesome GCC build script!
  • @franciscofranco, @arter97, @flar2
  • Other developers who I can't mention them all or I might get this section bigger than everything else. Credits for them are on commit identities.

XDA:DevDB Information
Chtolly Kernel (ido), Kernel for the Xiaomi Redmi 3

Contributors
krasCGQ
Source Code: https://github.com/KudProject/android_kernel_xiaomi_msm8916/tree/chtolly-n

Kernel Special Features:

Version Information
Status: No Longer Updated
Current Stable Version: r16
Stable Release Date: 2017-09-23

Created 2017-03-06
Last Updated 2017-09-23
 
Last edited by a moderator:

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,938
20
Kendari
kud.my.id
[SIZE=+1]Known Issues[/SIZE]​
  • HDR in some camera apps might not work.
  • For some reason, pstore files are generated even when there's no kernel panic on previous boot.
  • A random reboot might be expected during usage, but it's fine because nothing I can really do on this since LineageOS stock kernel has the same problem.

[SIZE=+1]To-Do Lists[/SIZE]​
  • None yet.

[SIZE=+1]Removed Features[/SIZE]​
  • System V IPC support
  • CPU boost
  • dev/mem support
  • conservative, userspace, and powersave CPU governors
  • All TCP congestions except westwood, cubic, and reno
  • Parts of debug and tracing stuffs
  • Everything else marked as disabled in this commit

[SIZE=+1]Additional Sources[/SIZE]​
 
Last edited:

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,938
20
Kendari
kud.my.id
[SIZE=+1]Changelogs[/SIZE]​
Only list brief changes. Complete changes could be viewed here at anytime.

r16 - 23-09-2017 (UTC+8) - EOL
  • Included Blueborne vulnerability fix.
  • Compiled with newer toolchain.

r15 - 29-08-2017 (UTC+8)
  • Merged CAF tag LA.BR.1.2.9-03610-8x16.0.
  • Up-to-date SDcardFS changes.
  • Compiled with Linaro GCC 7.2.1. (link to toolchain is in 2nd post)

r14 - 15-08-2017 (UTC+8)
  • doubletap2wake support for FocalTech panels.
    Credits to flar2 for wake gestures driver and ariafan for porting it to Redmi 3.
  • Laptop mode is enabled by default.
  • Compiled with newer toolchain. (GCC 7.2.1 20170815)
  • Various tweaks and improvements.

r13 - 06-08-2017 (UTC+8)
  • Back to BusyBox NDK from osm0sis and updated to v1.27.1. Fixes SuperSU not detecting root.
  • Roll back WLAN (prima) driver to lnx.1.0-00156.
  • Spectrum: Reset kernel profile back to Balanced every reboot.
  • Fixed some internal conflicts between init scripts and Spectrum profiles.

r12 - 03-08-2017 (UTC+8)
  • Quick update to (really) enable ZZMoove CPU governor.

r11 - 02-08-2017 (UTC+8)
  • Initial Spectrum support! Download Spectrum from Play Store.
  • Merged CAF release LA.BR.1.2.9_rb1.23.
  • Updated WLAN (prima) driver to lnx.1.0-00160.
  • Switched BusyBox binary to YDS-v1.27.1. (YashdSaraf)
  • Added FIOPS I/O scheduler and set it as default on boot.
  • Added ElementalX (flar2) and ZZMoove (ZaneZam) CPU governors.
  • Merged tweaks for CFQ, BFQ, and deadline I/O schedulers for non-rotational devices.
  • Reduced debugging and security hardening.
  • Compiled with newer toolchain (GCC 7.1.1 20170802).
  • Various fixes and improvements.

r10 - 14-07-2017 (UTC+8)
  • Updated WLAN (prima) driver to lnx.1.0-00156.
  • Enabled all new features on latest prima driver.
  • Fixed ramdisk files permissions.
  • Killed powersave and cyan (unstable!) CPU governors.
  • Included Busybox NDK 1.26.2 (osm0sis) into /sbin & symlink all applets.
  • Picked most of cherry-picks from msm8916 common kernel tree. (may also include CVE patches...? Who knows?)
  • Restored Adaptive LMK settings that was removed on device tree level. Default is still disabled and not tested.
  • Bring SDcardFS into latest android-3.10 changes per 14 July.
  • Compiled with newer toolchain (GCC 7.1.1 20170714).
  • AK2: Bring latest arm64 mkbootimg and unpackbootimg binaries.

r9 - 06-07-2017 (UTC+8)
  • General customization of kernel features. See all changes here cause it'll make this changelog no longer as brief as it should.
  • Added and enabled experimental cyan CPU governor (emre3461) ported from exynos5410 kernel platform over MSM interactive.
  • Switchover to -Ofast optimization flags. Expect more bloated zip!
  • Compiled with newer toolchain.

r8 - 29-06-2017 (UTC+8)
  • Updated CAF base to LA.BR.1.2.9_rb1.22.
  • Updated Linux kernel base to 3.10.107.
  • Updated WLAN (prima) driver to lnx.1.0.c4-00039.
  • Compiled with newer toolchain.
  • Re-enabled /dev/kmem support.
  • Restored core_ctl with modified parameters; hotplug only performance cluster.
  • Backported core_ctl from Linux 3.18. (Aviraxp)
  • Devfreq governor whitelist. (Sultanxda, Aviraxp)
  • Hardware wakelock suppressor v2 (nutcasev1.5)
  • Default entropy values are now 512 (read) and 256 (write). Fixed a stupid bug with entropy that causes high CPU load by system.
  • Some improvements (?)
  • Cosmetic updates to the updater-script. (lel)

r7 - 17-06-2017 (UTC+8)
Brief changes:
  • Kernel that you might know as KudKernel, is now Chtolly Kernel. Old KudKernel builds however, are still archived for those who need them.
  • Rebased and updated CAF base to LA.BR.1.2.9_rb1.18.
  • Updated Linux kernel base to 3.10.106.
  • Updated WLAN (prima) driver to lnx.1.0.c4-00036.
  • Compiled using GNU GCC 7.1.1 toolchain.
  • Properly optimized for Cortex A53 CPUs.
  • Removed core_ctl.

As KudKernel:
v1.2 - 11-04-2017 (UTC+8)
  • Compatibility against next LineageOS Nightly build and some ROMs built after April 5th.

v1.1 - 29-03-2017 (UTC+8)
  • Untested build, but it should be as stable as v1.0.
  • Updated CAF base to LA.BR.1.2.9_rb1.14
  • Merged two latest LineageOS changes, which are sound fix. Use it with latest LineageOS to avoid problems.
  • Enabled NetFilter TTL support

v1.0 - 18-03-2017 (UTC+8)
  • Added exFAT driver 1.2.24
  • Added nebula and smartmax CPU governors
  • Added FIOPS and zen I/O schedulers
  • Added KCAL control, LiveDisplay to KCAL interface
  • Updated F2FS driver to v4.11-rc1
  • Updated sdcardfs
  • Backported random driver from Linux 4.2
  • Enabled 2A charging current
  • Disabled Intel governor
  • Disabled stack protector (should fix some performance issues with some users)
  • Fixed cpuinfo reporting msm8916 instead of msm8939
  • Removed -funsafe-math-optimizations (already enabled by -ffast-math)
  • Boot with FIOPS I/O scheduler
  • Reduced minfreq to 400MHz on both clusters
  • Reduced thermal limit to 60°C
  • More fixes and improvements (check GitHub repo for details)

v1.0-rc2 - 11-03-2017 (UTC+8)
  • Compiled using Linaro GCC 6.3.1 2017.01
  • Updated CAF base and prima driver to LA.BR.1.2.9_rb1.12
  • Reduced maximum frequency to 960MHz (performance) / 800MHz (powersave) after boot
  • Added Intel governor
  • Some improvements

v1.0-rc1 - 06-03-2017 (UTC+8)
  • Initial release on xda-developers
 
Last edited:

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,938
20
Kendari
kud.my.id
[SIZE=+1]FAQ - Frequently Asked Questions[/SIZE]​
What do you recommend for kernel tuning app?

What are these governors/schedulers for?
Check this thread by @Saber. Everything you want should be there.

Why my performance cluster doesn't go deep sleep and/or always on high workloads?
1. If you use KA/-Mod, force close and clear data of the app then reboot.
2. Make sure you're tuning it right.

Help, seems like the profile doesn't apply.
Make sure you've run Spectrum for the first time at least once.

Can I flash this kernel on MIUI?
Yes, but Wi-Fi won't work. Don't blame me for this.

Can I share this to the xyz local forum?
Take a look at sharing policy in OP.
 
Last edited:

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,938
20
Kendari
kud.my.id
[SIZE=+1]Miscellaneous[/SIZE]​

[SIZE=+1]Off-topics?[/SIZE]​
Off-topics on my thread are permitted. However, please:
  1. Keep the thread civil.
  2. Take your fights privately. (please)
  3. No discussion of other kernels, nor comparing between them.
  4. No discussion of everything that is against XDA rules.
Here we go!
 
Last edited:
  • Like
Reactions: aing666 and tjengo

matheeus.af

Senior Member
Jul 22, 2016
170
748
São Paulo
25fkmiq.png

Working on CypherOS too ;)
 
  • Like
Reactions: krasCGQ

raffles496

Senior Member
Aug 17, 2013
155
59
Work in RR 5.8.1. Thanks for you support.
Greetings from Mexico.


Enviado desde mi Redmi 3 mediante Tapatalk
 

Attachments

  • Screenshot_20170306-190349.png
    Screenshot_20170306-190349.png
    84.6 KB · Views: 6,575

khnoizer

Senior Member
Sep 14, 2016
436
131
Malang
Nice, anyway, why would you plan to report permissive selinux as enforced on your planned list? Isn't it better if we know the true status instead?
 

krasCGQ

Recognized Contributor
Apr 13, 2015
5,433
4,938
20
Kendari
kud.my.id
Nice, anyway, why would you plan to report permissive selinux as enforced on your planned list? Isn't it better if we know the true status instead?
Some are enjoying Permissive SELinux instead but don't want SafetyNet to be triggered; that's why I'm planning that. Magisk Hide does that actually tho.

Sent from my Redmi 3 using XDA Labs
 
Last edited:

khnoizer

Senior Member
Sep 14, 2016
436
131
Malang
Some are enjoying Permissive SELinux instead but don't want SafetyNet to be triggered; that's why I'm planning that. Magisk Hide does that actually tho.

Sent from my Redmi 3 using XDA Labs

Oh, I see. But that's an optional feature, right? I personally prefer enforcing as I am a silly paranoid about security issues :laugh::laugh:.
 

Irwan Fauzi

Senior Member
Aug 19, 2011
476
40
Johor Bahru
Confirmed working with crdroid.. But the default io is still bfq. Thumbs up!

Edit: my bad its bfq default. I didn't finish reading kernel features sorry..
 
Last edited:

khnoizer

Senior Member
Sep 14, 2016
436
131
Malang
Dunno. Anything can happen :silly:

Sent from my Redmi 3 using XDA Labs

One more question, Mr. @krasCGQ (sorry, a newbie question :D), it was said that it based on CAF (code aurora) with patches from LOS. If I'm not wrong, CAF is either made or supported by Qualcomm (CMIIW), our chipset brand. As we knew that Xiaomi gave us broken kernel source, so we currently not able to compete adequately with MIUI because we don't have all the sources needed to maximize the performance of our hardware. So, with the existence of CAF (I might not completely understand the whole situation and what actually CAF is), in your opinion, how are our chances to emulate the power of MIUI on our device using LOS based roms?
 
Status
Not open for further replies.

Top Liked Posts

  • There are no posts matching your filters.
  • 50
    [SIZE=+1]Welcome to the new thread! KudKernel is now Chtolly Kernel and starts the release from r7.[/SIZE]​

    [SIZE=+1]About -or- What is this?[/SIZE]​
    A minimal, yet optimized custom kernel based off my modified LineageOS kernel source with my own additions and features that will be impossible to include into the main kernel.

    [SIZE=+1]Disclaimer[/SIZE]​
    • First of all, all builds here are my personal builds.
    • Not all features included are my work. And therefore, credits to all used works are available on the bottom of this post.
    • I'm not responsible for any damage caused by flashing my kernel. You're at your own discretion.
    • Sharing policy: Please share link to this thread instead of direct download link if you want to share my work elsewhere. Thank you.
    • I won't provide support for those who're flashing my kernel with zips other than ones provided in OP.

    [SIZE=+1]Features[/SIZE]​
    • Freshly compiled from Acer Aspire E5-475-37KP running Manjaro Linux 17.0.1 Gellivara and Linux kernel 4.9.44.
    • Based off my modified LineageOS kernel source, always updated with latest LineageOS kernel changes.
    • Included all changes from CAF LA.BR.1.2.9-03610-8x16.0 release tag.
    • Linux kernel updated to latest LTS release: Linux 3.10.107.
    • WLAN (prima) driver release lnx.1.0-00156.
    • Compiled using Linaro GCC 7.2.1 (link to the TC is at additional sources section).
    • Built with -Ofast optimization flags, targetting Cortex-A53 CPU platform.
    • Powered by AnyKernel2 backend (osm0sis).
    • Now with Spectrum support! Download Spectrum from Play Store.
    • Included latest Busybox NDK from osm0sis (v1.27.1), along with all symlinks into /sbin.
    • Adaptive LMK settings restored, allowing you to enjoy full potential of it.
    • Hacked thermal engine, throttle at 60'C with maximum clock while throttling is 960 MHz.
    • doubletap2wake support for FocalTech panels. (flar2, ariafan)
    • CPU minimum frequency is reduced to 200 MHz for both CPU clusters.
    • CPU governors available: performance (at boot), powersave, interactive (default), ondemand, nebula, elementalx, zzmoove, cyan.
    • I/O schedulers available: noop, deadline, ROW, CFQ, BFQ, FIOPS (default at boot), sioplus, zen.
    • TCP congestions available: reno, cubic, westwood, vegas, veno (default), illinois.
    • Wakelock Blocker to block most well-known Qualcomm wakelocks. (franciscofranco)
    • Power Suspend driver version 1.5 - power management kernel driver for Android without early suspend.
    • core_ctl backported from Linux 3.18. (Aviraxp)
    • Hardware wakelock suppressor v2. (nutcasev1.5)
    • Userspace controls for SW CRC check, Gentle Fair Sleepers, and Arch Power.
    • Stack protector enabled to prevent buffer overflow.
    • Other additional features: TTL target support, NTFS read/write support, Yama security, SECURITYFS, SECURITY_PATH support.
    • Most of unnecessary features are removed from the kernel for smaller size. Removed features are on 2nd post.

    [SIZE=+1]Compatibility[/SIZE]​
    • IMPORTANT! Recoveries without built-in busybox support aren't supported by default. It may make your device unbootable after flashing. Chinese-made TWRP recoveries are known to be affected.
    • Xiaomi Redmi 3S/X isn't supported.
    • KudKernel v1.0-rc1 until v1.1 are only for 6.0.1/7.1.1 AOSP/CAF based ROMs without SECCOMP support.
    • KudKernel v1.2 is only for 6.0.1/7.1.1 AOSP/CAF based ROMs with(out) SECCOMP support.
    • Chtolly Kernel r7 and newer are only meant for 7.1.2 AOSP/CAF based ROMs with rebased kernel source.

    [SIZE=+1]Downloads[/SIZE]​
    Hosted with love on AndroidFileHost.
    No mirrors are permitted.

    [SIZE=+1]Installation[/SIZE]​
    • Make sure you're using the latest version of TWRP Recovery.
    • Reboot your device into recovery mode.
    • Tap "Install".
    • Select Chtolly Kernel zip (chtolly-rx-ido-yyyymmdd.zip).
    • Enable "Zip signature verification" to make sure you're not flashing a broken package!
    • Swipe flash button.
    • Enjoy KudProject release!

    [SIZE=+1]Uninstallation[/SIZE]​
    Just flash stock boot.img from your ROM, or just dirty flash your ROM. Re-apply systemless mods that you've.

    [SIZE=+1]Special Thanks and Credits[/SIZE]​
    • The Linux Foundation (seriously)
    • CodeAurora Forum (CAF)
    • LineageOS
    • @Anik_khan, HighwayStar and ariafan from 4PDA
    • @thewisenerd - Extending kernel tree support to ferrari
    • @The Flash, @frap129, and @USBhost - The awesome GCC build script!
    • @franciscofranco, @arter97, @flar2
    • Other developers who I can't mention them all or I might get this section bigger than everything else. Credits for them are on commit identities.

    XDA:DevDB Information
    Chtolly Kernel (ido), Kernel for the Xiaomi Redmi 3

    Contributors
    krasCGQ
    Source Code: https://github.com/KudProject/android_kernel_xiaomi_msm8916/tree/chtolly-n

    Kernel Special Features:

    Version Information
    Status: No Longer Updated
    Current Stable Version: r16
    Stable Release Date: 2017-09-23

    Created 2017-03-06
    Last Updated 2017-09-23
    26
    [SIZE=+1]The end of Chtolly/KudKernel era[/SIZE]​

    16 stable releases, 6 under KudKernel and 10 under Chtolly Kernel. 6 months of Nougat kernel journey, actually doesn't enough but sad to say I've to mark release 16 as the End of Life of my Nougat custom kernel lineup under these names. This last release only includes Blueborne vulnerability fix at kernel side, nothing major, nothing minor.

    However, last release doesn't mean that I'll be leaving development, I've something behind to work with, two devices, which isn't an easy task. I'm currently rebasing current ido kernel and working on mido kernel bringup. I've to balance them both, but I need to keep my principal of avoiding unnecessary things. My next kernel lineup will be probably 75% for Oreo.

    See you soon!
    Albert (Kras).
    14
    [SIZE=+1]Known Issues[/SIZE]​
    • HDR in some camera apps might not work.
    • For some reason, pstore files are generated even when there's no kernel panic on previous boot.
    • A random reboot might be expected during usage, but it's fine because nothing I can really do on this since LineageOS stock kernel has the same problem.

    [SIZE=+1]To-Do Lists[/SIZE]​
    • None yet.

    [SIZE=+1]Removed Features[/SIZE]​
    • System V IPC support
    • CPU boost
    • dev/mem support
    • conservative, userspace, and powersave CPU governors
    • All TCP congestions except westwood, cubic, and reno
    • Parts of debug and tracing stuffs
    • Everything else marked as disabled in this commit

    [SIZE=+1]Additional Sources[/SIZE]​
    14
    Finally, I'm coming back for real into Redmi 3 kernel development!
    I was busy and it takes me full two weeks to work into kernel, especially after rebasing it over new LineageOS kernel. Some features you wanted to see might not here, but some of them may return in the next version. Sorry if you feel like I'm disappointing you.

    Brief changes:
    • Kernel that you might know as KudKernel, is now Chtolly Kernel. Old KudKernel builds however, are still archived for those who need them.
    • Rebased and updated CAF base to LA.BR.1.2.9_rb1.18.
    • Updated Linux kernel base to 3.10.106.
    • Updated WLAN (prima) driver to lnx.1.0.c4-00036.
    • Compiled using GNU GCC 7.1.1 toolchain.
    • Properly optimized for Cortex A53 CPUs.
    • Removed core_ctl.

    For full features of the new kernel, take a look at the revamped OP.
    Enjoy!
    12
    Hi,
    Kernel release 14 is now available to download.
    This version onwards will now include doubletap2wake support for FocalTech panels (thanks to flar2 for wake gestures driver, and ariafan for porting it to Redmi 3). Kernel is now compiled with GCC version 7.2.1. Enjoy!

    Regards,
    Kras.
Our Apps
Get our official app!
The best way to access XDA on your phone
Nav Gestures
Add swipe gestures to any Android
One Handed Mode
Eases uses one hand with your phone