SysctlGUI is a Android application designed for power users, developers, and enthusiasts who want to
fine-tune their device's performance by directly editing kernel parameters.
It provides a user interface for the sysctl
command-line utility,
making advanced kernel tweaking accessible and manageable.
Important: This app requires root access to work.
- Parameter Management: Easily browse the filesystem or search a comprehensive list to find kernel parameters, with in-app documentation to help you understand their impact.
- Persistent Tweaks: Automatically reapply your chosen settings on every boot.
- Configuration Profiles: Save and load sets of parameters from configuration files, making it simple to switch between different performance profiles or share your setup.
- Favorites System: Mark frequently used parameters for quick and easy access.
- Tasker Integration: Automate the application of kernel parameters in response to specific events using Tasker. SysctlGUI provides a Tasker plugin, allowing you to trigger parameter application based on a wide range of conditions/states.
This project utilizes a modern Android development stack, leveraging a comprehensive suite of libraries and tools:
- Core & Architecture:
- Architectural Patterns: MVI, reactive and maintainable.
- Kotlin: For modern, concise, and safe programming.
- Android Jetpack:
- Lifecycle
- ViewModel
- Navigation Component
- Room: For local data persistence.
- WorkManager: For deferrable, asynchronous tasks.
- UI Development:
- Jetpack Compose: For building native UIs with a declarative approach.
- Compose Material 3 & Material Components
- Jetpack Glance: For creating App Widgets with Jetpack Compose.
- Jetpack Compose: For building native UIs with a declarative approach.
- Asynchronous Programming:
- Kotlin Coroutines & Flows: For efficient and structured background tasks and reactive data streams.
- Utilities:
- Koin: Dependency injection framework for Kotlin.
- Ktor Client: For making HTTP requests (used for parameter documentation).
- Libsu: For interacting with root services.
- Jsoup: For parsing HTML (used for parameter documentation).
- Kotlinx Serialization: For JSON serialization/deserialization.
Contributions are always welcomed. Please see the contributing guide for more details on how to contribute with this project.
If you'd like to help translate the app into other languages, please see the translation guide for instructions on how to get started. Your contributions will help make SysctlGUI accessible to a wider audience.
This project is licensed under the terms of the MIT license.
Copyright (c) 2019-2025 Lennoard.
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.