Android OS Forum banner

[KERNEL][27 MAR] GLaDOS V2.3 for JB 4.2.2

480K views 3K replies 392 participants last post by  droidlover 
#1 · (Edited by Moderator)
Aperture Laboratories presents

GLaDOS V2.3

The latest innovation in human-smartphone interaction. Our scientist have shown in extensive tests that humans operating our kernel on their devices experience 67% more joy in life while simultaneously the likelihood of being maimed or killed by falling space debris is significantly reduced. Also preliminary human trials indicate that it might offer some protection against lethal dosages of gamma radiation and blows to the head with a rod-like object.

Features:
  • Based on stock Android kernel Jelly Bean 4.2.2 JDQ39
  • Live OC version 2
  • Custom Voltage version 3
  • Battery Life eXtender (BLX) version 1
  • SLQB memory allocator
  • Simple I/O (SIO) and Read-over-Write (RoW) block schedulers
  • Color Control version 4 (based on supercurio's idea)
  • CPUfreq governor 'Wheatley'
  • Additional 1.4GHz, 1.6GHz, 1.8GHz and 2.0GHz MPU frequency slots
  • Sound Control version 1
  • Temp Control version 1
  • Vibrator Control version 1
  • FSync Control version 1
  • USB Fast Charge
  • Gamma control
  • WiFi low latency power mode
  • CIFS (as module)
  • TUN (as module)
  • NFS client + server (as module)
  • NTFS read/write support (as module)
  • Cleaned out all unnecessary kernel features and drivers
  • Various other tweaks

The kernel is compatible with all versions of the Galaxy Nexus no matter GSM or LTE or which carrier.

I do not support the Cyanogen Mod (CM) ROM and if you run into any problems using it with this kernel you are on your own.

Download (V1.X only for 4.0.3/4.0.4 ICS ROMs; V2.0 and V2.1 only for 4.1.1/4.1.2/4.2.1 JB ROMs; V2.2 only for 4.2.2 JB ROMs):
http://goo-inside.me...DOS-GalaxyNexus (thanks to goo-inside.me for hosting)
http://d-h.st/users/Ezekeel/?fld_id=1707#files (thanks to Dev-Host for hosting)

GLaDOS Control app:
Market: https://market.andro...l.gladoscontrol
Android Pit (accepts Paypal): http://www.androidpi.../GLaDOS-Control

If you had a different custom kernel installed before, you might need to reflash the original kernel that came with your ROM (boot.img in zip).

During installation the cache partition, Dalvik-cache and modules and init.d scripts from previously installed kernels are cleaned.

Permission is granted to distribute these zips and links on non-English speaking sites and forums. However permission is not granted to distribute these zips and links on sites and forums with English as their main language; instead please link to this thread. See the explanation in post #4.

Source code:
https://github.com/E...DOS-nexus-prime

This kernel is optimized to run best at the default options. There no need to change options like for example CPUfreq governor or min/max frequency - changing anything can have a negative effect on stability and performance.

Do not use profiles or hotplugging, they are unnecessary and only lead to instabilities.

If you experience any problems and are on a nightly or kanged ROM, try the latest stable version of that ROM first. I will not give support or answer any questions if you do not try this before reporting a problem with the kernel.

If you experience stability problems like reboots, freezes, FCs and SoDs and you did OC, first try changing back to the stock settings. If this solves the problems, your OC configuration is not stable. There are some indications that OC settings which run fine at high battery charges might still cause problems at lower battery charges. So to be safe always check that your OC configuration runs fine at low battery like 5%.

When reporting a bug always include information about your ROM and hardware model. Also be as precise as possible when describing the problem. Just because a single person is experiencing a problem, it does not mean there actually is a problem with the kernel. I always wait until at least one other person can confirm the issue before I look into it. So if you see someone posting a bug report, do not be shy and feel free to confirm the issue or if you do not have the problem let me know that too.

When asking for a feature you would like to see implemented in GLaDOS always provide a link with information about this tweak and preferably also a link to the source code.

Aperture bootanimation courtesy of Rascarlo ([twitter]rascarlo[/twitter]).
 
See less See more
#2 · (Edited by Moderator)
Changelog

GLaDOS-V2.3
  • Added RoW (Read-over-Write) I/O scheduler.
GLaDOS-V2.2
  • ONLY FOR JELLY BEAN 4.2.2 ROMS!
  • Update to Jelly Bean JDQ39 kernel sources.
  • Updated compiler to latest CodeSourcery 2012.09-64.
GLaDOS-V2.1
  • Included fix for the MPU max frequency reset on screen off.
GLaDOS-V2.0GLaDOS-V1.34
  • Removed TCP congestion scheduler 'veno'. Added schedulers 'westwood', 'illinois' and 'vegas' and made westwood default.
  • Fixed bug in Sound Control of the volume boost not being correctly applied after a notification sound has been played.
  • Added support to Custom Voltage for showing the calibrated SmartReflex voltage values for MPU, core and IVA in the sysfs interface.
GLaDOS-V1.33
  • Further improved stability for OC MPU frequency slots > 1.2GHz.
  • Fixed bug in Live OC causing freezes for MPU OC values > 107.
GLaDOS-V1.32
  • Improved stability for OC MPU frequency slots > 1.2GHz.
  • Added additional MPU frequency slots 1.8GHz and 2.0GHz.
GLaDOS-V1.31
  • Added interface for changing the gamma value.
  • Added support for WiFi low latency power mode.
GLaDOS-V1.30
  • Added kernel patches for Android 4.0.4 IMM76I update.
GLaDOS-V1.29
  • Added support to Custom Voltage for changing the regulator voltages.
  • Fixed bug in Touchwake.
  • Added back HID drivers included in the stock kernel needed for some BT devices.
  • Added support for USB Audio (as modules) for connecting external DACs.
  • Changed kernel config options for compatibility with Display Expert.
GLaDOS-V1.28
  • Fixed bugs in Vibrator Control and increased maximum vibrator strength to 1600.
GLaDOS-V1.27
  • Added Vibrator Control version 1.
  • Added FSync Control version 1.
  • Added Simple I/O (SIO) scheduler and made it default.
  • Removed Deadline I/O scheduler.
GLaDOS-V1.26
  • Added kernel patches for Android 4.0.4 update.
  • Fixed bug with Sound Control causing a freeze on boot with headphones attached.
  • The kernel installer no longer modifies the ramdisk for adding init.d support.
GLaDOS-V1.25
  • Fixed bugs with Color Control and Touchwake.
  • Added Temp Control version 1 (Imoseyon).
  • Logger module for logcat support is loaded on boot.
GLaDOS-V1.24
  • Fixed Sound Control problem with the cracking static noises.
GLaDOS-V1.23
  • Added USB Fast Charge.
  • High-performance audio mode is disabled by default.
GLaDOS-V1.22
  • Fixed Sound Control issue with delayed touch control sounds and other sound glitches.
GLaDOS-V1.21
  • Removed previous sound tweak and added Sound Control version 1.
GLaDOS-V1.20
  • Added audio tweaks supporting changing the volume boost and enabling/disabling high performance audio.
  • Added memcpy/memmove glibc functions improving performance of these memory operation.
GLaDOS-V1.19
  • Fixed stability issues when changing the MPU OC value with LiveOC.
GLaDOS-V1.18
  • Added 1.6GHz MPU frequency slot.
  • Fixed bug in Live OC of the min/max frequency values not being properly adjusted when changing the MPU OC value.
GLaDOS-V1.17
  • Added read/write support for NTFS (as a module).
  • Fixed rare graphic glitch when changing the color multiplier or V1 offsets with Color Control.
GLaDOS-V1.16
  • Fixed a bug and made some adjustments for Live OC.
  • Improvement for Color Control to work with the upcoming version of GLaDOS Control.
  • Added support for NFS V3.0 and V4.0 client and server (as modules).
GLaDOS-V1.15
  • Added 1.4GHz MPU frequency slot.
  • Added support to Color Control for disabling the safety preventing the color multipliers being raised above the stock values.
GLaDOS-V1.14
  • Override factory-set limitations for the MPU greatly increasing the OC potential.
GLaDOS-V1.13
  • Added a safety feature to Color Control to prevent the color multipliers to be raised above the stock values.
GLaDOS-V1.12
  • Added support for changing the color multipliers with Color Control.
  • Fixed issues with Custom Voltage.
GLaDOS-V1.11
  • Improved stability when switching the MPU, core/bus/RAM and GPU frequencies with Live OC.
  • Fixed several issues in Custom Voltage.
GLaDOS-V1.10
  • Improved stability when switching the core/bus/RAM frequencies with Live OC.
GLaDOS-V1.9
  • Removed static GPU/bus/RAM and IVA OC.
  • Added support for changing the core/bus/RAM and GPU frequencies on-the-fly with Live OC.
  • Added support for changing the core (GPU) and IVA voltages with Custom Voltage.
GLaDOS-V1.8
  • Fixed issue with static GPU/bus/RAM and IVA OC.
GLaDOS-V1.7
  • Fixed serious stability issue with Live OC.
  • Increasing the OC value with Live OC now also increases the frequency for the lowest state.
GLaDOS-V1.6
  • Added Custom Voltage.
  • Fixed a potential stability issue with Live OC.
GLaDOS-V1.5
  • Added back all stock governors and scaling_available_frequencies.
  • Added Aperture bootanimation courtesy of Rascarlo (many thanks).
GLaDOS-V1.4
  • Added 'Wheatley' CPUfreq governor and made it default.
GLaDOS-V1.3
  • Fixed the problem of the frequency not being set to maximum on boot.
  • Fixed a bug in Live OC.
GLaDOS-V1.2
  • Added jRCU.
  • Removed all governors except performance; removed scaling_available_frequencies.
  • Made sure the C-states > C1 are properly used during hardware-accelerated video playback.
GLaDOS-V1.1
  • Fixed excessive battery drain while in sleep.
GLaDOS-V1.0
  • Fixed a bug in Color Control.
  • Fixed a bug in Lazy.
  • Power down the MPU logic in the C4 state.
  • Removed support for limiting the frequency while screen off (with 'screen_off_max_freq' in the CPUfreq sysfs interface).
  • Changed default CPUfreq governor to 'performance'.
GLaDOS-V0.3
  • Added optimized compiler flags.
GLaDOS-V0.2
  • Removed bootanimation.
GLaDOS-V0.1
  • Initial beta release.
 
#3 · (Edited by Moderator)
Tweaks:

Values can be set using the echo command from adb shell or terminal (for example 'echo 1 > /sys/class/misc/touchwake/enabled') or set at boot using an init.d script or conveniently set with the GLaDOS Control app (Market: https://market.andro...l.gladoscontrol, Android Pit (accepts Paypal): http://www.androidpi.../GLaDOS-Control).

Touch Wake:

When screen times out, a tap to the screen activates it again. Works great in combination with a mod that delays/disables the lock screen implemented in some ROMs or with the 'No Lock' app.

Removed from kernel. Get my free 'eXperience' app: https://play.google.com/store/apps/details?id=aperture.ezekeel.experience

Battery Life eXtender (BLX):

Set a maximum charging limit for the battery. This increases the battery lifetime (slows down the decrease of the maximum charge by deteriorating physical/chemical processes) at the cost of reducing the maximum charge and thus the maximum battery runtime.

/sys/class/misc/batterylifeextender/charging_limit
default 100

Live OC:

OC the MPU (= CPU), core/bus/RAM and GPU while the device is running. The MPU and core/bus/RAM frequencies can be independently OC by increasing all corresponding frequencies by a certain percentage while for the GPU three performance settings are available.

/sys/class/misc/liveoc/mpu_ocvalue
MPU performance in % (default 100, so 110 means +10% MPU frequencies)

/sys/class/misc/liveoc/core_ocvalue
core/bus/RAM performance in % (default 100, so 110 means +10% core/bus/RAM frequencies; when changing the performance the device will enter standby and wakeup automatically 4sec later)

Changing the core/bus/RAM performance during the boot process can cause reboots, so do not use an init.d script for that. Waking up the device during the process will most likely result in a reboot or freeze. Make sure no background processes like music playback or a download are running. Activating airplane mode also helps to reduce the number of potential interferences.

/sys/class/misc/liveoc/gpu_performance
GPU performance setting (0 = 307.2MHz; 1 = 384MHz; 2 = 512MHz; default 0 = 307.2MHz)

Custom Voltage:

Set the nominal MPU (= CPU), core (includes bus, RAM and GPU) and IVA voltages and adjust the voltages for different regulators.

/sys/class/misc/customvoltage/mpu_voltages
MPU nominal voltages for the different MPU frequency states in mV (default = stock voltages; set with 'echo "voltage1 voltage2 voltage3 voltage4" > mpu_voltages'; this entry is mirrored to /sys/devices/system/cpu/cpuX/cpufreq/UV_mV_table for compatibility with SetCPU and similar apps)

/sys/class/misc/customvoltage/core_voltages
core nominal voltages for the different GPU frequency states in mV (default = stock voltages; set with 'echo "voltage1 voltage2" > core_voltages')

/sys/class/misc/customvoltage/iva_voltages
IVA nominal voltages for the different IVA frequency states in mV (default = stock voltages; set with 'echo "voltage1 voltage2" > iva_voltages')

/sys/class/misc/customvoltage/regulator_voltages
Voltages the different regulators in mV (default = stock voltages; set with 'echo "voltage1 voltage2" > regulator_voltages')

/sys/class/misc/customvoltage/mpu_voltages_calibrated
Calibrated SmartReflex voltages for MPU in mV (a value of 0 means the voltage has not been calibrated yet - voltages are only calibrated for states that are actually used)

/sys/class/misc/customvoltage/core_voltages_calibrated
Calibrated SmartReflex voltages for core in mV (a value of 0 means the voltage has not been calibrated yet - voltages are only calibrated for states that are actually used)

/sys/class/misc/customvoltage/iva_voltages_calibrated
Calibrated SmartReflex voltages for IVA in mV (a value of 0 means the voltage has not been calibrated yet - voltages are only calibrated for states that are actually used)

Using Custom Voltage for UV can cause problems! For MPU, core and IVA the optimal voltages for each frequency state are determined automatically by Smartreflex Adaptive Voltage Scaling (AVS). The nominal voltages set with Custom Voltage are only the upper limit and used as a starting point for the calibration. Reducing the nominal voltages can cause the automatic calibration to fail and result in voltages which are too low for stable operation. Use at your own risk!

Color Control:

Set the V1 gamma offset and color multiplier values for the display.

/sys/class/misc/colorcontrol/v1_offset
V1 gamma offset triple (default 0/0/0, set with 'echo "-4 0 5" > v1_offsets' for example, causing green tint when 2. value < 0)

/sys/class/misc/colorcontrol/multiplier
color multiplier triple (default = factory settings; set with 'echo "2004318071 2004318071 2004318071" > multiplier' for example; if the safety is enabled the color multipliers cannot be raised above the factory settings)

/sys/class/misc/colorcontrol/safety_enabled
enable = 1, disable = 0 (default enabled; enable/disable the safety limiting the color multipliers)

Disabling the safety and raising the color multipliers above the factory settings can damage the display and/or increase the rate of burn-in. You have been warned!

Sound Control:

Set volume boost and toggle high performance audio mode.

/sys/class/misc/soundcontrol/volume_boost
volume boost value from 0 to 3 (default 0 = no volume boost)

/sys/class/misc/soundcontrol/highperf_enabled
high performance audio mode, enable = 1, disable = 0 (default disabled, might increased battery drain during music playback)

Temp Control:

Set CPU temperature throttling limit.

/sys/class/misc/tempcontrol/templimit
CPU temperature limit in °C upon which the kernel will throttle down the MPU frequency (default = factory setting; if the safety is enabled the temperature limit cannot be raised above the factory settings)

/sys/class/misc/tempcontrol/safety_enabled
enable = 1, disable = 0 (default enabled; enable/disable the safety limiting the temperature limit)

Disabling the safety and raising temperature limit above the factory settings can damage the CPU or other device components. You have been warned!

Vibrator Control:

Adjust the strength of the vibrator hardware module.

/sys/class/misc/vibratorcontrol/vibrator_strength
vibrator strength (default = factory setting; value must be between 1000-1500)

FSync Control:

Enable/disable single file/filesystem sync.

/sys/class/misc/fsynccontrol/fsync_enabled
enable = 1, disable = 0 (default enabled)

Disabling single file/filesystem sync increases the risk of a data loss on a crash/freeze and potentially can lead to other side-effects.
 
#813 · (Edited by Moderator)
Tweaks:

Live OC:

/sys/class/misc/liveoc/core_ocvalue
core/bus/RAM performance in % (default 100, so 110 means +10% core/bus/RAM frequencies; when changing the performance the screen will be blanked for 1sec; also it might not turn automatically back on)

/sys/class/misc/liveoc/gpu_performance
GPU performance setting (0 = 307.2MHz; 1 = 384MHz; 2 = 512MHz; default 0 = 307.2MHz)

Custom Voltage:

Set the nominal MPU (= CPU), core (includes bus, RAM and GPU) and IVA voltages.

/sys/class/misc/customvoltage/core_voltages
core nominal voltages for the different GPU frequency states in mV (default = stock voltages; set with 'echo "voltage1 voltage2" > core_voltages')
Why do you use "core_voltages" for GPU voltages, when you use "core_ocvalue" for core/bus/RAM? (I.e., why do you use the word "core" to mean two totally different things?) Seems to me you'd want to use "gpu_voltages" to stay consistent, no? This is somewhat confusing to me.
 
#4 ·
RootzWiki only exists for about half a year now, but this site already had a significant impact on the Android development community. One reason is that the entire staff is highly motivated and always willing to help out. The other reason is that RW has realized that while developers surely appreciate nice words and a pad on the back once in a while, the one thing that would really make a difference is getting some new devices in the hands on capable devs.

So during the last few months RW has supported over 30 devs with new devices to extend their development work. These devices do not fall from the sky and have to be financed. The funds for that in the end come from you - the users - by revenue for the advertisement and the items sold in the store.

So the math is pretty simple here: With more users comes a higher revenue for RW which in turn will enable them to keep continue supporting the developers with new devices. This in turn will result in more high-quality custom kernels/ROMs/themes to be released which then again the users will be happy about. That is what you call a win-win-win situation.

In my case, without RW providing me a Galaxy Nexus for development, this GLaDOS kernel and the tweaks (that probably will be adapted for other kernels as well) would have not been possible.

So I do believe in the RW way of giving back to the developers since ultimately this will be of benefit for the entire Android community and thus I want this site to succeed. And as I explained above its success mainly depends on people visiting this site.

Therefore I have decided to support the RW cause by releasing this GLaDOS kernel for the GN exclusively here on RW. You have my permission to distribute these zips and links on non-English speaking sites and forums. However regarding English-speaking sites I want this release to stay exclusive to RW only. And to make things clear: This was my decision - the RW staff did not demand or even ask for this.

(Legal mumbojambo: Yes, I can legally do that. Of course the kernel itself (zImage in zip) is covered by the GPL, however the entire packaging in the zip including the various install scripts and the bootanimation is not.)

I think this is not too much of a restriction since the download links are accessible without registration. However if you do not agree with my decision and want to tell me your opinion or discuss your point of view, please refrain from doing so in this thread (since I will ignore it and ask a mod to delete it) - instead write me a PM or start a new thread or write me on Google+.

If you see someone reposting my links or zips on English-speaking sites please ask them kindly to take them down and point them to this post for an explanation. Thank you.
 
#21 ·
I have released GLaDOS-V0.2 beta.

The bootanimation was causing trouble and has been removed. If you are still having the Aperture bootanimation on your device I highly recommend restoring it to the one that came with your ROM (/system/media/bootanimation.zip).

Since CPUs build into the GN seem to have quite different OC capabilities I have released three different flavors with different static OC of the GPU/bus/RAM and IVA frequencies.
 
#26 · (Edited by Moderator)
Oh. I just realized formatting /boot is not a great idea. If you already did that you need to reflash the kernel that came with your ROM. Sorry. On the other hand that might also be a good idea since you might have a custom ramdisk from another custom kernel installed which does not work with my kernel. You know what, try reflashing the kernel that came with your ROM and then install GLaDOS.
 
#28 ·
okay im having a hard time with color control too....all this kernel stuff is somewhat overwhelming coming from a droid x.

can i use root explorer and mount sys as rw and then type echo commands in terminal emulator or what?

if anybody could give a nice little tutorial for a noob at this stuff i would HIGHly appreciate it.
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top