Before I begin, I'd like to give a MASSIVE thank you to @Neverendingxsin, who gave me the idea to create a thread like this, after reading his thread in the Verizon Galaxy S3 forums.
Also a big shout out to @xsenman who helped me get this thread up and running - without his help I don't think I could have got this thread started.
Quite commonly in the Galaxy S forum, there are members who ask the same question: "What rom should I choose?" The Galaxy S forum, even after three and a half years, is still very alive and kicking, with the S usually being on the forefront of Cyanogenmod releases as well as having official support for many other roms.
The Galaxy S Plus isn't far behind either - it still has official support for quite a few roms and devs are quick to build Cyanogenmod and others.
While I can't cover EVERY single user's wants and needs when selecting a rom, this thread is intended for users, both new and experienced, looking for a new or different rom to try.
So to start things off, just a quick definition of a rom by neverendingxsin:
Here's a very common question, what is a rom? A rom on our android phones is like the operating system on your computer, it controls the user interface, what you see and what you can do.
DISCLAIMER: What you do after reading this thread is entirely in your hands. I am not to be held responsible if something goes horribly wrong with your phone - this is merely a guide to help you make a step.
By reading this thread and following through with your rom choice, you accept the above, and every other disclaimer relevant to your rom.
If you are new to this forum, I suggest you take a look at these brilliant guides written by other members, and give them thanks as well:
Those threads will give you a good place to start, and all are very important if you want to have a safe and (mostly) error-free custom rom experience.
This thread will initially support the Galaxy S I9000 only, but if I have time I'll update parts of this thread to also cater for users of the Galaxy S Plus I9001.
Every S Plus related section will begin in blue text like this.
So without further ado.
Chapter One: Stock roms
A bit of a refresher: the last official update for the Galaxy S was Gingerbread 2.3.6. This was the "Value Pack" which brought some Galaxy S2 features such as a new Swipe lockscreen, increased RAM, Face Unlock and a few other tidbits here and there.
The Galaxy S Plus is the same - it too, received a "Value Pack" containing the same features, based on Gingerbread 2.3.6.
Section 1A - Stock, rooted roms
They are exactly as the title says - stock and rooted roms, nothing else. This can easily be done even without the need to use a computer; a nifty little app called Framaroot can root your phone in one click and reboot - and yes, it does work for the Galaxy S. While it may seem a bit pointless having a root-only stock rom, it allows you to have the benefit of root capabilities (Titanium Backup, Root Explorer etc) while keeping every other aspect of stock the same, and also allows users to tweak the rom exactly as they want.
Galaxy S Plus users can be rooted in the same way using Framaroot, or other appropriate methods.
Is this for me? If you want to mess with a rom starting from scratch, or you just want root capabilities but nothing more, this is the rom for you.
Section 1B - Modified stock roms
These kinds of roms are roms that take the stock rom as a base but then change many aspects of it, starting from visual aspects right down to the very core of the system with optimisation tweaks and scripts. Some apps or libs found on the stock roms are removed as they are considered "bloatware" - apps that aren't useful and only take up space. As well as this, often apps are replaced with others - whether it may be the launcher or some other system apps. They are designed to provide improved performance over the stock rom provided by Samsung.
One that is still being updated is davidmore's DMore rom, which changes both the look and feel of Gingerbread.
Some other examples include:
Is this for me? Often these kinds of roms offer a plethora of features or customisations while improving the speed and the performance of Gingerbread. You'll have the stability of stock mixed in with some visual or under-the-hood tweaking and customisation.
Chapter Two: AOSP roms
AOSP stands for Android Open Source Project, the name given to the whole Android project.
What you won't find in AOSP roms: Things such as the camera app, the contacts or messaging app, the music or video player, FM radio and 3G video calling from Touchwiz all won't be present, as these all depend on the frameworks used in Touchwiz.
Ever wanted the newest Android version, or want to feel like you own a Nexus? Keep on reading.
The format of this section will be a bit different than before, as there are literally TONS of custom AOSP roms out there.
Section 1 - Cyanogenmod
Oh, Cyanogenmod. The name is synonymous with Android as a whole - ANYONE who is into Android modding or developing will know the name well. Their roms are build straight from the latest sources from Google, and they throw in their own modifications in such as Power Toggles and Cell Broadcasts, for countries that support it. Their vision? Providing the perfect Android experience one could have.
Before we continue, here are a few terms you may need to know (especially if you are new):
Nightly builds are built, well... nightly. They are daily builds and while mostly stable, can have some bugs or problems. If you're planning on going with Nightlies, don't expect a perfect experience 100% of the time. Yesterday's nightly might be fantastic, today's one might not be your cup of tea.
Release candidate, or RC builds only come around when a new version of Cyanogenmod is about to be released. They are essentially the "finishing touches" of a CM version, and are usually pretty stable as always. They lead up to...
Stable builds. Stable builds are builds that will usually not be updated any further, and are perfectly stable to be used as reliable daily drivers. Often after stable builds, nightly builds of that particular Android/CM version are frozen as they do not need to be updated any further.
Currently, the official maintainer of Cyanogenmod for the Galaxy S is pawitp, and we have:
Is this for me? Cyanogenmod is the "go-to" rom for many users. If you're looking for a great stock Android experience without too much other stuff thrown in, this is for you.
Section 1A - Cyanogenmod-based roms
These roms are roms based off Cyanogenmod code and often either make tweaks to it or add/remove certain apps or files. This creates an "enhanced" CM experience, and it is up to the developer what they add or remove or change. Bugs from these roms should not be submitted to Cyanogenmod's official bug tracker as they won't be looked into - instead, leave a message in the thread.
Some of these kinds of roms include:
Is this for me? If you're looking for that same stock Android experience and like having those extra added things, these roms are for you. Please take the time to read through the developer's warnings or bugs list so you are aware of what to expect.
Section 2 - AOKP (Android Open Kang Project)
]AOKP was formed as a reaction against CM moving towards a more "clean" feel with CM9, instead of offering the level of customisation that they had in the days of CM7. Because of this, AOKP allows users to customise just about every visual aspect of their rom and how it behaves, bringing in features like Ribbons and custom status bar behaviour and tweaks.
Currently there is no official maintainer for AOKP for the Galaxy S - the official list is actually very small - but there are unofficial builds, such as:
S Plus users, here's an AOKP build based off Android 4.1.2: AOKP Release 1
Is this for me? AOKP brought a lot of the features you see in roms that allow heavy customisation. If you want that stock Android experience but also like having heavy customisation capability, then this is for you. Read the OP of each one, and turn your swagger on.
Section 3 - Paranoid Android
Paranoid Android is another popular custom rom, especially amongst Nexus users. They are built off the same Google source code as CM is, but their take on it is completely different. They introduced what is known as Hybrid UI, which allows the user to select either a phone, phablet or tablet display mode for each individual app. This means that for example, you can allow your Dialer app to display like a phone but your browser to display as if it was on a tablet. They also brought other popular new features such as Halo, the multi-tasking window popup and PIE controls, an alternative to hardware and software keys.
Currently the official maintainer is SferaDev, and the two official versions are:
Is this for me? Paranoid Android brings with it its own unique set of features that have been used in countless other roms. If you like what you hear, or you want pure AOSP goodness, this is for you - #stayparanoid.
Section 4 - Omni
Omni has quickly garnered much attention and is backed by some top-notch devs famous for their work here. While it is still in early stages, Omni promises a lot of new and radical features to change how stock Android should feel; the most notable example being their implementation of Multi-Window, much similar to Samsung's iteration of it. High hopes exist for Omni, a rom which has no doubt excited the rom scene and brought something new to the table.
For the Galaxy S, both kasper_h and SferaDev have been working on Omni:
Is this for me? Omni is another vision on what a perfect, free Android experience should feel like. If you're pretty excited for the features Omni has or will bring, and want an alternative to CM or other roms, this rom is for you.
Section 4A - Omni-derived roms
With Omni's almost meteoric rise in popularity, there are bound to be more and more roms that use Omni as a base over Cyanogenmod. These will be similar in concept to the CM-based roms - roms that take Omni as a base and add smaller tweaks and additions as the developer sees fit.
Is this for me? Similar story here - if you want that little bit extra from Omni, and you like the little additions the developer throws in, this will be for you. Check the OP for bugs and notices and the like.
Section 5 - MIUI
Trust me - MIUI is Android. Its just a LOT different to stock Android. MIUI completely redesigns the Android experience, changing everything like custom toggles in the notification shade, the camera app, messaging and overall, the core experience. It has its own theme engine as well (themes must be designed specifically for MIUI if they are to work on the rom) and also has lockscreen themes that allow you to change how you unlock your lockscreen.
The Galaxy S doesn't have any official builds, although there have been a few ports:
S Plus users, some MIUI based off JB 4.2.2: MIUI v5[WIP] Is this for me? Anyone wanting something a lot different from stock Android should definitely have a look at MIUI. It also adds a bit of colour to Android - MIUI is heavily based on visuals, which just might be up your alley.
Section 6 - Pure AOSP
For some people, nothing beats pure AOSP. Sure, you have Cyanogenmod, AOKP, PA, Omni and others, but some people may find that they add too many unneccessary things to stock Anroid or they want a totally clean experience, mimicking the Nexus line perfectly.
Is this for me? Sometimes the bare-bones experience of true AOSP can't be beaten, and often these kinds of roms are great for performance because they have nothing weighing them down. This might be for you.
Section 7 - Everything Else
Because there are just too many AOSP-based roms for me to list here, I've decided to list them in four "umbrella" groups that describe them best.
Section 7A - Function over form
These roms emphasise speed and performance. They are based on providing the ultimate smooth experience and pushing the performance capabilities of the S to the absolute limit. This may include applying optimising scripts for RAM management or battery life or removing apps or files deemed unneccesary, such as LiveWallpapers. Don't expect the same level of customisation that you find in Cyanogenmod, because that's not the main focus here. The devs of these roms want either unrivalled smoothness or unmatched gaming performance.
Some popular examples include:
Is this for me? For all those speed-freaks out there or just those people wanting an ultra-smooth experience, the above are definitely for you. As usual, take the time to read through and see if any bugs are present.
Section 7B - Customiseable to no end
These roms are quite opposite to those above - they focus on giving you the ability to customise just about every single aspect of Android, going from your whole system theme right down to how your device vibrates when you receive a notification from certain people. While functionality and stability is still a key point in these roms, they are focused on giving you the freedom of being able to theme and change things to your heart's content. They may also include features from other roms.
Some examples include:
Is this for me? These roms allow you to have your phone exactly how you want it. They merge features of CM, AOKP and PA to allow you to change every part of it. If you like what you hear, these kinds of roms are for you - check out the links above to get started.
Section 7C - Finding a balance
Some roms incorporate features found in other roms but at the same time aim to deliver top-notch performance and usability. What you get is a rom that allows you to customise Android how you want it, while not sacrificing the performance or speed. This may mean that not as many options are offered, but at least you still have pretty good speed for daily use.
Some examples include:
Is this for me? If you like having some level of customiseable freedom but you don't want to sacrifice good performance, these roms are definitely for you. As usual, check for any bugs present.
Section 7D - UI-based goodness
Some users like the idea of creating an experience that replicates the newest version of Touchwiz like on the Galaxy S4/Note 3 or like the Xperia Z1's UI. These kinds of roms try to emulate an OEM's stock rom found on their devices, and has a themed system and even ported apps such as launchers and other unique apps, like Sony's Walkman. The aim, of course, is stability while emulating a completely different feel to AOSP Android.
Some examples include:
Is this for me? If you've always wanted a newer version of a UI or just want something different, these are for you.
If you want me to add something, please let me know!
And while I'm usually not one to explicitly ask, if you found this thread useful/like this thread please use the Thanks button!
I hope that this thread helps in making it easier for users for selecting a rom that they want and like. Even helping one person is more than enough
Any feedback, please leave a comment
And, as a final disclaimer/warning:
Please DO NOT copypaste this into another forum and claim it as your work! I asked for permission to adapt this thread from the original OP and so if you do wish to have a thread like this in your forum, please ASK FOR PERMISSION.
Unsure about your kernels and battery life as well?
Chaper Three: Kernels
Now we move onto the next part of the custom rom experience: kernels.
So let's have another definition, again from neverendingxsin...
What's a kernel?
Okay kernels are one of the biggest advantages to rooting. They can be used to increase performance vastly, increase your battery life, make your phone faster, increase ram, etc. You can modify the clock speeds using apps to overclock or underclock the cpu, you can increase or decrease the voltage, etc. They are also what makes your phone boot up...
Kernels are essential to having a great custom rom experience because they are the very core of the Android system. No kernel? No can do.
What's important to note is that you must flash the right kernel. What do I mean by this?
For example, don't flash a kernel for Gingerbread on a Jelly Bean rom! All kinds of things can go wrong.
NOTE: A lot of roms come with the option of allowing Bigmem, short for "Bigger memory". Quite often there are questions as to what this does.
This increases the amount of ram available on the phone, but gradually breaks video recording and playback capability!
The reason for this is that in the system, some ram is reserved for video drivers, both in terms of recording and playback. Increasing the ram means that there is less space available for these and so the functionality is broken.
To give a general idea: Stock 2.3.6 and the general CM kernel come with roughly 368MB of ram.
Some kernels and roms come with 392~398MB of ram, though they are patched to still allow for 720p recording.
Then there is an option for roughly 407MB of ram, though that breaks HD playback and 720p recording.
Then finally, if you really want that much ram, there is an option of roughly 439MB of RAM which breaks video capability entirely.
There isn't much else to talk about here; however, these are links to all actively updated kernels which are still being supported:
This is perhaps one of the most frequently asked questions in any forum, regardless of device: What's the best rom for battery life?
Before I delve into this further, I want to make something abundantly clear. Be realistic about your battery life. Don't expect miracles to occur on a three and a half year old device running software not optimised for one core, especially if you've got a battery that's just as old as your device. Yes, an option is buying an extended battery such as Powercell or Anker batteries, and there are ways of squeezing that extra bit of juice from your device, but even then, please, just be realistic about how much battery you can get.
And another disclaimer: Your mileage will vary no matter what.
So. here are a few ways you can improve your battery life...
Usage - it begins with you
This one is quite self-explanatory. How do you use your device? Are you a heavy web surfer, gamer and a video watcher? Or are you the kind of person who uses their phone only every so often? How you use your phone will obviously affect how the device's battery life goes. Some basic, but helpful tricks that others and myself have found to just get a bit more charge in:
Turn down your brightness. The display is one of the leading causes of battery usage. When you're inside, chances are you won't need to have your brightness on max in order to read. In that case, turn the brightness down to something that's still comfortable for you. I've found that half brightness or quarter brightness works well for me.
Turn Wifi and 3G off when you don't need them.
Turn Auto-Sync off if you don't need it as much. Auto-sync will constantly run in the background every so often and so it may drain your battery, especially if you're syncing large amounts at a time. On Gingerbread, this option is found in Settings -> Accounts and Sync; on ICS and above, this option is found under Data Usage (press the menu key). Alternatively, under Settings -> Accounts and Sync (Gingerbread + ICS) or under your list of accounts (JB+) you can control which apps sync and which don't.
Use apps like Greenify or even the stock application manager to disable apps running in the background, or at all. Memory-hungry apps such as Facebook tend to run in the background even after you've exited the app. Greenify can "hibernate" the app, meaning that it won't run in the background at all.
Some roms, especially those optimised for gaming performance (take a look at 6A in the post above), will have tweaks that optimise battery life. Usually this is more of a non-issue, but different roms will have different battery lives.
Kernels are another direct influence on the battery life in many ways. The kernel will allow you to change how the phone behaves and performs using "profiles" known as governors. Some governors are based around performance while others, such as the common "conservative" or "powersave" governor, are intended for saving battery.
Alternatively, underclocking in an option - reducing the core's clock speed. This will sacrifice performance, but because the phone is simply not working as hard as it was before, more battery can be saved.
As well as this, kernels may have specific tweaks and options.
Coverage and signal
While its not something that can be easily changed, try not to have the phone in areas of poor reception, both with wifi and cellular reception. If the phone is constantly searching for an access point this will drain battery in the background. This is also more of a non-issue but does apply more to poor wifi signals.
What are wakelocks? Essentially, they are apps, processes or services that prevent the phone entering a state called deep sleep. Deep sleeping preserves battery life, much in the same way that a computer left alone for some period of time will enter a sleep mode to conserve power. Wakelocks will keep the phone active, which will continue to use more battery.
Thankfully, apps on the Play Store such as betterbatterystats allow you to monitor any wakelocks present and often allow you to change the behaviour of it. Most of the time, wakelocks are caused by the phone syncing data back and forth.
Buy a new battery!
This one is probably one of the easiest ways to extend battery life - simply get a new battery. Extended batteries for the Galaxy S are relatively inexpensive and usually provide you with enough juice to last the day.
Chapter Five... For you gamers out there
Its probably one of the most frequently asked questions when it comes to rom choice... What's the best rom/kernel/setup for gaming?
Let's review what we know about the Galaxy S.
Android 2.3.6 officially, unofficial roms going up to Kitkat 4.4.2 available
480x800 resolution screen.
1GHz Cortex-A8 processor, single core.
512MB of RAM, in which a general amount of 368MB or 396MB is useable.
Also, for the S Plus users out there:
Same Android 2.3.6
Same 480x800 screen
1.4GHz Scorpion processor, single core
Same 512MB RAM
In human terms, what does it all mean?
It means that the devices don't have killer specs. The S Plus is a little bit better off having a slightly stronger processor, but still, its important to understand that we are dealing with older devices here.
That being said, here are some ways to maximise gaming performance on the Galaxy S.
Step One - Choose the right rom
First off, you want to choose the right rom for gaming. If that's the case, take a look at section 6A in my first post, which lists a few roms for gaming and performance. To repeat myself, these games are optimised for gaming and so on by scripts or tweaks to the system as well as getting rid of apps that may be deemed unneccesary.
In that case you probably don't want a rom with too many features for customisation. These kinds of things do tend to slow the rom down and impact performance (except on roms such as Slim or Illusion).
ICS and Jelly Bean also feature something called hardware acceleration, where the processor is pushed to essentially smoothen things out. This can allow for some serious speed even out of the S/S+.
Gingerbread however has stability - the stock rom is really stable and a solid performer, whereas ICS and JB will allow for some pretty insane performance.
What's the point of trying to optimise the system for gaming if you don't have the right kernel?
Kernels allow for three things:
Overclocking/underclocking. This changes the clock speed of the processor, and overclocking is probably going to be an option you'll want if you want gaming performance. Its simple, increase clock speed, increase power exerted by the processor/chipset. Warning though, the safe limit for the Galaxy S is around 1300~1400MHz. Anything higher than this will cause frequent crashes or bootloops.
Overvolting/undervolting. This changes the voltage delievered to the chipset. Simply said, if you overvolt, in turn you overclock as the core is able to push more. Overvolting can be dangerous if not applied correctly - like overclocking, there are certain limits to overvolting. (If someone could give me values it'd be much appreciated)
Bigmem. This increases the available RAM at the cost of video playback/recording. Refer to my post above to see what kinds of bigmem configurations you can have.
Semaphore is a kernel that is quite popular with gamers here - another one is Devil Kernel.
If you install a rom that's built for games, the kernel will already most likely be heavily optimised to deliver maximum performance (eg. Devil Kernel in Gamerzrom, Cyancore in CyanAOSP). However if you plan on installing this on another rom such as Cyanogenmod, custom kernels will allow you to finetune the above to your liking.
Use apps such as Semaphore Manager (guess which kernel that belongs to), Devil Tools (guess) or NSTools (generic application)m or apps such as the built in Performance Control to customise and tweak to your heart's content.
Step Three - Check what's in the background
Apps running in the background are going to use RAM and processing power while you run your game, and even a minimal thing such as data syncing can have an impact on your games. Make it a habit to regularly swipe away apps from the Recents menu that you don't need, or use an app like Clean Master to ensure that your RAM is cleared out mostly for games. Little things can go a long way, and this is one of them.
It may also help to turn wifi off to stop auto-syncing going on in the background, as well as lengthening battery a bit.
More to come!
This part of the thread is still under construction, and as such I'm still in the process of collating more things to add here for gamers. This isn't the end!
That wraps up my thread for now - I'm sure I'll keep adding to this as time goes by and more questions are raised
If you also found this part of the thread helpful, please press the Thanks button!
22nd February, 2014, V4.2.1
-As a test, all rom type descriptions and links are now hidden in the hopes that a.) People don't have to scroll too much and b.) only relevant information (depending on what each user wants) can be found.
21st February 2014, V4.2
-Section 6 has now become a Pure AOSP section (Supernexus, stock AOSP builds etc etc). Section 7 now entails everyhing else.
-Every section up until 6 has now got at least one link for S+ users. I'm hoping to add more for different versions of the same rom. If anyone can send me PMs with links this would be greatly appreciated as this would speed up the process.
15 February 2014, V4.1
-Added a "Known AOSP Issues" section under the start of Chapter 2. Note:The reason why I've been updating so infrequently is because for me, school's started and so I'm REALLY busy. I will eventually complete this, but for some time I won't be able to - please bear with me!
26th - 28th January 2014, V4
-Added a gaming section! Still in writing phase, as I still need to collect more info
-Slowly adding in links for S Plus users
22nd December 2013, V3.1
-Added Section 4A, Omni-derived roms
-Removed version numbers from kernel section - because they're frequently updated, its not feasible for me to keep changing the version numbers every time
17 December 2013, V3
-Added battery life section!
15 December 2013, V2.1
-Added Bigmem explanation under kernel section
12 December 2013, V2
-Added kernel section!
-Added links to older/different Android versions of most roms and kernels such as Mackay, Cyancore etc etc
7 December 2013, V1.1
-Fixed up most/all typos
-Added missing part for MIUI
6 December 2013, V1
To do list:
-Finish gaming section
-Finish S Plus content
XDA Developers was founded by developers, for developers. It is now a valuable resource for people who want to make the most of their mobile devices, from customizing the look and feel to adding new functionality. Are you a developer?