Documentation - Kyliekyler/MAGNETAR GitHub Wiki

The purpose of this page is to give you all information about MAGNETAR.
MAGNETAR requires root privileges to operate. Before entering any MAGNETAR CLI commands, the user must first grant root permission to the terminal emulator using the su command. Example commands that are executed under # prefix are executed with root permission.
Example Usages:
$ su
# magnetar --help
$ su -c magnetar --manual
MAGNETAR employs a machine learning algorithm to improve overall user experience by adapting how things are set and/or controlled based on how user interact with the device.
-
trainBegin force training of the algorithm; this command may take some time to execute depending on how much data is already on the device.
-
resetReset machine learning data; this command will erase learn rates and may result in incorrect adaptation based on user usage after resetting. Keep in mind that the longer a user uses MAGNETAR, the better it will become at adapting.
Example Usages:
# magnetar --ai train
# magnetar --ai reset
ART performs better than JIT (just-in-time) compilation into bytecode because it uses AOT (ahead-of-time) compilation into native code. ART can be configured to perform this optimization in a variety of ways.
-
disableDisables MAGNETAR+'s automatic ART optimization; changing the profile will re-enable it.
-
optimizeRun the background dexopt job; this command will optimize the background dexopt job, which may take some time to complete.
-
profileRecompile native app code to specific profiles; this command requires MAGNETAR+ to function. This allows the user to select optimization profiles such as the ones listed below:
-
balanceProvides a balance between performance and memory usage.
-
everythingHas the most optimizations enabled, which results in the best performance but also the largest memory usage.
-
everything-profileA version of the
everythingprofile that has additional optimizations based on profiling data collected during runtime. -
sizeHas optimizations enabled that result in smaller memory usage at the cost of some performance.
-
size-profileA version of the
sizeprofile that has additional optimizations based on profiling data collected during runtime. -
spaceHas optimizations enabled that result in smaller memory usage, such as more aggressive garbage collection.
-
space-profileA version of the
spaceprofile that has additional optimizations based on profiling data collected during runtime. -
speedHas optimizations enabled that result in faster performance but with a larger memory footprint.
-
speed-profileA version of the
speedprofile that has additional optimizations based on profiling data collected during runtime.
-
Exanple Usages:
# magnetar --art optimize
# magnetar --art profile speed-profile
MAGNETAR allows users to send a bugreport directly from its CLI; however, user must have an active internet connection to send the file to the bugreport channel. Security-related issues must be reported in accordance to the Bug Bounty Program.
Example Usage:
# magnetar --bugreport
MAGNETAR allows the user to backup, restore, load, unload, and share their settings. Sharing configuration allows several users to use the device-tailored configuration on their device, but it requires an internet connection to be able to share the file. The shared configuration can be obtained in the config channel. Advanced users should see the Guide for Custom Configuration.
-
exportBack up user configuration in the MAGNETAR folder on the internal storage.
-
importSelece and choose what to be restored as the one listed below:
-
allRestores all configuration from the chosen file.
-
aiRestore the machine learning learn-rates from the file.
-
customRestore custom configuration from the file.
-
databaseRestore all per-app profiling from the file.
-
userRestore only the common configuration such as mode, thermal, etc. from the file.
-
-
loadLoads the custom-made configuration from MAGNETAR folder on internal storage.
-
unloadUnloads the custom configuration and not to be used by MAGNETAR.
-
viewView loaded custom configuration.
Example Usages:
# magnetar --config import all
# magnetar --config export
# magnetar --config load file
MAGNETAR allows users to manage the CPU cores with variable intensity. This can also be set per-application with MAGNETAR+.
-
dynamicAutomatically controls the CPU cores depending on the device usage.
-
lightDisables one of the big CPU core to reduce power consumption with little to no changes on overall experience.
-
moderateDisables one of the big CPU core and one of the small CPU cores to further reduce the power consumption with a minor impact on device performance especially under high load
-
aggressiveDisables 2 small CPU cores and 1 big CPU core to extremely cut the power consumption of the device but brings noticeable effects the device's overall performance even on moderate loads.
Example Usages:
# magnetar --core-control dynamic
# magnetar --core-control disable
Adding:
# magnetar --core-control set <profile> <com.package.name>
Removing:
# magnetar --core-control unset <com.package.name>
MAGNETAR allows users to manage and view saved data for per-app profiles such as renderer, refresh rate, kcal, and others...
-
customView the custom profiles created.
-
staticFind out which games MAGNETAR might be able to detect automatically on the device.
-
refreshUpdates the static database app list; use this command to allow MAGNETAR to detect a newly installed app.
-
resetDelete
allor specific databases, such as the ones listed below:modekcalpreloadramrefresh-raterendererthermalthresholdtouch-rate
Example Usages:
# magnetar --database custom
# magnetar --database static
# magnetar --database reset renderer
In doze mode, the system tries to save battery life by limiting app access to network and CPU-intensive services. It also prevents apps from connecting to the network and postpones their jobs, syncs, and standard alarms. With MAGNETAR, users can select a preset profile to help them restrict apps with varying intensities, as shown below:
-
defaultStrikes a balance between conserving battery life and allowing important notifications and updates to come through.
-
lightPrioritizes battery conservation over allowing notifications and updates to come through.
-
moderateStrikes a balance between conserving battery life and allowing important notifications and updates to come through, with a slightly higher emphasis on battery conservation.
-
aggressivePrioritizes battery conservation over allowing notifications and updates to come through, and may be more restrictive in terms of which notifications and updates are allowed.
-
extremePrioritizes battery conservation above all else and may be very restrictive in terms of which notifications and updates are allowed.
Example Usage:
# magnetar --doze aggressive
MAGNETAR allows compatible kernels to enable or disable the force fast charging feature; enabling this feature may cause the device to overheat due to the faster charging speed.
-
enableEnable the fast charging feature.
-
disableDisable the fast charging feature.
Example Usage:
# magnetar --fastcharge disable
MAGNETAR enables a game dashboard-like experience for a more immersive gaming experience.
-
enableEnable DND and disable automatic brightness while playing games.
-
disableTurn off this feature completely.
Example Usage:
# magnetar --game enable
MAGNETAR allows users to select different color profiles for the device's screen as well as set per-app color profiles; however, setting per-app color profiles requires MAGNETAR+.
-
defaultMake use of the device's standard color profile.
-
coffeeCoffee-colored color profile.
-
cozyA nice looking warm color profile.
-
lucidImproved color profile for a more appealing appearance.
-
nostalgiaA saturated color profile from an early version of MAGNETAR.
-
obsidianDeep color profile with a slight saturation boost.
Example Usage:
# magnetar --kcal obsidian
Adding:
# magnetar --kcal set <profile> <com.package.name>
Removing:
# magnetar --kcal unset <com.package.name>
MAGNETAR allows the user to generate a secure key that will be used to register for MAGNETAR+ and/or check the status of the registration.
-
generateGenerates the MAGNETAR+ registration key.
-
verifyCheck the status of user verification, whether it is a basic or MAGNETAR+ user.
Example Usages:
# magnetar --key generate
# magnetar --key verify
MAGNETAR allows users to view and/or export logs as needed.
-
activityDisplays user activity logs.
-
debugDisplay the debug log, which is displayed whenever MAGNETAR encounters an error while setting something on the user device.
-
exportSave logs to the MAGENTAR folder on internal storage.
Example Usages:
# magnetar --log debug
# magnetar --log export
MAGNETAR enables user to run and/or configure modes per application. Cooldown and sleep modes, for example, cannot be overridden.
-
disableThis will disable tuning profiles and run MAGNETAR as daemon-only mode in which other functionality like kcal, refresh-rate, etc. will still work.
-
adaptive(Recommended)This mode employs MAGNETAR's machine learning and includes all available modes; it will dynamically adjust device tuning as the ML predicts the best mode for the scenario.
-
endurance+This mode reduces CPU and GPU frequencies by 30%, favoring battery life over performance and giving user an extra screen on time. This option is not available through the CLI, but it can be enabled by enabling system battery saver or automatically by the powersave option.
-
enduranceThis mode reduces CPU and GPU frequencies by about 25%, allowing user to gain an extra screen on time at the expense of performance.
-
balanceThis mode reduces CPU and GPU frequencies by about 20%, giving user just enough performance while saving battery life.
-
balance+This mode will still reduce frequencies by 10% of CPU and GPU, enough to handle heavy tasks but not all the way through.
-
extremeIn this mode, the CPU and GPU frequency limiter is removed to maintain good quality performance suitable for heavy tasks and/or games at the expense of battery life.
-
gameIn this mode, the CPU frequency limitation is disabled, input boost frequencies are set to maximum, and the GPU frequency is also set to maximum to maintain excellent gaming performance at the expense of battery life. This option is not available via CLI, but it will be activated automatically in adaptive mode when playing games for basic users. Only MAGNETAR+ users have the ability to lock and/or configure per-app game mode.
-
cooldownThis mode gradually reduces performance; the longer it is active, the lower the performance the user will receive to prevent the device from overheating. This action can be sped up or slowed down by lowering or raising the threshold value and/or charging the device.
-
sleepThis mode will be activated after the device has been put to sleep, and it will perform other maintenance tasks before pausing MAGNETAR's processes, which will resume once the device is turned back on.
Example Usage:
# magnetar --mode balance+
Adding:
# magnetar --mode set <profile> <com.package.name>
Removing:
# magnetar --mode unset <com.package.name>
The user has the option to disable or enable the MAGNETAR notification service.
-
enableTurn on notification service.
-
disableTurn of notification service.
Example Usage:
# magnetar --notification disable
With MAGNETAR, user can set an automatic power saver between 0 and 50 percent battery capacity.
-
0-50A value between 1 and 50 tells MAGNETAR when to enable endurance+ mode and overrides other modes. If set to 0, this functionality is disabled.
Example Usage:
# magnetar --powersave 25
With MAGNETAR, the user can preload applications in physical RAM, which speeds up read speeds. This feature requires MAGNETAR+ to function.
-
loadLoads the application into the RAM.
-
unloadUnload the preloaded application from RAM.
Example Usage:
# magnetar --preload unload <com.package.name>
MAGNETAR gives the user the ability to manage RAM in a variety of ways. This can also be configured per application, but only if the user is registered with MAGNETAR+.
-
disableDisables the LMK tuning. This option requires reboot.
-
dynamicAdjusts the LMK behavior based on the amount of free RAM available on the system.
-
balanceStrikes a balance between conserving memory and preserving system performance.
-
lightPrioritizes preserving system performance over conserving memory and may be less aggressive in killing processes.
-
moderateStrikes a balance between conserving memory and preserving performance, with a slightly higher emphasis on memory conservation.
-
aggressivePrioritizes conserving memory over preserving performance and may be more aggressive in killing processes.
Example Usage:
# magnetar --ram dynamic
Adding:
# magnetar --ram set <profile> <com.package.name>
Removing:
# magnetar --ram unset <com.package.name>
MAGNETAR allows the user to customize the refresh rate for each application and/or globally. This does not apply to devices that do not support multiple screen refresh rates.
-
disableDisables the refresh-rate manager.
-
integer(According to device refresh-rates)Sets the devices' refresh rate. This option may also be available for dynamic refresh-rate.
Example Usage:
# magnetar --refresh-rate 60-120
Adding:
# magnetar --refresh-rate set <profile> <com.package.name>
Removing:
# magnetar --refresh-rate unset <com.package.name>
MAGNETAR allows the user to configure the renderer, even per application. It can also be turned off.
-
openglIs a cross-platform, royalty-free 3D graphics API that is widely used on Android devices. It is compatible with a wide range of hardware and provides support for advanced features such as shaders, textures, and lighting.
-
skiaglIs an OpenGL-based 2D graphics library that is used by many Android applications. It is designed for high performance and provides support for anti-aliasing, blending, and gradients.
-
vulkanIs a low-level, cross-platform 3D graphics API that is designed for high performance and efficient use of modern graphics hardware. It provides developers with direct control over the GPU, making it ideal for demanding applications such as gaming and virtual reality.
-
disableDisable renderer manager; setting another renderer activates renderer manager again.
Example Usage:
# magnetar --renderer skiagl
Adding:
# magnetar --renderer set <profile> <com.package.name>
Removing:
# magnetar --renderer unset <com.package.name>
MAGNETAR allows the user to reduce the device's resolution, freeing up GPU resources for improved rendering performance at the expense of graphics quality. Be aware of the setting resolution and confirm that the phone is operational before locking it. This option can also be set per application for Android 12 or newer devices registered with MAGNETAR+.
-
50-90Select a percentage for device resolution; 100% will set the device's native screen resolution.
-
disableDisable resolution manager; setting resolution will re-enable it.
-
syncSynchronize the DPI to allow MAGNETAR to rescale the resolution as it appears on the screen.
-
fixResolves UI and in-app elements that break after changing resolution.
Example Usage:
# magnetar --resolution 69
Adding:
# magnetar --resolution set <profile> <com.package.name>
Removing:
# magnetar --resolution unset <com.package.name>
With MAGNETAR, the user can disable or enable system thermals. Disabling may improve performance, but it may cause the phone to heat up faster and degrade battery life more quickly over time. Furthermore, for safety reasons, disabling thermals does not disable MAGNETAR cooldown mode. This option is also available per application, but it is only available to MAGNETAR+ users.
-
enableTurns on system thermals and, if applicable, custom thermals.
-
disableDisable and override thermals.
Example Usage:
# magnetar --thermal enable
Adding:
# magnetar --thermal set <profile> <com.package.name>
Removing:
# magnetar --thermal unset <com.package.name>
With MAGNETAR, the user can change the threshold to delay or advance cooldown mode activation. This only allows for a temperature range of 40-50 degrees Celsius, and the base threshold is subtracted by 3 when charging. This option is also available per application, but it is only available to MAGNETAR+ users.
-
40-50The threshold value at which MAGNETAR's cooldown mode feature is activated. Setting threshold value to 49 or 50 would require MAGNETAR+.
Example Usage:
# magnetar --threshold 45
Adding:
# magnetar --threshold set <profile> <com.package.name>
Removing:
# magnetar --threshold unset <com.package.name>
MAGNETAR allows users to adjust the touch-rate on their device, which can improve the overall touch experience. It also offers per-app touch rate profiling, allowing users to configure different touch rates for different applications for those who have registered with MAGNETAR+. This can improve touch response, particularly for apps that demand faster touch input processing. Touch-rate refers to the pace at which the device registers and processes touch inputs, thus raising the touch-rate can result in faster and more responsive touch interactions.
-
defaultThe default touch sensitivity is the standard level of responsiveness set by the manufacturer. It is a balanced setting that provides a good balance of sensitivity and accuracy.
-
lowThis profile reduces the touch sensitivity to make it easier for users with less dexterity to interact with the screen. It can also help prevent accidental touches.
-
mediumThis profile provides a slightly higher level of touch sensitivity than the default profile. This can be useful for users who prefer a more responsive screen, but still want to maintain a good level of accuracy.
-
highThe high touch sensitivity profile provides the maximum level of responsiveness, making it easier to quickly interact with the screen. However, this setting may also result in more accidental touches and a decreased level of accuracy.
Example Usage:
# magnetar --touch-rate medium
Adding:
# magnetar --threshold set <profile> <com.package.name>
Removing:
# magnetar --threshold unset <com.package.name>
MAGNETAR allows users to install/check updates and switch between stable and pre-release update channels. However, only MAGNETAR+ users can install the update from the CLI and/or switch to the pre-release channel.
-
checkTo get the latest MAGNETAR updates.
-
stableSwitch updates channel to stable.
-
pre-releaseSwitch updates channel to pre-release. Switching to pre-release channel requires MAGNETAR+.
Example Usage:
# magnetar --update check
MAGNETAR allows users to check and manage user configurations.
-
viewShow the MAGNETAR configuration.
-
resetClear all MAGNETAR configuration.
Example Usage:
# magnetar --user view
Can't seem to find what you're looking for or getting an error message? Some of the commands in the wiki may not be available for all MAGNETAR versions, but it is equipped with a manual to guide users based on the version they have.
Check Out: magnetar --manual