[Galaxy S III Android Development] arter97:
arter97's Linaro-built CyanogenMod 10.1.3 based ROM V4 for Galaxy S3 [Android 4.2.2]​

* Tux is a penguin character and the official mascot of the Linux kernel.

* Above character is a redesigned Tux by @irendah07

● "What is this?"

'this' is a custom ROM built for Galaxy S3 based on CyanogenMod 10.1.3 code.

The main differences are 'Optimizations' and 'Features'.

I'm a huge fan of stock AOSP and I developed this without screwing up stock CyanogenMod's feeling.

You won't find any major UI differences.

I know that this article is very long. Please take your time on reading this.

You should at least know what this ROM offers you. Right?

● Features

Performance improvements & optimizations

- Built with latest Linaro stable toolchain with lots of optimizations flags

- Built with latest Java Development Kit(JDK) - (7u45)

- All *.jar, *.apk files within the ROM are uncompressed, zipaligned for maximum read speeds

- Optimized all images within the ROM by image_optim

- fstrim, remount all partitions with discard option on boot

- FSTRIM is performed while installing

- Optimize all /system, /cache, /data partitions with journal_data_writeback while installing

- Use Exynos optimized memcpy, memset

- Light build.prop optimizations

New features

- ListView animation by team ThinkingBridge (ignore others credit. This was originally designed and coded by ThinkingBridge)

- Camera Shutter Sound control

- Status-bar Quick Peek with Timeout control

- Status-bar transparency control with seperate Lock-screen transparency from Carbon

- 0% transparency on notification icons (icons on the status-bar are basically clearer)

- HALO from ParanoidAndroid (not 2.0)

- Screenshot Quick Trash

- Improved download/upload animation (just go to market and download anything)

- Vertical Electron-beam animation

- Animation scale in Development settings now has additional 0.6x ~ 0.9x (for those who thinks 0.5x is too fast and 1.0x is too slow)

- f2fs supported installation (for those who uses f2fs file-system on /system like me)

- Multitasking UI is now fullscreen

- LED notification behavior is same as CyanogenMod 10.1.0 (turn off the screen, the LED will go off)

- bootanimation is from http://xdaforums.com/showthread.php?t=2429613

- Removed CMstats, CMupdater

- Full, proper exFAT, NTFS support

- No kernel is included in this build since kernels doesn't support gcc 4.8 out-of-the-box.

- Gesture based lockscreen security

- Pinch to enable expanded desktop added to Trebuchet (go to Settings->Launcher->General)

- AOKP custom system animations (go to Settings->System->AOKP Custom System Animations)

- added ADB over network QuickSettings Tile

- back-to-kill timeout control by neighbors28 from DokDo ROM

- DMB functionality for SHV-E210S, SHV-E210K (needs kernel-side support)

● What you need to know

- Even with all of those changes above, you still won't find any major UI differences.

- Linaro toolchain offers many optimizations than the stock Google's toolchain.

Also, the latest gcc 4.8 is used. Basically, this ROM has gcc 4.8 + Linaro optimizations.

Optimization flags includes : -w -s -pipe -O3 -marm -munaligned-access -mcpu=cortex-a9 -mtune=cortex-a9 -march=armv7-a -mfloat-abi=softfp -mfpu=neon -fno-unsafe-math-optimizations -mvectorize-with-neon-quad -fgcse-lm -fgcse-sm -fsched-spec-load -fforce-addr -fno-tree-vectorize -fno-tree-slp-vectorize -fno-defer-pop -fmerge-constants -fmerge-all-constants -fgcse-after-reload -fno-unsafe-loop-optimizations -fomit-frame-pointer -finline-functions -funswitch-loops -fpredictive-commoning -fivopts

-ffast-math has been explicitly disabled due to causing major and minor problems here and there across the entire ROM.

- Java Development Kit(JDK) 7 offers more stable, secure and optimized result than previous versions.

The latest 7u45 has been used.

- image_optim(https://github.com/toy/image_optim) is an image optimizer.

It can reduce image's size up to 95%. It will make the image load faster.

image_optim has, literally, took 26 hours to optimize the entire ROM.

- Uncompressed *.jar, *.apk will result in faster read speeds and reduce CPU loads by skipping decompression unlike any other ROMs out there.

It, of course, will use more space than stock CyanogenMod ROMs.

This ROM + optimized gapps will use about 680 MB in size.

- FSTRIM is a trim-like functionality on SSDs.

http://www.xda-developers.com/android/yet-another-reason-to-update-to-android-4-3-trim-support

- No kernel is included in this build since kernels doesn't support gcc 4.8 out-of-the-box.

Please use other 3rd-party kernel or stock CyanogenMod 10.1's boot.img.

- journal_data_writeback is an option to EXT4 partitions.

It will write datas to RAM first and flush it later. It will increase write speed dramatically.

- ListView is originally designed and coded by the team ThinkingBridge and can be controlled from Settings -> System.

Other ROM devs mostly has their credit written wrong. Please give proper credit to the original author!

- Camera Shutter Sound can be controlled from Settings -> Sound.

Please note that disabling the Camera Shutter Sound can be illegal in some areas.

- Status-bar transparency is cherry-picked from Carbon ROM and can be controlled from Settings -> Status Bar.

Lock-screen transparency has its separate control.

- HALO is cherry-picked from neighbors28's Github who ported HALO to DokDo ROM from ParanoidAndroid.

Credit goes to neighbors28 and other DokDo ROM developers and ParanoidAndroid ROM developers.

(Unfortunately, HALO included in this ROM is not 2.0 yet. Maybe not forever.)

- Light build.prop optimizations only has :

browser.tioptimization=true

dalvik.vm.execution-mode=int:jit

dalvik.vm.verify-bytecode=false

debug.performance.tuning=1

persist.sys.purgeable_assets=1

ril.category.delay=0

ro.config.nocheckin=1

ro.gpu.driver=1

ro.HOME_APP_ADJ=1

ro.HorizontalBUA=true

ro.HorizontalVVM=true

ro.kernel.android.checkjni=0

ro.kernel.checkjni=0

ro.media.enc.jpeg.quality=100

ro.product.gpu.driver=1

ro.ril.spender.bending=1

video.accelerate.hw=1

wifi.supplicant_scan_interval=180

windowsmgr.max_events_per_sec=90

● FAQ (Frequently Asked Questions)

Q : What is Linaro and why should I care about them?

A : Linaro is a not-for-profit engineering organization consolidating and optimizing open source Linux software and tools for the ARM architecture. It's widely known to provide the best optimized toolchain sets for arm-eabi and Android. Not only can it bring more faster binary, it can also bring stable, more bug-fixed binary as well. I care compiler optimizations more than the Android source code itself. Since compiler optimizations can speed up the same source code up to 5x, I hunted a lot for the best optimization flags available for Android. As a result, this ROM is speedier, more reliable than other ROMs that uses stock Google's toolchain.

Q : What about Linaro 4.9?

A : Linaro toolchain is built on the official GNU's code. Since GNU hasn't even finished on gcc 4.9 yet, Linaro 4.9 can be considered unstable. I'll work on it when GNU officially releases gcc 4.9.

Q : Can you teach me how to build ROM using Linaro toolchain?

A : There are tutorials of how to build ROM using Linaro toolchain on XDA already. Google is your friend.

Q : Is this ROM open source?

A : For selective parts, yes. Framework and Settings are available on http://bitbucket.org/arter97 . Don't repo init towards my repository. It doesn't have all repositories for full ROM build.

Q : No plans for CyanogenMod 10.2?

A : Yes, I do have plans on rebasing on CyanogenMod 10.2. I'm waiting for CyanogenMod 10.2's source code becoming bit more stabilized.

Q : Can I install your ROM on top of CyanogenMod 10.2 without factory reset?

A : No. Upper versions of Android's data are not compatible with older versions. You have to do a full data wipe in order to install my ROM on top of CyanogenMod 10.2.

Q : I got stuck on Galaxy SIII logo HELP!!!

A : Let me say it again, this ROM DOES NOT includes any kernel. Since kernel built with gcc 4.8 doesn't boot at all, I decided to remove kernel out of this ROM. Please use other kernel.

Q : What is F2FS?

A : F2FS (Flash-Friendly File System) is a flash file system created by Kim Jaegeuk at Samsung for the Linux operating system kernel. I use a custom-kernel that has F2FS support and I use my /system, /cache, /data with F2FS. F2FS support on this ROM is mainly for me :) Please don't ask me how to use F2FS.

Q : Some app crashes!

A : I won't get any sort of bug reports on app crashing on my ROM. My ROM uses Linaro and it can break some compatibility between userspace applications. Popular example, Handcent SMS. And it will not be fixed.

● Supported devices

- GT-I9300

- SHW-M440S (Korean 3G variant)

- SHV-E210S (Korean SK-LTE variant) (Fully applies telephony patches)

- SHV-E210K (Korean KT-LTE variant) (Fully applies telephony patches)

● Installation

- Download ROM from http://d-h.st/users/arter97/?fld_id=25066

or Downloads tab on the top

(Supported device All-In-One zip installation file)

- Download gapps from http://d-h.st/VtQ

(Checkout http://xdaforums.com/showthread.php?p=45406214 for more information on my gapps. It's also uncompressed and optimized. I highly recommend to use my gapps with my ROM.)

- Download kernel

- Use Clockworkmod or TWRP

- Flash ROM, gapps, kernel in order.

- Enjoy! :D

● To do

- Korean translation

- Increase volume steps

● Disclaimer

/*
* Your warranty is now void.
*
* 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. Hard. A lot.
*/

- No mirrors are allowed. Please ask me if you need any mirrors.

- Do not use files within my ROM and redistribute or edit.

- Redistribution or modifications are not allowed.

● Thanks to

- @irendah07 for the stylish drawing :D

- CyanogenMod (https://github.com/CyanogenMod)

- ParanoidAndroid (https://github.com/ParanoidAndroid)

- DokDo(neighbors28) (https://github.com/DokDo-Project)

- lion0738 (https://github.com/lion0738)

- Linaro (http://www.linaro.org)

- ThinkingBridge (https://github.com/ThinkingBridge)

- Carbon (https://github.com/CarbonDev)

- Der-Schubi (https://github.com/Der-Schubi)

- gal3 (갤3)

Comments are always welcomed!

Please hit "Thanks"!

XDA:DevDB Information

arter97's Linaro-built CyanogenMod, a ROM for the Samsung Galaxy S III I9300

Contributors

arter97

ROM OS Version: 4.2.x Jelly Bean

Based On: CyanogenMod

Version Information

Status: Stable

Current Stable Version: V4

Stable Release Date: 2013-11-07

Created 2013-09-19

Last Updated 2013-11-07