
Philosophy
I just wanted to start off with the goal of my kernel. Draco Kernel isn't a feature-rich kernel, nor is it a performance-bias or power-bias kernel. Draco Kernel includes a collection of innovative commits (no backports or upstreams), designed to improve the efficiency of the device. Ideally, I will keep Draco Kernel up-to-date with the OnePlus official source code. The WiFi drivers will be imported from the latest 8.1-r1 CAF tag.
Upstreaming?
The reason I don't upstream is simply because I do not wish to risk instability in the kernel. Most people use their OnePlus as their daily driver, and I wouldn't want any potential panics or data loss due to a bad upstream. I'll leave the upstreaming to CAF and OnePlus, as they have the means for a more in-depth testing method.
Basic Features
Code:
- Minimal debugging and tracing
- No messy upstreams / backports that might cause issues down the line
- Performance and efficiency focused
- Multiqueue I/O scheduling
- Scheduler tweaks and hacks
- CPU governor adjustments
- ZERO in-kernel boosting while maintaining a smooth userspace
Advanced Features
This is just from the first official beta, so this list may change in the future.
Code:
- Remove AVB checks
- Disable SECCOMP (faster syscalls)
- Disable Audit (expensive in Android)
- Use non-blocking random pool
- Target small cluster in Makefile
- Disable IRQ debugging
- Don't use high-priority workqueue for usb policy_engine
- Schedule last-woken task for better cache locality
- Reduce cache pressure to keep cache valid for longer
- Increase vmstat interval to reduce intermittent jitter
- Adjust dirty ratios to writeback dirty pages later rather than sooner
- Do not collect I/O stats from block subsystem
- Don't dump oom_killed tasks
- Do not use UFS for randomness
- Disable ASLR fully by default (performance not benchmarked)
- Disable JTAG debugging by default
- Do not compile HIGHMEM (unused by our system)
- Do not compile watchdog (reduces jitter)
- BFP JIT (better networking performance)
- Increase haptic strength
- Allow GPU to sleep / nap
- Do not compile zRAM (unnecessary for this kernels MM settings)
- Do not perform readahead (proven to improve power and performance by 70%)
- Align scheduler timeslices with jiffies
- Overcommit memory for faster Android start times
- Remove a bunch of debug and tracing that is unnecessary for the kernel
- Remove schedutil hispeed boosting
- Remove iowait boosting (saves a large amount of battery)
- More that I forgot
Downloads
I will be releasing kernel versions on both GitHub Releases and on Telegram in the official group.
GitHub (no sign in): https://github.com/tytydraco/kernel_oneplus_guacamole/releases
Telegram (group): https://t.me/dracokernel
Source code: https://github.com/tytydraco/kernel_oneplus_guacamole
Donate
I am currently seventeen years old, and I am heading to college in the fall. If you appreciate my work and would like to give something back to me, I accept donations via PayPal
http://www.paypal.me/LockscreenMods
Contact
I love user feedback; it helps me improve my work for the better.
For kernel feedback or issues, please send a message in the official telegram chat for Draco Kernel: https://t.me/dracokernel.
For personal questions or if you are in need of an urgent response, you can contact me directly on telegram @tytydraco.
For anything else, please email me at [email protected] and we can chat!
Meta
- Toolchain: Latest Available Google Prebuilt Clang (subject to updates)
- Toolchain (companion): GCC 4.9
- Main branch: Android-10-Rebase
Please enjoy my kernel, and join us on the telegram channel!
Last edited: