[Galaxy S I9000 Android Development] kasper_h:
I have been sharing my CM7/CM9/CM10 builds for some time in several thread, which culminated in the MackayROM. I continue now with JB4.2 from where I am for JB4.1. MackayROM is based on CyanogenMod sources, with several performance enhancements.

About Cyanogen: CyanogenMod is a free, community built, aftermarket firmware distribution of Android 4.2 (JellyBean), which is designed to increase performance and reliability over stock Android for your device.

Disclaimer: I am not responsible for bricked devices, dead SD cards, thermonuclear war, or you getting fired because the alarm app failed. Please do some research if you have any concerns about features included in this ROM before flashing it! YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you.

If you run into errors, I may not be able to solve it!

If you know a solution to a problem, either upload it yourself to Gerrit Code Review or contact me through pm.

The ROM is based on CM10.1 with the following changes:

-Mackay Kernel:

-Set of cherries picked from gerrit (differing by the day)

-Some handmade patches I did myself to the source code

Feature request are OK, but remember:

1. I try to stay close to stock

2. I will not include additional apps, unless they can be build from source

3. The time I spend on features depends on how much I like them myself

Changelog of 2.99 Final compared to previous release (2.13.0)

-Because I am going to move over to JB4.3, this is the final JB4.2 build

-Source code updated 14-Aug-2013

-New kernel 0.399-Final (updated to Linux v3.0.90)

-Updated GPS blobs from CM10.2

Full changelog of 2.99 Final compared to stock CM10.1:

CM10.1 sources of 14-Aug-2013

All features compared to stock kernel:

-Mackay kernel 0.341: http://xdaforums.com/showthread.php?t=2024374

-Christopher86's cortex-A8 optimized Linaro toolchain (June version)

-O3 optimization

-updated to linux kernel version 3.0.90

-SLQB memory allocator (default, should be slightly faster)

-XZ compression of kernel & initramfs

-395MB RAM

-SIO scheduler

-Added Lagfree governor

-ROW scheduler (tweaked, default scheduler)

-FIOPS scheduler (tweaked)

-XZ compression of kernel & initramfs

-395MB RAM

-many improvements to IO schedulers in general

-Deadline tuning (thanks to DerTeufel)

-Ondemand tuned (updated based on code of stratosk)

-SmartassV2 governor

-Interactive governor (updated to android 3.4 code + fixes)

-Wheatley & Lulzactive governors

-Conservative tuned

-Call volume hack (use “Settings>Mackay Settings”* to set volumes)

-Reduced battery polling interval

-Fast charge (activate through “Settings>Advanced Settings”* or the QuickCharge toggle in MackayROM)

-WiFi PM_FAST mode selection (activate using “Settings>Mackay Settings”*)

-Battery life extender (set through “Settings>Mackay Settings”*)

-CustomVoltage (set using NSTools)

-USB OTG support (needs external power supply)

-1100-1400MHz OC steps

-Custom kernel splash (Thanks to Malcho)

-Updated charging logo to match open charger

-Disabled swap & zram

-Improve memcopy/memmove

-Improve the performance of memcpy and memmove

-Kill task closest in size to memory needed to free

-LOAD_FREQ (4*HZ+61) avoids loadavg Moire

-Entropy tweaks: http://lwn.net/Articles/489734/

-backport CPUIDLE from 3.5

-arm/crypto: Add optimized AES and SHA1 routines

-Unaligned CPU access

-Improvements to RWSEM code

-Improvements to binder code

-Improvements to tmpfs

-Added frandom (much faster random number generator)

-Updated to lowmemorykiller with PID whitelist (thanks to stratosk)

-Many parts of the code build as module to reduce effective kernel size

-Updated wifi driver to 5.90.195.114

-Updated GPU driver to DDK 1.8@2198402

ROM comes with stock colour. Version with voodoo colour can be downloaded from:

http://rootaxbox.no-ip.org/kasper_h/kernels/JB42/

*Available through Settings>Mackay Settings (only available with Mackay ROM 2.4.7+)

bootable/recovery:

-Mackay recovery (based on CWM 6.0.3.3 or TWRP 2.6.0.0)

-Clear NSTools settings

-Clear init.d settings

-Show battery status in recovery

-Aroma FileManager

-Include using soft keys to navigate the menu (thanks fishears for the idea)

Added apps:

-Gapps (small set of gapps)

-AngryGPS

Removed apps:

-VideoEditor & demo VideoFiles

vendor/cm:

-Adapt for custom MackayROM building (bootanimation, ROM&file name)

-Custom bootanimation (Thanks to Malcho)

device/samsung/aries-common:

-Sets app-close to 1000 ms

-Add flags to build TWRP

hardware/samsung:

-F4k 720p patch for bigmem kernels

AriesParts (“Mackay Settings” in Settings menu):

Add mackay kernel settings options:

>WiFi PM mode selection

>BLX settings

>BLN activation

>Navbar selection

>Processor settings (governor/frequencies)

>IO scheduler

frameworks/base:

Option to enable gfx effects

Changed USB page icon from Android to Cid

Set QS panel opening to outer 15% of statusbar

FastCharge toggle for QuickSettings/Powerwidget

Battery bar + Fix Battery bar 2dp and 3dp graphics glitch

RAM bar

SystemUI: Option to display Quick Settings when there are no ongoing notifications

FastCharge Tile & PowerWidget button

Phone:

Transparent incoming call screen

Settings:

Removed user stats

Option to enable gfx effects

Statusbar Clock modding (position, color, date)

Disable on/off toggle button for profiles on Settings main page

Battery bar

RAM bar

WiFi : Add “Forget all networks”

Added option to always pull down quick settings

FastCharge Tile & PowerWidget button

Coming from stock Samsung ROM/CM7:

-The safest way is to flash CM9 first and then flash Mackay ROM. Going directly from Samsung ROM/CM7 to Mackay ROM may lead to loosing IMEI.

Can be flashed on top of any CM9/CM10.0 build:

-Coming from CM9 or CM10-builds with an old/different partition layout (older than 0817, helly bean): your phone will be wiped (except SD card)

-Coming from a recent CM10.0 build (0817 or later): this is a non-wipe update. I advice to wipe, except when coming from MackayROM 1.6.1 or higher

-Any JB4.2/CM10.1 gapps packages should be flashed for Google Play and other google apps (e.g. from http://goo.im/gapps)

-Custom kernels can be used only if specific for JB4.2

Credits:

-teamhacksung/pawitp for making CyanogenMod work on our ancient phone

-stratosk/DerTeufel/Mialwe for the inspiration I got from their kernels

-rootax &xdafileserver for providing a high-speed server for high quality downloads

-Malcho for his bootanimation & kernel splash

Downloads:

https://s.basketbuild.com/devs/kasperhettinga/sgs/rom/pre-KK/

Official gapps:

http://goo.im/gapps

For those who want to theme it even further, Bejda made a Mackay splash screen!

http://xdaforums.com/showthread.php?t=2214468

To download the same kernel, but then with voodoo colour:

https://s.basketbuild.com/devs/kasperhettinga/sgs/kernel/pre-KK/

FAQ

Q. I can't change governor in NStools (or any similar app)

A. Go to recovery, mount data & datadata partition, then fix permission. You can also install the fix permissions app to this for you: http://bit.ly/YxPgLD

Q. Process x (e.g. mediaserver/phone) is eating 50+% of my battery, what should I do?

A. Go to settings>apps>all and find the app which is causing the battery drain. Then delete app data and reboot phone. If it does not help, you can combine this step with clearing dalvik cache.

Q. I have problems with Play Store FC

A. Please install a recent gapps package (see e.g. http://goo.im/gapps)

Q. App x misbehaves

A1. If you installed it from Play Store you should report to the author of the app

A2. If it is an app bundled with the ROM, please give me the following information:

-ROM & kernel version number

-Previous ROM & last time you wiped

-Which app

-Describe the problem (how can it be reproduced -> otherwise it is impossible to test for me)

-If possible, make a logcat (e.g. if an app crashes/does something odd, a logcat can help trace back to the origin)