[Galaxy S I9000 Android Development] kasper_h:
I have been sharing my CM7/CM9/CM10/CM10.1 builds for some time in several thread, which culminated in the MackayROM. I continue now with JB4.3 from where I was for JB4.2. 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 Cyanogen sources with the following changes:

-Mackay Kernel:

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

-Some additional 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 3.9.9 7-Dec-2013

-Updated CM10.2 codebase of CM10.2 final stable release

Please read carefully, otherwise you will loose your data

When coming from Mackay ROM 3.0.0-3.0.5 or from a CM10.1 before 16 August, your device will be repartitioned!

The latest Mackay ROM will repartition your device, enlarging /system (+200MB) at the cost of /data (-200MB). To keep your data/apps/settings, follow the steps below:

CWM:

-make a nandroid backup

-flash ROM

-you will see an error

-flash ROM a second time, this time it will succeed

-flash gapps

-backup&restore -> advanced restore -> restore data of your latest backup

TWRP:

-make a backup

-flash ROM

-you will see an error

-flash ROM a second time, this time it will succeed

-flash gapps

-restore -> select latest backup -> only select data (I saw an error that /data couldn't be mounted after flashing ROM/gapps, so I rebooted TWRP in between the flash & restore steps, but I think this is not necessary - the message was still there but harmless)

This way, you don't loose anything. The data restore won't affect partition size. Next updates will be normal updates again: a simple flash & reboot

Full changelog of 3.4.4 compared to stock CM10.2:

CM10.2 sources of 3-Nov-2013

All features compared to stock kernel:

-Mackay kernel 0.516: http://xdaforums.com/showthread.php?t=2397502

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

-O3 optimization

-updated to linux kernel version 3.0.101

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

-XZ compression of kernel & initramfs

-396MB RAM

-SIOplus scheduler

-Added Lagfree governor

-ROW scheduler (tweaked, default scheduler)

-FIOPS scheduler (tweaked)

-XZ compression of kernel & initramfs

-many improvements to IO schedulers in general

-Deadline tuning (thanks to DerTeufel)

-Ondemand tuned (updated based on code of stratosk)

-SmartassV2 governor

-OndemandX 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

-Proportional Rate Reduction for TCP

-Introduce timer slack controller

-Zram/zcache patched

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

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

Kernel for switching internal & external SD

Because vold.fstab is no longer used and has been integrated in fstab.aries (which can only be changed before compiling the kernel, as it ends up in the ramdisk), I made a special kernel version with switched SD cards:

http://rootaxbox.no-ip.org/kasper_h/kernels/JB43/switchSD/

*Available through Settings>Mackay Settings

TWRP:

-Themed orange

-Run recovery-apps (zip files should be present in /system/mackay, launch them through advanced->run app)

Added apps:

-AngryGPS

Removed apps:

-VideoEditor & demo VideoFiles

vendor/cm:

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

-Custom bootanimation (Thanks to Malcho)

vendor/samsung:

-Added scripts for Mackay Settings

-Added AROMA FileManager

-Revert GPS blobs to CM10.1

device/samsung/aries-common:

-Sets app-close to 1000 ms

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:

Changed USB page icon from Android to Cid

Set QS panel opening to outer 15% of statusbar

FastCharge toggle for QuickSettings/Powerwidget

RAM bar

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

FastCharge Tile & PowerWidget button

Call breath & MMS option

Battery bar

Active display

Statusbar peak feature (including option to show statusbar when notification comes)

Mms:

Breathing notification

Delayed SMS sending

Phone:

Transparent incoming call screen

Breathing notification

Settings:

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

RAM bar

Added option to always pull down quick settings

FastCharge Tile & PowerWidget button

Call breath & MMS option

Battery bar

Active display

Statusbar peak feature (including option to show statusbar when notification comes)

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.

Fresh install:

Can be flashed on top of any CyanogenMod build:

-Do a factory reset

-Flash ROM

-Flash a gapps packages of choice

-Reboot your phone

Update:

-Flash ROM

-Reboot your phone

(no wipes or other things needed, just flash & reboot

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

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 kernel splash & bootanimation

Downloads:

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

Google Apps

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/