Aether_OptExt
A thread allocation extension module suitable for the Aether scheduler
A Magisk/KernelSU module that pins Android app threads to specific CPU cores to improve performance.
Aether OptExt is a tool for Android phones that changes which CPU cores an app's threads run on, aiming to make games and other apps run more smoothly. It installs as a module through Magisk or KernelSU, which are systems that let modified Android devices load low-level add-ons. This is not a general-purpose app; it targets rooted Android devices where the user wants finer control over performance.
The tool reads a configuration file that lists specific apps by package name and tells the system which CPU cores each type of thread in that app should use. For example, a game's rendering threads might be pinned to the phone's fastest cores, while background or network threads get sent to slower, more efficient cores. Rules can match threads by exact name, wildcard patterns, or ranges, and the most specific matching rule wins.
For apps that are not already listed in the configuration, the tool can automatically guess a reasonable thread assignment by looking at thread names and estimating how demanding each one is, then remembering that guess for next time.
The project includes an optional feature that uses eBPF, a Linux kernel technology, to detect when a new app process starts almost instantly, rather than repeatedly scanning the system for new processes. It also automatically detects the phone's specific arrangement of CPU cores (fast cores, slow cores, and how many of each) so it can apply an appropriate scheme without manual setup.
The project is written in Rust and built using a Python build script that compiles it for Android's ARM64 architecture. It requires the Rust toolchain and the Android NDK to build from source. It is released under the GPL-3.0 license, and the author notes the project may be freely studied and referenced but should not be redistributed with modifications.
Where it fits
- Pin a specific game's rendering threads to a phone's fastest CPU cores for smoother gameplay.
- Automatically assign CPU cores to apps that are not already covered by a custom configuration.
- Reduce power use by sending low-priority background threads to a phone's efficiency cores.