[Q] ROMs, kernels and why. - Captivate Q&A, Help & Troubleshooting

I have searched for this sort of thread for a while. Though I've only been changing my phone around for a couple months(Rooted & ROM changes) It's clear that every developer/group feels there's is best. While I find that different ROMs have great features, it would appear that each and every one has it's flaws. I also find that a person can literally search for hours on how to install, manipulate, customize and BRICK a phone. As a "Senior Member" I still find myself lost. Due to recommendations, I've purchased more then my share of "helpful apps". I hope that the most "Senior Members" (w/ extreme, non bias, knowledge) can help remedy a few staples for all users.
A comparative, most stable and complete ROM list per phone (updated frequently)
What do I really need? I don't know. I have purchased Root Manager, Root explorer, Rom manager, Titanium Backup, Drop Box the list goes on. To date I'm not 90% sure what any of these do, nor how they work. Ex. I've backed up my ROMs with Titanium Backup but I've also backed them up with Rom manager. I've changed ROMs and couldn't figure out how to reinstall apps, settings etc. using either one of these. You can find yourself changing a ROM and taking 2 - 3 hr's reinstalling apps, themes and settings.
Kernels! there 30 times as many of these as there are ROMs. There should be some real understanding of these. It would appear that some kernels will change the look of the ROM or is it the theme, it changes? Neither? so why do I need them, what really are there function?
There are some brilliant minds at work here. Hopefully some of them can pitch in and offer answers to some basic "need to knows" for many.
Thank you all for the work that you do

I'm definitely an enormous Noob (capital N!) but by now I can flash ROMs fairly quickly and reinstall my apps in a few seconds with TiBu. I still do agree with you that it's a bit hard to take in *everything*. Something I've been wondering since I began flashing (ROMs, not anything indecent) is:
1. KERNELS. What the hell is their function exactly? I know their compatibility with the custom ROM depends on...which Captivate model the ROM is based on, I think. But how does one know or how can one tell which is compatible to which?
2. Modem. ?! How do I flash this? Why do I need to flash this?
3. Probably O/T but what the heck is ROM Kitchen?
4. What is the other way of flashing without using ODIN?
Knowing that would set me a little further from Noobers State, at least.

Lancered said:
I'm definitely an enormous Noob (capital N!) but by now I can flash ROMs fairly quickly and reinstall my apps in a few seconds with TiBu. I still do agree with you that it's a bit hard to take in *everything*. Something I've been wondering since I began flashing (ROMs, not anything indecent) is:
1. KERNELS. What the hell is their function exactly? I know their compatibility with the custom ROM depends on...which Captivate model the ROM is based on, I think. But how does one know or how can one tell which is compatible to which?
2. Modem. ?! How do I flash this? Why do I need to flash this?
3. Probably O/T but what the heck is ROM Kitchen?
4. What is the other way of flashing without using ODIN?
Knowing that would set me a little further from Noobers State, at least.
Click to expand...
Click to collapse
I'm not an expert but this is my understanding.
1. Kernel: Set of controls that lets the software interact with the hardware of the phone. Typically affects GPS, battery, bluetooth, wifi, display, etc.
2. Modem: How your phone connects to and transmits voice/data/everything.
3. ROM kitchen is a tool to help build ROM.
4. You can flash new ROMs through ClockWorkMod Recovery. You choose to install new software from zip on sd card. It lets you install ROMs, Kernels, & modems, provided they have been setup to work with CWM.
Hope that helps answer some things.

Lancered said:
I'm definitely an enormous Noob (capital N!) but by now I can flash ROMs fairly quickly and reinstall my apps in a few seconds with TiBu. I still do agree with you that it's a bit hard to take in *everything*. Something I've been wondering since I began flashing (ROMs, not anything indecent) is:
1. KERNELS. What the hell is their function exactly? I know their compatibility with the custom ROM depends on...which Captivate model the ROM is based on, I think. But how does one know or how can one tell which is compatible to which?
2. Modem. ?! How do I flash this? Why do I need to flash this?
3. Probably O/T but what the heck is ROM Kitchen?
4. What is the other way of flashing without using ODIN?
Knowing that would set me a little further from Noobers State, at least.
Click to expand...
Click to collapse
Three more excellent questions, all of which for nubies and Seniors (without tech understanding) need to know.

trekie86 said:
1. Kernel: Set of controls that lets the software interact with the hardware of the phone. Typically affects GPS, battery, bluetooth, wifi, display, etc.
2. Modem: How your phone connects to and transmits voice/data/everything.
Click to expand...
Click to collapse
Good info but it doesn't help explain why there are so many of each. How is one to know what should be installed.

Different kernels allocate the phones resources in different ways.
For example sucker punch Or paragon allows the user to over clock the processor, as well as under volt. Both can be used to speed the phone up or reduce battery use.
Harcore speed mode tweaks brigtness settings, uses some tweaks to improve performance, and changes default from 250hz to 500hz
I guess it is like saying different kernels are like tuning your car up in different ways with different performance goals.
Modems performance appear to vary based off of your location. Only way to know what is best is to try them.

I do understand many are new to this (even I was new at some point of time). But there is one thing I would like to bring up in this thread.
A simple Google search would tell what the basic functionality of a kernel is. Likewise for most of things asked here.
Be patient, there are lots of people here who would guide/help u. Don't sound impatient nor show ur frustration here. This is a forum created by enthusiastic users, not by employees who are paid to service people.
1. Kernel:
Kernel is the heart of the system that keeps the phone running. U can consider the core machine level interacting portion of OS that translates all instructions to a format that the CPU can understand.It has complete control over everything that occurs in the system. The kernel provides basic services for all other parts of the operating system, typically including memory management, process management, file management and I/O (input/output) management.
Every kernel thread here has an OP where it tells what version it is based off, its features, etc.
Best way to know which is best for u: try it out. What's good for me may not be good for u.
2. Modem:
How do I flash this? : Modem thread is a sticky on development forum, and has details how to flash too.
Why do I need to flash this?: This is the core component needed to access the phone spectrum/signals.
3. Probably O/T but what the heck is ROM Kitchen?: OP says it all. This is one place where u can create a ROM by picking features/apps of the provided list. More for creating ur own custom ROM.
4. What is the other way of flashing without using ODIN? Check the first sticky thread in QA section "FOR NEW CAPTIVATE USERS - READ HERE FIRST - FAQs | HELPFUL LINKS"

So here's my .02 cents coming from a software engineer perceptive...
The kernel... It's the core/kernel of an operating system. It's main functions (as stated above) are to interact with the hardware a.k.a. Device Drivers, to manage resources (things like memory management and processor time sharing a.k.a. multi-tasking), service interrupt requests, network services and the like. It also provides a System Call Interface (API) to the user space (apps running on the machine) so the apps can use system resources.
Now the why so many part... First of all in general there are MANY options available when compiling (building) the kernel. Things like CPU schedulers, file system support, system type support (in the captivates case ARM), etc. etc. etc. So there are many different ways to configure the kernel and that gives many options to "test" and see which might work better or not. Some of them are dead giveaways like compiling the kernel for MIPS and trying to run it on the captivate won't work but some are "tweaks" that may help a little or a lot, like CPU management options.
Second part of the why so many is the code. Again as mentioned above things like changing code to make the colors of the display more or less sharp (display device driver), make the file system faster (voodoo lag fix) or overclocking the processor, and different "modem" tweaks are all "enhancements" that people have made to the original Linux kernel source. So those things "creep" into existence over time, since there are many people working on them, and you see different versions of the Kernel from that as well.
Anyone that plays music can relate to the options available in that there are only 12 notes on a guitar fret board but millions (or more) ways to put them together to play music. There are certain things that have to be present in the Kernel (notes) but writing code to enhance them and/or combining options at compile time is much broader (music).
ROM. Well IMO this one has a bad nomenclature. ROM is actually Random Access Memory and we flash an image to the "ROM" (which it really isn't but I'll leave that one alone). The "ROM" in this case is the operating system (a version of embedded Linux), which is the basic software needed to run and admin the phone, things like the Kernel, bootloader, device drivers, and file system plus any user apps like the phone dialer, launcher, etc. that are included in the ROM. As you can imagine the possibilities of customization are almost endless when it comes to the ROM. Different kernels, different drivers, different apps and many combinations of those. Thus we see all the different "ROM"s for the captivate with all the different options and unfortunately problems as well.
The modem is actually part of the kernel. It's the device driver for the phone hardware of the captivate. Being that it's part of the kernel it "works with" other code that's elsewhere in the kernel and ROM that is "tweaked" for a particular phone in this case. So when you see "use an i9000 modem with an i9000 kernel" it's because the code in the modem is written to work with the other code in the kernel. It doesn't necessarily mean it will brick the phone and/or not work but it quite often means it won't work the best if it's not "matched".
An example of the why so many here might be (and I'm just using this as a random example not a real world example) in the code below (which is the Samsung modem code in the SuckerPunch source in this case) notice the comment there about "no spec" and having to confirm how much time is needed to initialize. That may be an example where someone could play with those timings and get better performance out of the modem...
static void msm_reset(struct modemctl *mc)
{
<sniped code for briefness here>
gpio_set_value(mc->gpio_cp_reset, 0);
msleep(500); /* no spec, confirm later exactly how much time
needed to initialize CP with RESET_PMU_N */
gpio_set_value(mc->gpio_cp_reset, 1);
msleep(40); /* > 37.2 + 2 msec */
gpio_set_value(mc->gpio_phone_on, 0);
gpio_set_value(mc->gpio_cp_reset, 0);
}
So that's one example of how you might get another modem version if someone played with that code and saw better performance.
I don't know if that all helps or muddies the water, but again it's just an old software engineer's .02 cents.

mxracer101 said:
So here's my .02 cents coming from a software engineer perceptive...
<..............>
I don't know if that all helps or muddies the water, but again it's just an old software engineer's .02 cents.
Click to expand...
Click to collapse
good work!

I do understand many are new to this (even I was new at some point of time). But there is one thing I would like to bring up in this thread.
A simple Google search would tell what the basic functionality of a kernel is. Likewise for most of things asked here.
Click to expand...
Click to collapse
For those seeking help, looking on XDA this is the #1 source for this information. Most other forums refer to XDA. So you should be in good hands
Be patient, there are lots of people here who would guide/help u. Don't sound impatient nor show ur frustration here. This is a forum created by enthusiastic users, not by employees who are paid to service people.
Click to expand...
Click to collapse
MOST crucial to understand this. PLEASE don't re-ask a question in several different locations. In most cases a question will be answered in a short time.
1. Kernel:
Kernel is the heart of the system that keeps the phone running. U can consider the core machine level interacting portion of OS that translates all instructions to a format that the CPU can understand.It has complete control over everything that occurs in the system. The kernel provides basic services for all other parts of the operating system, typically including memory management, process management, file management and I/O (input/output) management.
Every kernel thread here has an OP where it tells what version it is based off, its features, etc.
Best way to know which is best for u: try it out. What's good for me may not be good for u.
Click to expand...
Click to collapse
This is an area I see more questions about, then I do ROMs. Be awre that all ROMs have built in kernels, it's a good idea to let the intended kernel do it's thing. This is a fine tweaking operation, learn what one does for each ROM. Don't feel you need to change it, because it's being talked about in a ROM post.
HTML:
2. Modem:
How do I flash this? : Modem thread is a sticky on development forum, and has details how to flash too. Why do I need to flash this?: This is the core component needed to access the phone spectrum/signals.
^^^^SEE ABOVE^^^^ Dito

kernels; the function has been explained so i wont go there. there are kernel settings that cant be changed once compiled that effect performance and battery life, often making one better hurts the other, kernel hz will affect the snappiness, some kernel devs like to put out 2 or more versions depending on the users preference. also there have been many mods made for the i9000, i9000 devs typically dont make ports for the other phones so the code is made available for other devs to include in there own kernels. part of the reason for soo many is that things are constantly developing but some people like what has been out there for a while. there are also a number of compiling tweeks that one developer or another may prefer.
some kernels have stock recovery 2e or 3e, some have cwm recovery some have steam recovery, some have a modded cwm recovery. cwm recovery and steam give you access to the rom backups (nandroid) and some other features, steam has a touch screen interface but the modded cwm versions have similar functionality with a hardware button interface.
lagfixes; lagfixes are incorporated into the kernel. some have "voodoo" which is ext4 and is like what non samsung android phones often have. voodoo only has a couple options and most run it default. voodoo lagfix options may be incorporated into the recovery or handeled by the presence of a folder/text file in the voodoo folder.
there is also ulf (universal lagfix/ultimate lagfix). ulf lets you choose between jfs, ext4, ext3, ext2 and rfs file systems on each partition. it also lets you do the earlier ext2 loopback like one click lag fix. it is total overkill with options an the benifits of each is subject to opinions and anecdotal observation. but if yo specifically want jfs it is the only option available on the captivate right now.
wifi; different wifi drivers cause problems with certain routers because of a security measure. once a couple fixes for this were found new kernels appeared.
other "voodoo" features; supercerio is the developer of voodoo and is obviously a talented dev. he has created a color/brightness/sharpness fix for the galaxy s line but the port to captivate kernels took some time to come about. some kernels have it and some don't. there is also voodoo sound which lets you change the amp output for the headphones.
overclock/undervolt; there was at one time development on this for captivate kernels in 2.1. it was stable but a lack of captivate froyo source kinda killed it. also there was no interface for it, changing settings was done on in a text file that you had to write into a folder with a script, people had trouble understanding it. many kernels now are i9000 ports but the undervolt code often causes "charge death" some prefer not to overclock do to this instability, but then glitterballs came up with a fix. glitterballs prefers the overclock settings to be "mild" they really arent in reference to a pc though, 20-28% is significant but still there are others that make 30-60% overclocks available. the overclock setting on some of these kernels is a multi stage setup and isnt that user friendly involving an app and configuration files. there are also sceduler differences that can balence battery life and speed but i think samsungs settings are just fine
basically if you want overclock i recomend glitterballs work. if youre phone handle 1300+mhz you must go elsewhere if you "need" the max your phone can handle.
if you dont care for overclock there are many other things to look at. kernel hz set at 500 is snappy but you may prefer battery life and find one set at stock or 300hz
if color sound is important to you and thats a big reason to by a galaxy s then you want voodoo color and sound. im not gonna talk about files systems and lagfixes because despite the apparent differences in quadrant the every day results are up for debate.
modems; im not gonna tell you to match modem to kernel because i never found that to be true.. what i will tell you is that if you use bluetooth and "need" hsupa(over rated) then dont choose a north american captivate rom other than the armani based roms. there are 5 poular ones for non captivates phones and many more that work as well, choose at random for all i care, the biggest factor is gps performance and none of them do poorly, i recomend jl3 but kp1 can work better with some playing around, it seems to not give a stable position because it constantly updates stalites, the list is constantly changing in lbs test mode but it does get more satalites in my experience. others are jk3/4 and jl2(different phone that jl3) some say in there area jl2 gets better transfers but i dont find that to be true here.
ported roms; i9000/m and t959/d ports are great and at this time dont give up too much, they work with canadian t959d and i9000m modems as well as many other oversees modems that have the att 850 band . but on some, not all but some ports you may experience sleep death. it's a captivate issue and captivate roms since jf7 have a fix incorperated, i have mostly good results on the ported roms but 1 or 2 have given me sleep death.
captivate roms; work great! use as is or add a kernel with x,yand z features. with a captivate rom you give up either bluetooth or hsupa but hsupa is over rated on a phone unless you tether or upload files directly from your phone, it does help snappiness loading web pages but seriously my isp gives me 30% the upload bandwidth that i get with hsupa and i only see about 50% of the hspa potential in my area. my 3g connection gives me 300kbps and my isp gives me 600kbps. i think non hsupa is fast enough most of the time.
to the op, titanium backup does a backup of your apk's and data for those apps. it is not recomended to restore all system data if a new rom has a different base rom. this is what to use to restore apps after a flash, chose the restore apps and data setting, if you have problems factory reset and restore apps only.
cwm backs up the rom. it is a fall back incase a flash fails. you need cwm recovery either in the kernel or in an "update.zip" in the root of the internal sdcard. if you have 2e recovery or modded 3e recovery in the kernel you need to reinstall packages to get there from the update.zip. you may need to try twice. you navigate with the volume and select with the power button.
if you have a stock 3e recovery (rare now that there are altenatives, unless you flashed a stock leak or rogers rom as is) it will fail, you will need to odin/heimdal/neldar sgskernel flasher app flash another kernel to reach cwm recovery.
root explorer helps you reach the system files. if you think you need it then get it but it is really most useful for making tweeks or installing themes, some of that is better done in a script via update.zip or remotely via adb so you may not want or need it.

Asking what ROM is best is like asking which midsized car priced in the mid $20k's is the best. They are all pretty close in quality and only differ so much, according to what the dev felt was pertinent to them. Look them over and see what people have to say about them and try it out. If you don't like it, flash another one. It really is that easy. As some of posted in other threads, it's fairly hard to totally brick your phone unless you have absolutely no clue what you're doing. It took me months to get to the point where I felt comfortable flashing and it scared the **** out of me to finally take the plunge. Now that i've done it, i'd have no problem doing it again when/if I find another ROM I like better than the one i'm on.
The absolutely best info I got was from this thread. I have no idea why it's not stickied. Connexion2005 has done an amazing job putting these together and has taught me more in the time it takes to watch the videos, than WEEKS of reading threads.
How to videos

Extremely thorough, thanks all!

Lancered said:
Extremely thorough, thanks all!
Click to expand...
Click to collapse
You're welcome. It's why I started this thread

Thanks !!
Thanks to all who provided these great answers !!
Much appreciated.

This was a very informative read thanks
Sent from my SGH-I897 using XDA App

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}

MikeyMike01 said:
Click to expand...
Click to collapse
Meaning what exactly?

How I love when people bash people who are new to particular technologies when those same people were once new themselves.
Point is, provide education not just answer the question.

askpcguy said:
How I love when people bash people who are new to particular technologies when those same people were once new themselves.
Point is, provide education not just answer the question.
Click to expand...
Click to collapse
That was my intention when I started this. It was great to see the guys above hashed it out. Even with all my posts There's a ton that people don't get. My hope is people will ask questions AND NOT BE LOOKED DOWN ON!
There are many MANY great people out there in the know, that are willing to help. Post your need, someone will eventually answer. NO QUEST IS DUMB!

Related

Why use a cooked rom?

Well I want to start off by saying that I've rooted my N1 and tried several cooked roms including CM's and the Modaco version. I keep searching for a reason to use a custom rom. Every time I do, I end up reverting back to stock. I just don't get the purpose. I understand cooking Windows Mobile roms to get newer OS versions that included new features and stuff, and cooking in new updated apps... I've searched and searched looking for some solid reason to stay on a custom rom, but I can't find one.
The Nexus One is just awesome and pretty clean as it is out of the box. It seems like when I use a cooked rom, it's more bloated then stock and I "try" to make it work as my stock rom did, with same apps and homescreen setup (I like Launcher Pro/Dialer One). I know some of the roms include "newer kernels" which I'm guessing is like a newer build but I don't see anything really that "pops" out. I understand rooting the device to gain full access to the system. But you can root a stock rom.
I also understand porting different systems like Desire/Hero/whatever. But aside from cosmetics, rooting, overclocking, and undervolting... why use a custom roms?
And mods, I've searched and searched, and read and read, I've seen the stickies. I'm looking for specifics.
player911 said:
aside from cosmetics, rooting, overclocking, and undervolting... why use a custom roms?.
Click to expand...
Click to collapse
I think you summed it up pretty well. cosmetics, rooting, overclocking, and undervolting.
For me, custom roms is worth it JUST for trackball wake up, and unlock, on the nexus. I hated having to use the power button way at the top.
For some, its so you can use an entirely open source phone, free from proprietary google apps.
The great chefs put a ton of thought into all the additions they use, create, and implement. Things that save battery life, improve user experience, or fix bugs / quirks.
There isn't a huge demand for ROM's for the N1 because we're at the forefront of Android right now. We're the one's with 2.2. We have flash. Everyone else is getting ports of what we get stock. This will continue for the foreseeable future, until Google selects another handset to be its in-house testing model, or launches Nexus Two/Dev Phone 4 (counting N1 as 3). Once we're obsolete, then, and only then, will you see the modding community pick up and you'll see big reasons to go with custom ROM's.
CM has the latest android code that is publically availalble. (He just synced code today). The little features that are missing are enough for me. Things like invisible lock screen, to the newly added gestures in the music app(great for driving).
If you're not a tweaker by nature then stock OS code will suffice. Me? I can't get enough of the new little things that add up to an overall great package.
/cm nutriding
Because it's fun.
720p recording.
http://forum.xda-developers.com/showthread.php?t=698287
Titanium Backup and N1 Torch
ATnTdude said:
There isn't a huge demand for ROM's for the N1 because we're at the forefront of Android right now. We're the one's with 2.2. We have flash. Everyone else is getting ports of what we get stock. This will continue for the foreseeable future, until Google selects another handset to be its in-house testing model, or launches Nexus Two/Dev Phone 4 (counting N1 as 3). Once we're obsolete, then, and only then, will you see the modding community pick up and you'll see big reasons to go with custom ROM's.
Click to expand...
Click to collapse
Yea that makes sense.
I just feel that custom roms are more bloated then stock. I've been looking into trying one of the "Super Clean OC/UV Rooted" roms. But then again I think the stock OS is just the Bee's Knee's.
What is "bloated"?
There are zillions of reasons for custom ROMs, visual and functional:
Apps2SD
USB and WiFi tethering
Locales
OpenVPN
Dropbear, Bash, etc (better Linux experience)
Trackball colors, notifications
Torch (using flash LED as flashlight)
Deep system options made visible / changeable, lots of customization options
Most of Froyo features were implemented in custom ROMs way before Froyo test build.
My setup is VERY far from stock. And I use everything mentioned above. I can't even move to Froyo, because I need Apps2SD to work - overloaded with big apps.
I think that's a great reason..
player911 said:
Yea that makes sense.
I just feel that custom roms are more bloated then stock. I've been looking into trying one of the "Super Clean OC/UV Rooted" roms. But then again I think the stock OS is just the Bee's Knee's.
Click to expand...
Click to collapse
No reason why you can't use Cyanogen's Quick Root + Pershoot's OC/UV Kernel on FroYo to benefit from rcxquake's wonderful modded Flash .apk and watch Hulu. It's obviously not quite as complete as CM 5.0.x (desperately missing trackball wake), and despite having root for some reason I still can't rm -f and pm uninstall com.amazon.mp3.apk from adb shell, but it gets almost everything done for me. The main thing that made FroYo live-able for me was the addition of ogdobber's Black Bar, which I had gotten very used to on CM5. That said, I can't wait for a CM flavor of FroYo...
willverduzco said:
No reason why you can't use Cyanogen's Quick Root + Pershoot's OC/UV Kernel on FroYo to benefit from rcxquake's wonderful modded Flash .apk and watch Hulu. It's obviously not quite as complete as CM 5.0.x (desperately missing trackball wake), and despite having root for some reason I still can't rm -f and pm uninstall com.amazon.mp3.apk from adb shell, but it gets almost everything done for me. The main thing that made FroYo live-able for me was the addition of ogdobber's Black Bar, which I had gotten very used to on CM5. That said, I can't wait for a CM flavor of FroYo...
Click to expand...
Click to collapse
Have you tried "adb remount" to remount the System partition in read/write mode first?

Too much to Process..Help Wanted..

Process
From Wikipedia, the free encyclopedia
Process or processing typically describes the act of taking something through an established and usually routine set of procedures to convert it from one form to another, as a manufacturing or administrative procedure, such as processing milk into cheese, or processing paperwork to grant a mortgage loan, or converting computer data from one form to another.
Ok first off I'm the biggest noob at all things root as could be. I have managed to make some custom clocks for my old LG voyager way back in the day and have even jailbroke some Ipod touch's so I was able to load bootleg games and apps.
But this root thing has got my brain traped in a vortex and I really want to not just know how to root my droid (That info is everywhere) but I want to know how it all works. What terms like kernel mean and how they relate to clock speed. What is the difference between all the custom rom's? What happens when I root my phone and can't figure out what rom I should use? Do I have to reset all my apps and preferences every time i want to try a new rom?
I understand the how-to's I'm sure when I try to root my phone that I will not have much trouble doing so. But there are so many things I want to learn and know before I do anything.
I would like to say I'm not looking for links to tech reports on rom's that I will not understand I'm looking for alink (or someone who knows the things I wish to learn,) something that will explain the terms what they mean, how they relate to my phone and what outcome I should expect from loading custom rom's.
I understand that most users of this forum fall into one of two category's ONE ether super wonder techs that know exactly what they are doing and know how things work, TWO people who can read follow directions and root there phones while trying NOT to sound like noob's when they ask for help.
And then there's me I'm a number two, now I know that kinda makes me sound like **** but I really want to be a number ONE
So who want's to teach me ? Who's got some time to kill or link's to post? I'm even willing to go buy a android programmers book if there's one that would be recommended reading to help me understand the OS better.
I want to learn from the masters and this is where they all live. So will someone apprentice me ?
To close my rant out I would like to say I'm a 37 year old man with a masters in chemistry 119 IQ and ex-stream case of OCD that drive's my compulsive need to learn how things work, So I make for a good student
Thanx
ö
Thank you so much, I was hoping to be able to reply first, (this sh*t is my crack)
Ok, First off, the kernel is the basic system that controls how the cpu reacts, as well as how programs interact with the hardware on your phone, such as the screen, wifi and bluetooth modules, accelerometer, gps, ambient light and the battery. When a dev wants to overclock their android, add a module for EXT, or TUN, or add wifi support, this is where the magic happens. this is probably the most important part of the firmware. It also controls battery life via voltage, as well as cpu speed.( the average droid can be overclocked to 1200-ish, depending on the randomness of processors, though I've heard of a ridiculous version called OMAP Ti39 or something that could be stable at 2ghz, even 2.3. As I think you may know, Fat32 doesn't support file transfers of more than about 4 gigs at a time, which is why add in ext support is so important, especially since someone made a video player that reads matroska video files (blu-ray) Ive tried it, its beautiful, (V player - on the market) after kernels is framework, the framework is what renders the gui, basically everything that you see on the screen is thanks to the framework-res. We edit it either manually, or through the use of an app called metamorph, which swaps the xml files the framework uses with edited ones, such as one I recently used to give my droid a circular battery, however these xml files can change anything you could need them to visually about your droid, you just have to find what you need. Now on to shell. shell is the engine that is accesible through command prompt and terminal using the android sdk and adb, more on that can be found easily on the google android homepage. however, much use is made through devs and an app called terminal emulator that is basically a straight to shell terminal screen app. Uses for shell may include but are basically limitless, include moving any app to your sd-card to conserve rom (rom is the phones total system memory, apps usually go in there, but before froyo, and ext partition could be used, and with froyo stock support for most apps was allotted, and without the need of an ext partition.) Ram is basically ram, if you use a rom that originally came with a larger ram supported device, something called a swap partition must be implemented, otherwise it won't boot, there is an app or two that will do that for you, manual swap creation is also possible. Swap basically creates virtual ram on the sd-card. Root access, which can be acheived manually through the recovery flashing of specific zip files, or via free apps that do it with one click, basically allows you to flash kernels, change the framework, or allow tethering which I will cover next, is possible because the kernel the phone uses is linux, the unlocking of which is called granting super user access, in ubuntu a linux distribution, typing su, and your admin password will give you access to your computers system files, much in the same way we apply it to android. (However, it is unlikely you would try to flash an alternate kernel to your desktop, as it runs on either ie36 or x64 architecture, whereas phones run altogether seperate architectures , for instance android runs on ARM, and that is the base and primary reason your phone won't run windows.) Since android is free (open-source) there is an x86 version of android, including a froyo port that you can use on laptops and desktops. (Really quickly I would like to interject that recovery is an option on all phones android based that is usually accessible by holding volume up while booting, however the droid requires you press x while booting to get to recovery, which btw is what you flash a custom version of after rooting that allows you to flash roms and kernels. It also allows for backing up all of your phones firmware and data in the event of a problem. Basically its your new best friend, get familiar.) Also there is another form of booting called bootloader, it allows you to flash specific system files that are normally untouched, a guide to using that and a program called rsd lite will help you if you've bricked your phone ( Bricked- term used to describe the state of a phone that is unable to be recovered to an earlier condition and is essentially a brick or "expensive paperweight".) by allowing you to flash a completely untouched sbf (firmware) file. note that you can also use it to change your boring m boot logo with any image that fits 480x182 bytes through a slightly difficult, but fun proccess, a guide to which ,can be found here at xda, including a file that allows for the flashing of just the logo, whereas previously you had to reactivate your phone (you just have to follow the instructions on the phone) reroot, and restore the rom you previously backed up. Now on to tethering, the most important feature available to root users, which, if carriers have anything to do with it, would normally cost an extra 10 dollars a month. (Tethering- using shell or an app with the proper kernel to allow the use of your phones mobile network via usb connection, or the creation of a wifi hotspot with your desktop or laptop.) However thanks to devs who believe that what you pay for should be used how you want, most roms will tether, even in the settings, without carriers any the wiser. Windows 7 and almost all linux will automatically tether, vista is the most difficult, and xp has a quick install init file that works like a charm. The only reason we root is because we believe in the freedom to change our phones to fit us personally, and lets face it, because we can, because its fun, because its not illegal, and it brings a sense of satisfaction and pride in pushing the limits of technology. (P.S. I tried not to take to long so I couldn't really look it over, so sorry for grammatical or vocabulary based errors.)
(P.P.S. I recommend any book to do with android programming, but you'll need programming experience in linux, especially eclipse.)
Oh, and I'm a 17 year old junior with a vocabulary skill level of 139, just in case you wondered.
There are plenty of applications on the market where you can backup apps and data once you root, I personally use titanium, but I never restore system data if I'm flashing roms, only apps n data that comes with apps. Youre gonna have to search around other forums and whatnot to find the right roms.
Sent from my ADR6300 using XDA App

[PRJ/TT/Kernel] Dynamic ramdisk.. Now with button backlight notification. z4mod.

OK, this is a little strange, but I think the idea is useful for people that want to mod the ramdisk but don't want to fiddle with compilers and such. It requires a kernel, so I'm including a proof of concept here. However, once the basic support is in a kernel, you can change anything about the ramdisk and the boot process WITHOUT changing your kernel!
For example, say you want to change init.rc... You can do that, and if it fails to boot, if you stored it on your external SD card, just pop out the card and boot up, the change won't be able to copy over at boot, so you are back where you started. No odin, no kernel mod.
The basic idea is simple. It runs init.d style scripts (if found) BEFORE the android init process starts up. This allows you to change literally anything in the ramdisk without the hassle of building a kernel. You can replace the /sbin/init binary if you want to, whatever.
This also means you could install and/or upgrade a lagfix, even voodoo, by copying a single file to /system/etc/init.d and rebooting.
This is more useful for devs I think than for end users, but perhaps users will find it useful.
NOTE: This is DANGEROUS STUFF. If you store your files in a world-writable location like /sdcard, ANY app could change your ramdisk! As it is, any root app can do it with this change. Anything run in the pre-init scripts is, by definition, run as root. So watch your permissions and don't store stuff used by the pre-init scripts in a FAT filesystem. EXT2/3/4 and RFS will work fine if you set them to root-write only. If in doubt, use "chmod 700 <file>". All of this should be obvious to most people here, but I think it's important to point out just in case.
This is based on Unhelpful's 1.7 kernel. It runs great on my Vibrant. There is one known bug, it reverts the locale to en_GB on boot, which is mildly irritating. I can't figure out why this happens. If someone knows, please post. I did write a simple app that switches it back to en_US using MoreLocale 2 (market) on boot, if people want it.
Credit to Unhelpful (kernel source and nice build scripts), JAC and Supercurio (examples for setting up the ramdisk properly for this sort of thing).
All the init scripts live in /system/etc/init.d. P*** are pre-init scripts. E*** are early-init scripts run before /data and /dbdata are mounted, allowing you to override mount options and such at that point, S*** are standard init scripts that launch right before the Android OS starts up, so the full environment is available to them. So you now have 3 hooks to start init scripts up. The boot process will wait for them to complete, so don't do anything that takes a long time if you don't have to, or start it in the background with "cmd &" or similar.
http://www.tabbal.net/files/t959-ttabbal-v1.0.tar
Flash with Odin. I'll consider putting up a ZIP later. Please, be at a computer with Odin and a known good kernel when you do this, this should be considered beta at best. Hardware locked phones should probably avoid this as well. Also, disable voodoo before messing with this, it does not include the voodoo script. If you really want to try it, you should be able to copy it to the init.d directory, but it would be better to wait a bit.
If it works well, hopefully other kernel devs will include the framework. I may also start posting updates from Unhelpful's git tree if there is interest as well now that I have a decent environment set up. See his thread in the Captivate forum for details on what changes have been done. OC/UV is supported, but I haven't worked with it much. You have to enable it by creating a config file and putting it on the phone. I'd recommend the external SD card in case you have a problem with a bad config, so you can pull the card and boot without clock changes. The OC/UV config can also be changed at runtime.
There is no need to pre-flash anything, and init.d need not exist or have any scripts in it. The system will boot fine without them.
If you try it, please post your thoughts. I'd like to see if there is interest for this line of work. If you don't understand a thing I said above, please don't install it.
Updates:
http://www.tabbal.net/files/Kernel-ttabbal-v1.2.zip
http://www.tabbal.net/files/Kernel-ttabbal-v1.4.zip
http://www.tabbal.net/files/z4mod-ttabbal-v1.1.zip
Wow, I am afraid to mess with this today. (expecting an important phone call)
I will flash it tomorrow morning however. And post some results, I have an idea about what to do with this.
Thanks Travis!
I hope you find it useful! I forgot to note one thing. If you want to see what your pre-init scripts are up to, there's some info in /init.log. Not a ton, but you can at least see if your script was started and such from there.
Also, if anyone cares, it works on Frankin-Twiz Final. I decided to check it out once I got this little project working.
I'm curious to see what people come up with, I've seen some complaints about not being able to edit the ramdisk without building a kernel. So now they can.
ttabbal said:
I hope you find it useful! I forgot to note one thing. If you want to see what your pre-init scripts are up to, there's some info in /init.log. Not a ton, but you can at least see if your script was started and such from there.
Also, if anyone cares, it works on Frankin-Twiz Final. I decided to check it out once I got this little project working.
I'm curious to see what people come up with, I've seen some complaints about not being able to edit the ramdisk without building a kernel. So now they can.
Click to expand...
Click to collapse
You mind sharing your init setup. I am familiar with Unhelpfuls method and just want to see what you have changed from his.
I stayed away from his method with Voodoo as it was causing issues at diff points of development and went with the run-parts solution. But it may be in better shape now that you have gone over it.
Most users will only need one hook but options are always good.
I've always been one the fence about the runtime OC/UV. Most people are looking for a stable voltage file that will work with their phones in the thread, but it is def awesome for those that are familiar with what they are doing.
justanothercrowd said:
You mind sharing your init setup. I am familiar with Unhelpfuls method and just want to see what you have changed from his.
I stayed away from his method with Voodoo as it was causing issues at diff points of development and went with the run-parts solution. But it may be in better shape now that you have gone over it.
Most users will only need one hook but options are always good.
I've always been one the fence about the runtime OC/UV. Most people are looking for a stable voltage file that will work with their phones in the thread, but it is def awesome for those that are familiar with what they are doing.
Click to expand...
Click to collapse
Talk to braka, we been hi-jacking the init for a bit, I've been working on getting a Desire pport working on are rom.. ( Well, barak has been hi-jacking the init ) I just build kernels.
justanothercrowd said:
You mind sharing your init setup. I am familiar with Unhelpfuls method and just want to see what you have changed from his.
I stayed away from his method with Voodoo as it was causing issues at diff points of development and went with the run-parts solution. But it may be in better shape now that you have gone over it.
Most users will only need one hook but options are always good.
I've always been one the fence about the runtime OC/UV. Most people are looking for a stable voltage file that will work with their phones in the thread, but it is def awesome for those that are familiar with what they are doing.
Click to expand...
Click to collapse
The whole ramdisk is here:
http://github.com/travistabbal/linux-galaxy/tree/ttabbal-v1.0/usr/initrd_files_t959/
The pre-init stuff is in /init.sh.
The basic stuff is the same as his really, I just put the sync hooks in to stall the boot based on an older version of his stuff. The current version didn't seem to work for me. The boot didn't wait, and I couldn't see any reason it would, so I just used the property setting style.
As I said, I haven't tried voodoo with it yet, but I don't see any reason it wouldn't work. You might want to pull the "exec /sbin/init" out if you want more pre-init scripts available, but other than that, it should work fine. A fair bit of the ramdisk came from your voodoo release, useful stuff in there.
If you see any issues with the init.d stuff, let me know and I'll look into them and if I can fix them, send a pull request over to Unhelpful.
Yeah, 3 hooks is overkill, but I figured there might be some use for them all. Most scripts can run in the "standard" hook and work just fine.
I kept the runtime OC/UV stuff just because it was more work to take it out. If you have a nice stable file, I'm happy to include it in the downloads as a default. I'm sure I could pull at least older versions from your github, I honestly haven't messed with it much beyond adding the 600Mhz step and seeing that the phone would use it. I honestly don't see much call for changing that stuff constantly at runtime, but it's nice for experimenting. If it crashes due to low voltage, just reboot and no harm done.
As I'm sure someone will ask, no I won't test it with voodoo. I can't, my phone has the extra NAND so it's not compatible with voodoo. When Beta5 comes out, I'll test it though.
I'm uploading a 1.1 now. The only big change is that I've fixed the backlight notification patch from Unhelpful's tree so it works with Vibrant now! Install the kernel, then copy lights.default.so to /system/lib/hw to get apps able to use it. Anything that can do LED notifications now turns on the button backlights instead.
See the other BLN threads for Q&A's, etc.. The big one, no, we can't flash/fade the LEDs. It would require changes to the binary firmware and nobody wants to try writing it.
http://www.tabbal.net/files/t959-ttabbal-v1.1.tar
http://www.tabbal.net/files/lights.default.so
This has been tested on my phone running Bionix 1.7 and worked with the MMS and GMail apps. I haven't tested the others.
Again, it's an Odin tar file. Put it in the PDA section and flash. If people ask for an update.zip, I'll put one together.
The warning above applies. This flashes a kernel, so it will overwrite whatever you have now. So if you have voodoo, disable it or add the voodoo script to init.d with an E prefix ie. "Evoodoo".
Thanks
I've been looking forward for a way to use the backlight buttons as notification since the phone came out and the idea was hatched a few days later. I'm admittedly new to all this so I have no idea what else this is capable of but I am VERY thankful for the button lights. Also there is another xda thread up with many replies and people offering up some rewards for making this work.
Can this be applied to eugenes froyo ?
Sent from my SGH-T959 using XDA App
dzeinz said:
I've been looking forward for a way to use the backlight buttons as notification since the phone came out and the idea was hatched a few days later. I'm admittedly new to all this so I have no idea what else this is capable of but I am VERY thankful for the button lights. Also there is another xda thread up with many replies and people offering up some rewards for making this work.
Click to expand...
Click to collapse
Rewards? Heh... I had no idea people were that interested in it. Hope it helps. My github has source, so I hope other kernel devs for vibrant add it.
skater991 said:
Can this be applied to eugenes froyo ?
Sent from my SGH-T959 using XDA App
Click to expand...
Click to collapse
Not sure. Froyo usually needs a different kernel. If JAC or KK kernels work, this one should. At worst, it will boot loop and you will have to flash a compatible kernel in download mode. So make sure you can get into download mode before trying it.
Thanks for this. It's working great, and I'm so glad to finally have backlight notifications.
Definitely would like an update.zip, just not comfortable doing it through odin...but I would love to have this
The cake is a lie!
metalfan78 said:
Definitely would like an update.zip, just not comfortable doing it through odin...but I would love to have this
Click to expand...
Click to collapse
Well, since you asked nicely.
http://www.tabbal.net/files/Kernel-ttabbal-v1.1.zip
MD5: 606a1ecaa934f97bd26f0bfb617b23b8
Tested just now via Clockwork. It even installs the library for you, so the button notification should work out of the box.
Running great for me on Bionix 1.9.1.
Wow...thanks, ill give it a go. So just flash through clockwork and good to go?
The cake is a lie!
metalfan78 said:
Wow...thanks, ill give it a go. So just flash through clockwork and good to go?
Click to expand...
Click to collapse
Yup.
Let me know what you think.
Is this ready for overclocking like JAC's OC/UV kernels? If so, any chance of posting a demo script for the OC/UV settings?
Also, can we add a user-script to enable AOSP bootanimation.zip files, or is support still commented out in this kernel?
Thanks for your time and hard work, cheers, =)
I have been wanting button notification since i got the phone. Can you choose which button lights up based on what the notification is?
for example menu = txt, home = missed call, etc....that would be awesome!
s0niqu3 said:
Is this ready for overclocking like JAC's OC/UV kernels? If so, any chance of posting a demo script for the OC/UV settings?
Also, can we add a user-script to enable AOSP bootanimation.zip files, or is support still commented out in this kernel?
Thanks for your time and hard work, cheers, =)
Click to expand...
Click to collapse
It's based on Unhelpful's way of doing OC/UV, you have to modify a file and push it to the phone to enable it, then set up the min/max settings with a script or SetCPU. There's a lot of detail over in Unhelpful's thread on the Captivate forum, so it's probably better to point you over there. They have scripts and such for it as well.
Not sure on the boot animation. I'll see if I can find it.
d_bot said:
I have been wanting button notification since i got the phone. Can you choose which button lights up based on what the notification is?
for example menu = txt, home = missed call, etc....that would be awesome!
Click to expand...
Click to collapse
That would be awesome, but it's not that complex. It's all of them for a notification. The Android API wouldn't really be able to deal with that level, but perhaps we could assign the buttons colors and use the color that the app requested? Maybe, but I'm not sure we can turn on just one of them from the code we have right now. The code looks to make a somewhat simple call that turns them all on at the same time. Hopefully as more people look into things, we will learn how to do stuff like that.

Guide | Frequently Asked Questions | Thread Layout | Forum Manners | Must Read Once

The objective of this thread is to answer the commonly asked questions, give the newbies a little head-start, protect them from getting flamed and keep this forum focused on more important things
1 > What is root?
If you’re an Administrator on a Windows machine, you have access to the entire operating system and you can do whatever you like. That’s essentially what happens if you root your Android device. With root access, you can get around any restrictions that your manufacturer or carrier may have applied. You can run more apps; you can customize your device to a greater degree; and you can potentially speed it up in a variety of ways.
Click to expand...
Click to collapse
Basically, Rooting a phone grants you the permission to do stuff you normally aren't. Remember that the process of Rooting itself will not change anything on your phone or make your your faster. It is what you do 'after' rooting that makes a difference. Rooting just allows you to make changes that were previously not allowed.
2 > Why to Root?
One of the most obvious incentives to root your Android device is to rid yourself of the bloatware (apps that come pre-installed with your phone) that’s impossible to uninstall. You’ll be able to set up wireless tethering, even if it has been disabled by default. You can also access your entire file system, install special apps that require a root, and flash custom ROMs, which can add extra features and streamline your phone or tablet’s performance. A lot of people are tempted by the ability to completely customize the look of their phones. You can also manually accept or deny app permissions.
Click to expand...
Click to collapse
You can also get the latest android version before HTC releases it. For example we have Jellybean (4.1.2). HTC has not officially released it for our phone. Mostly they never will! You can also overclock (increase the speed of your CPU) your phone!
3 > Why not to root?
There are essentially three potential cons to rooting your Android.
Voiding your warranty: Some manufacturers or carriers will use rooting as an excuse to void your warranty. It’s worth keeping in mind that you can always unroot. If you need to send the device back for repair, simply flash the original backup ROM you made and no one will ever know that it was rooted.
Bricking your phone: Whenever you tamper too much, you run at least a small risk of bricking your device. This is the big fear everyone has. The obvious way to avoid it happening is to follow instructions carefully. Make sure that the guide you are following works for your device and that any custom ROM you flash is designed specifically for it. If you do your research and pay attention to feedback from others, bricking should never occur.
Security risks: Rooting may introduce some security risks. Depending on what services or apps you use on your device, rooting could create a security vulnerability. For example, Google refuses to support the Google Wallet service for rooted devices.
Click to expand...
Click to collapse
You must be willing to compromise with these factors before you decide to root. Personally, I haven't regretted my decision of rooting even for a second! I'm sure most of the guys on this forum feel the same way. However it is your choice.
4 > How do I root my phone?
You can either use this step by step guide
Or use this All-in-one Toolkit
5 > What is Recovery?
A recovery is a small distinct environment separate from Android that allows diagnostic updates, and the ability to perform factory resets. The main purpose of this is to provide a way to reset an Android device when it may be impossible to boot into it.
The Android stock recovery is very basic and controlled via the volume keys and power button at the top of the device.
Custom Recoveries perform the same tasks as the stock-Android recovery with a few addition features, such as the ability to make full system backups, as well as flash custom roms. It is important to note that custom recoveries are recommended to those users with rooted devices, however a rooted device is not required. Anyone with an unlocked bootloader can install a custom recovery on their device.
Click to expand...
Click to collapse
Basically, Recovery saves your ass when you screw up! But it has many other important features.
6 > What are the different Recoveries available for HTC Desire C?
Currently there are two recoveries available for HTC Desire C.
Team Win Recovery
Clockwork Mod Recovery
7 > How do I install a recovery?
Follow Step 3 of this thread. But instead of the link provided there, use one of the two links I posted in the previous question.
8 > Which recovery is better?
I use TWRP because I find it user friendly and it has got more functions.But CWM is more famous and widely supported. You can choose what you like.
9 > What is a Custom ROM?
A stock ROM is the version of the phone's operating system that comes with your phone when you buy it.
A custom ROM is a fully standalone version of the OS, including the kernel (which makes everything run), apps, services, etc - everything you need to operate the device, except it's customized by someone in some way.
So what does the "customized" part mean? Since Android is open source, developers are free to take stock ROMs, modify them, strip them of garbage, optimize them, add things, and pretty much do whatever their imagination and skills allow.
Click to expand...
Click to collapse
My definition - A Custom ROM is a developer's idea of what the phone 'should have been like'. He takes the stock rom and modifies it to improve performance, looks, animations, battery life etc.
10 > Why to install a Custom ROM?
Updated versions: You can load the latest and available Android versions which can make your old phone look new.
Great number of feature filled custom ROMs: It will be a chaotic task for you to find the apt one as there are bunches of great custom ROMs available for different devices.
Personalization: There are a number of features that can be customized to suit your taste and working environment. For instance, Custom themes can bring a new look and feel to your device.
Improve performance: The custom ROMs allow its users to find out the unnecessary apps they have on their device and helps them to get rid of them, thus increases the speed of processing and improves battery life.
Install Apps on SD card: This is currently not possible with stock ROMs. If your phone ran out of space occasionally when install new apps this is a killer feature to have.
Better signal and quality: Custom ROMs help you to improve your base-band which in turn increases the signal and quality of your phone call.
Click to expand...
Click to collapse
Other reasons that you won't find on Google - "The thrill factor involved", "To show off to your friends" and "Because you can!"
11 > Why not to install a Custom rom?
Bricking: This is one of the main reason why people hesitate to root their devices. Some devices after the rooting process may become useless and the only option left with you is to get a new one as the manufacturer will cancel the warranty if they find any attempts of rooting.
Loss of all Data: When you install a new custom ROM, it will clean up your system and therefore you will loss all your installed apps and data.
Risk Factor: Most of the apps will be open source and the trust you have on developers may cause a potential risk to you in the future.
Reboot: If the rooting is not successfully done, the device may enter to an infinite loop of booting.
Click to expand...
Click to collapse
Even though this may seem concerning, it will happen only if you don't follow instructions correctly or do something extremely stupid. As of now, there is no way to completely brick an HTC Desire C! You can fix 'Loss of Data' by taking a backup and you can fix reboot by using the Recovery mode we discussed earlier.
12 > What are the different Custom ROMs available for HTC Desire C?
Look HERE. Take your pick!
13 > Which is the Best ROM for this phone?
NEVER EVER ASK THIS QUESTION!! This is a very subjective question. It differs from person to person. It takes a lot of time/energy/efforts to build a custom ROM and asking this question is a very big insult to the makers of these ROMs! Try out different ROMs and choose what you like.
14 > What is a Kernel?
The central module of an operating system. It is the part of the operating system that loads first, and it remains in main memory. Because it stays in memory, it is important for the kernel to be as small as possible while still providing all the essential services required by other parts of the operating system and applications. Typically, the kernel is responsible for memory management, process and task management, and disk management.
Click to expand...
Click to collapse
If our phone was a movie, the Kernel would be the director! It is the brain of our phone. And even though it is the most important part of our phone, it is just a single (.IMG) file and only a couple of MBs!
15 > What are the benefits of a custom Kernel?
Adjust CPU frequencies and set profiles like OnDemand, Battery Saving, etc.
Underclock and overclock CPU speeds
Underclock and overclock GPU speeds
Adjust voltage
Adjust touch screen sensitivity
Equip your phone with BLN (backlight notifications)
Custom recovery that allows backups and restorations of entire ROMs as well as installation of .zip files
Minimum screen brightness pushed past the limitations of stock kernel
Conserve battery (with the right settings)
Click to expand...
Click to collapse
There are a lot of Technical advantages of a good coded custom kernel. Fortunately, you don't have to worry about all that. Most of the work is done by the developer himself.
16 > How to flash (install) a custom kernel? OR How to flash boot.img?
You can either use this Auto Boot.img Flasher
Or read this
17 > Which is the best Kernel for this phone?
NEVER EVER ASK THIS QUESTION!! This is a very subjective question. It differs from person to person. It takes a lot of time/energy/efforts to build a Kernel and asking this question is a very big insult to the makers of these Kernels! And remember, not all Kernels are compatible with all roms.
REMEMBER - Use Sense Kernel with Sense ROMs. Use CM10 Kernel with Cm10 based ROMs. It can't get much simpler.
18 > How to overclock my phone?
You cannot overclock with a stock kernel. You MUST have a custom kernel to overclock your phone. Once you have a custom kernel you must install either 'SetCPU app' or 'NoFrillsCPU app'. You need any one of these to control the CPU speeds.
19 > Is it safe to overclock my phone?
I will not say this is completely safe. But i have yet to come across somebody who actually screwed up his phone just by overclocking. So use at your own risk. Also remember that all phones have a different capacity to overclock. If you try to overclock it higher than that, it will go into a 'reboot loop'. But you can fix that by flashing a lower frequency Kernel. It is not a problem.
Miscellaneous Questions​ > What is GAPPS?
Gapps is short for Google Apps. These are apps made by google like Google Maps, Playstore, Gmail, Google search etc. They are available to download in the Play Store and can also be flashed as a zip in recovery mode. For a complete list of apps click HERE. Not all Gapps are available in all countries.
> How to increase battery life? OR How to save battery?
Read THIS (Not only read it but apply it too! ) . If nothing else works, buy a better battery.
> Task Managers - Good or Bad?
Long story short - If you don't know what you are doing, Stay away from task killers. If you think that constantly killing apps will free more RAM and therefore speed up your device, you are mistaken. The app that you kill will restart itself and this will cause you more of your phone's resources than you think you saved. In fact, task managers do more harm than good. A lot of Developers agree with this. Android itself does a very fine job of managing tasks so that you don't have to mess with it.
Read this in-depth article on task managers HERE
> What is Clean Flash? What is Dirty Flash?
Clean Flash is wiping cache, dalvik cache and data before flashing a zip or installing a ROM through recovery.
Dirty Flash is wiping cache and dalvik cache only
Clean flash is much recommended and causes less problems down the road. If the instructions specifically ask to to clean flash, you must do so. You will lose all your data when you will clean flash. But dont worry, clean flash will not affect your internal or external memory card. You will lose your apps and settings and game data. Your phone will act like it is just out of the box.
You can Dirty flash when flashing small modification zip files. Or perhaps a minor update to the rom (unless the instructions ask you to clean flash). You will not lose any data while Dirty flash. But sometimes, you are more likely to face problems like apps closing which could have been prevented by Clean flashing.
Personally, i always clean flash when installing a new Rom. It is a good habit to follow in the long run.
> What is ADB?
ADB stands for Android Debug Bridge. It is a very useful tool. Using ADB, we can control our android phone using our PC. We can copy or delete files, install or uninstall apps, take a logcat, reboot our phone and a lot of other functions. Here is a really cool guide to ADB.
Here is the list of the common adb commands :
adb devices – lists which devices are currently attached to your computer
adb install – lets you install an Android application on your phone
adb remount – Remounts your system in write mode – this lets you alter system files on your phone using ADB
adb push – lets you upload files to your phones filesystem
adb pull – lets you download files off your phones filesystem
adb logcat – starts dumping debugging info from your handset to the console – useful for debugging apps
adb shell – drops you into a basic linux command shell on your phone with no parameters, or lets you run commands directly​
> How to get a logcat?
There are basically 3 ways to get a Logcat:
Using an app (Catlog ; aLogcat ; Logcat Extreme)
Using terminal emulator
Using ADB
I personally use ADB whenever I have to take a logcat. Also, it is the only method where it is possible to take logcat when the phone boots (bootanimation).
For Method 3, connect your phone to the PC, open command window, navigate to C:\Program Files\Android\android-sdk\platform-tools
Then type
Code:
adb logcat > (any name).txt
Wait for some time as the logcat builds. Then press Ctrl+C to stop taking logcat. You fill find a .txt file in the platform-tools folder. That is your logcat! Now upload it to a site like Dropbox and post a link when required.
Make sure you have USB Debugging enabled when doing this.
> How does the thanks meter fill up?
ngoralph said:
1st bar - 26
2nd bar - 51
3rd bar - 101
4th bar - 201
bug here, never gets to 5 bars, probably 501 if fixed.
6th bar - 1001
7th bar - 2001
8th bar - 5001
9th bar - 8001
Maxed! - 10000
Click to expand...
Click to collapse
> User Titles on XDA
ngoralph said:
- Junior Member - New members with less than 30 posts.
- Member - Members with more than 30 but less than 100 posts.
- Senior Member - Members with 100+ posts.
- Recognized Contributor - A title given to members who have helped people with various problems. You can apply for this position or ask a Forum Moderator, Senior Moderator, Recognized Contributor to nominate you. They don't give it away for free though; you have to meet some requirements.
- Recognized Themer - A member who's known for original themes. You can apply to the Senior Moderators yourself, or ask a Recognized Contributor to nominate you.
- Recognized Developer - A title given to a member for his/her work in his/her device-specific development. You can apply to the Senior Moderators yourself. I don't think anyone can nominate you here. The developer committee assesses your overall activity and decides whether you're eligible for this position.
- Elite Recognized Developer - This title is given to Recognized Developers who have provided outstanding work, way beyond the knowledge of us mere mortals. A Recognized Developer is re-assessed by the developer committee before being given that title.
- Forum Moderator - This title is given to Recognized Contributors who are responsible enough to handle a forum on their own with some other such members of course. They have to fill out an application (which is no longer available now) and then the moderator committee approves of them.
- Senior Moderator - Senior Moderators are in charge of the whole site-wide support for Forum Moderators and nitty-gritty business that Forum Moderators cannot look after.
- Administrators - Next comes the admins who are responsible for everything as a whole. Each look after a specific part of XDA.
- MikeChannon's the dude behind all this. He's the Forum Administrator.
Other titles you may come across are
- Moderator Committee - sits on the Mod Committee
- Developer Committee - as above, but for Developer Committee
- XDA Newswriter - publishes articles for the Portal (front page)
- Retired xxxx - have since officially 'left' their XDA position
Click to expand...
Click to collapse
Thread Layout Tips (by me4488)​
Here are some basic Layout tips that will make your thread look more appealing, and pleasant to read.
1 > You need to have all of the basic 5 stepping-stones for every thread you create.
ROMS: Features, Requirements, How-to, Screenshots, Download links. (Optional: Notes/Warnings you may add)
KERNELS: Features, How-to, Download links. (Optional: Benchmarks)
THEMES, APPS AND MODS: Features, How to, Download links, Screenshots. (Optional: Play store links.)
GUIDES: FAQs, Credits, Links, Explanations. (Optional: Personal comments.)
2 > Optional but highly recommended.
Some of you guys let this pass over your head, but i cannot emphasize enough how much you need to have those.
CREDITS - Thank the people who helped you during your hard work. It really helps you establish some good allies and prevent arguments. Not to mention the warm sensation in an assistants tummy when he sees his name in a thread that exploded.
CHANGELOGS - Please add every single change you make when you update your work. Its really frustrating sometimes, to wait for a big update and then have to go through everything to figure out what it did. Also it helps yourself to stay organized and aware of the changes you make, because let's admit. We all forget.
3 > Follow the rules.
Stealing, swearing, and blaming in an OP will get you banned.
Remember to set up a github where all the changes to your work are made. Its against the rules to not do so. Don't abuse caps, big fonts, colors, styles, etc. It just makes people want to report your thread.
4 > Cosmetics
Use colors and [Bold] to separate the different points of your thread(Headers/Sub-Titles). For example the basic 5 points should be in bold and a different color so that readers can easily make out what they are going to get information on. This thread itself is an example on good cosmetics.
5 > Optional stuff
Regular updates on the working process are greatly appreciated by the users. It shows that you are interested in providing updates and communicating.
Mirrors to your work are really helpful, you might upload them yourself or you may let other people do so, but either way, it ensures that everyone has access to your work at any point of time.
Videos showcasing the work you are presenting. Its always nice to have a visual demonstration of what you are offering, even though it may be a little hard to execute.
6 > Some tips:
Have the headers centered and use bigger fonts on them.
Don't use bright or hard to read colors like cyan, yellow or pink, it irritates the eyes and makes it less appealing to people that are willing to read.
Follow the example you started with. If you decide to make your layout in a specific manner don't go changing it mid-way.
If in doubt, reference other threads for examples.
Get creative, use your imagination, think outside the box. Innovation is good.
Examples of threads that have great layouts, and a basic template.
Great Layouts: Example #1 ; Example #2 ; Example #3
Everything is well organized here and cannot be criticised.
Note: Example #1 is missing the changelogs because the dev just helped us out. Support is up to us.
Good/Mediocre Layouts
Example #1 - The layout itself is very well structured but those little details like the bright yellow and the monotone text size/style.
Example #2 - Not the best way to post a thread. Most times 2 posts are unnecessary. Features list missing. Also i am a little against the excessive urging for people to thank/donate to you.
Bad layouts - Any thread missing the 5 important stepping stones, or not following common sense.
Experiment with your own styles, and use common sense, asking yourself “Jee, will this look good if I did this and that?”
P.S. The examples given were chosen based on my sense of giving examples and are completely randomly chosen.
Proper Forum Manners (by aashay960)​Being a member here on XDA, you are expected to behave in a manner that will not cause any inconvenience to your fellow members. People are here because they choose to be here, because they like being here and helping out. They do not owe you in any way. They can choose not to help you if they find your manners disrespectful. You are here because you need their help. Disrespecting any one member or not following rules can leave a negative impression on the other members about you and they might choose to ignore you.
XDA Forum Rules <-- Read this
Here are some points to help you follow proper forum manners/etiquette.
1 > I have a Question, What should I do?
The first thing you should do is use the ‘Search’. Xda has an excellent and organised searching mechanism. You can search within a particular thread, a particular forum or search the entire website at once. It is very likely that you are not the first person to encounter this problem. If searching on XDA does not satisfy you, Search on Google.
From my personal experience I can tell that searching is indeed the best way to solve your problem. More often than not, I find the answer by searching rather than asking on a thread.
If you still cant find the solution, post your query in the Q and A section.
Don't Post vague titles like “HELP!”, “EMERGENCY!” It will not attract more people to your thread to help you. In fact, it irritates people. Xda members will try their best to help you with all kinds of problems - small or big. It would be much more appreciated if you name your thread clearly like [Q][NAME OF PROBLEM][WHAT ROM]. And avoid posting things like “HELP!!” or “pls halp!” in your posts as well. Doing so will not be any help.
2 > I am excited about the release of the next version of this rom. What should I do?
Never ask things like “When will you release the next version?” “How much more time to the next release?” “Please release the next version soon”. This is called asking for ETA and this is not welcomed here. The developers pursue this as a hobby and do so in their free time. They will release the Rom when they feel it is ready to be released. Trust me, they have no gain keeping it to themselves. They WILL share it with you.
Also, do not post things like “Waiting for the ROM” or “Excited about the next release”. They do nothing to help others and just add to the clutter.
One rule to follow before posting anything is to ask yourself - Will this make a difference? If the answer is no, don’t post it.
3 > I am facing a bug with the Rom. What should i do?
Be descriptive about your problem. Try to give as much information as you can about it rather than writing “pls help”. Mention the name of the rom, name of the kernel. Provide screenshots if you think they might help. Also mention what you did ‘before’ you found the bug/problem. It is often the last thing you do that messes up your ROM.
Also, Learn how to take a logcat. There are hundred of guides showing you how to do it. Use the Search box. It’s not Rocket science..
4 > I really like somebody’s work and would like to share it. What do I do?
Make sure you ask permission from the original maker of the guide/rom/kernel/app you want to share. And make sure you mention his username in your thread and thank him for doing his work. It is also recommended to provide a link to the original thread.
5 > I really like somebody’s work. I want to tell him that I appreciate it. What do I do?
This is pretty obvious but, HIT THE THANKS BUTTON. The developers feel really happy when you press the thanks button. It encourages them to keep working hard.
The thanks button is enough to show your gratitude. You don’t need to post things like “thank you” or “i really like your work” or “Great job”. This will increase the clutter in the forums. This is what the thanks button was made for.
Some developers also give you the option to donate money to them. If you would really like to show your appreciation, you can click on the “Donate to Me” button in the signature, or under their profile picture.
6 > Another user is disrespecting me or disobeying the rules. What should i do?
Use the “Report Post” button (the exclamation mark on top of the post). DONT fall down to his level and start disrespecting or abusing him. That could result in both of the users getting banned.
Wanna learn more?
[Lists]Guide Ride-From a Newbie to a Dev, Get all you need here
[READ FIRST] [REF] Dictionary for n00b - What is.../What does ...mean?
This thread will always be a 'Work in Progress'. Please post any suggestions/questions/additions/feedback
I suggest making it sticky.
Great work , much appreciated :good:
Added - What is GAPPS?
Great job on this topic. Just 2 things: Undervolt is most commonly used. Also " therefor " has an e at the end( Therefore ).
Code:
therefor: adv. for that [thing]; for that, for it
Ex. I will give you my pocket knife if you will give me your watch therefor.
therefore: adv.consequently, hence
Ex. I think, therefore I am. I was afraid; therefore I ran.
me4488 said:
Great job on this topic. Just 2 things: Undervolt is most commonly used. Also " therefor " has an e at the end( Therefore ).
Code:
therefor: adv. for that [thing]; for that, for it
Ex. I will give you my pocket knife if you will give me your watch therefor.
therefore: adv.consequently, hence
Ex. I think, therefore I am. I was afraid; therefore I ran.
Click to expand...
Click to collapse
1) If I'm not mistaken, our phone does not have a kernel with undervolt support right?
2) I know the meaning/spelling of therefore. Must be a typing mistake. Haha
aashay960 said:
1) If I'm not mistaken, our phone does not have a kernel with underclock support right?
2) I know the meaning/spelling of therefore. Must be a typing mistake. Haha
Click to expand...
Click to collapse
Thanks for taking that in mind man <3 I'm just a grammar nazi, sorry bout that. And I undervolted it to 75 MHz.
me4488 said:
Thanks for taking that in mind man <3 I'm just a grammar nazi, sorry bout that. And I undervolted it to 75 MHz.
Click to expand...
Click to collapse
I think there is a misunderstanding between us. There s a difference between underclock and undervolt. What you are talking about is underclock. Undervolt has got to do with how much voltage the battery is supplying. We can reduce it to save battery but it causes stability issues.
PS - I'm all for correct grammar too And Congratulations on becoming a senior member! :good:
Added - How to save battery?
aashay960 said:
Added - How to save battery?
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=991276( save battery+performance).
aashay960 said:
I think there is a misunderstanding between us. There s a difference between underclock and undervolt. What you are talking about is underclock. Undervolt has got to do with how much voltage the battery is supplying. We can reduce it to save battery but it causes stability issues.
PS - I'm all for correct grammar too And Congratulations on becoming a senior member! :good:
Click to expand...
Click to collapse
I am a senior member? Wow xD Thanks for actually telling me, i dont pay attention to that stuff. If you dont mind, im going to look for some more stuff that you can add here so we can make this more helpfull. For example, you can dedicate a little paragraph for task killers. Here is the link Cons (and no pros)
me4488 said:
I am a senior member? Wow xD Thanks for actually telling me, i dont pay attention to that stuff. If you dont mind, im going to look for some more stuff that you can add here so we can make this more helpfull. For example, you can dedicate a little paragraph for task killers. Here is the link Cons (and no pros)
Click to expand...
Click to collapse
Thanks bro. Any help would be appreciated. My college started today so I'm gonna be super busy. My college is 1 and a half hour away from my home!
But I will still continue to give my time and effort for this forum because i love it and the people here.
Ohh I have already read that article before!. But everyone seems to have a different view about task killers. I myself don't use it. So honestly I don't know what to believe..
aashay960 said:
Ohh I have already read that article before!. But everyone seems to have a different view about task killers. I myself don't use it. So honestly I don't know what to believe..
Click to expand...
Click to collapse
Ive seen recognized developers talk about how bad task killers are. I would rather believe them than the people who download task killers to have more ram which is actually unimportant. Like said in the article, the low memory killer does its job nicely without the need of additional help.
This and This
So my thought is completely against them.
Also keep your studies at 1st priority. :3
me4488 said:
Ive seen recognized developers talk about how bad task killers are. I would rather believe them than the people who download task killers to have more ram which is actually unimportant. Like said in the article, the low memory killer does its job nicely without the need of additional help.
This and This
So my thought is completely against them.
Also keep your studies at 1st priority. :3
Click to expand...
Click to collapse
Looks good. I use watchdog too.. I will add it soon :thumbup:
ADDED - Task managers - Good or Bad?
Added - Clean flash and Dirty flash

I need help with a performance boost.

I would like to gather some of your thoughts on what I could do to boost the performance of my Mi Mix. I love this phone and want to keep on using it but, I'm a heavy Pokemon Go user and honestly, the performance just isnt cutting it so, Im hoping I can get some feedback.
[*]Do you own the Mi Mix and are you happy with your performance?
[*]Are you running a custom rom or maybe the chinese rom? If so, which rom & kernerl are you using?
[*]Is your phone overclocked?
These are just the basic things that come to mind. If you think of anyting else, please let me know. Im cool with rooting my phone, I just may bug you on a step by step guide. Thank you all for your help and feedback.
Phaze1585 said:
I would like to gather some of your thoughts on what I could do to boost the performance of my Mi Mix. I love this phone and want to keep on using it but, I'm a heavy Pokemon Go user and honestly, the performance just isnt cutting it so, Im hoping I can get some feedback.
Are you running a custom rom or maybe the chinese rom? If so, which rom & kernerl are you using?
[*]Is your phone overclocked?
These are just the basic things that come to mind. If you think of anyting else, please let me know. Im cool with rooting my phone, I just may bug you on a step by step guide. Thank you all for your help and
Belive me rooting is a must then go custom with vipor os your see the difference
Click to expand...
Click to collapse
You can find several threads with tips on maximising the performance of the phone.
https://forum.xda-developers.com/mi-mix/how-to/biggest-antutu-score-t3576879
https://forum.xda-developers.com/mi-mix/how-to/major-speed-increase-t3621002
The most important thing you can do regardless of ROM is to root the phone (Magisk) and delete a file called thermal-engine found in the /system/vendor/bin folder. Since it's a system file, it requires root to remove. It limits the performance of the phone by downclocking/disabling the cores at certain temps, but it is more restrictive than other SD821 devices like the OP3T. There is still hardware temp control so it won't harm the phone. An SD821 device shouldn't have any issue with Go to begin with.
Other info like using Kernel Adiutor/EXKM to tweak phone settings can be found in those threads I linked to. These tweaks only make a small bit of difference but they're still worth the time it takes to toggle a few options on/off.
For ROM, I can only suggest Lineage or AICP (12.1) because those two are still actively updated, and flash the Psychedelic kernel since it provides a small overclock.
Belive me rooting is a must then go custom with vipor os your see the difference[/QUOTE]
I keep hearing good things about that ROM. Im going to have to try it out. Thank you.
gavin19 said:
You can find several threads with tips on maximising the performance of the phone.
https://forum.xda-developers.com/mi-mix/how-to/biggest-antutu-score-t3576879
https://forum.xda-developers.com/mi-mix/how-to/major-speed-increase-t3621002
The most important thing you can do regardless of ROM is to root the phone (Magisk) and delete a file called thermal-engine found in the /system/vendor/bin folder. Since it's a system file, it requires root to remove. It limits the performance of the phone by downclocking/disabling the cores at certain temps, but it is more restrictive than other SD821 devices like the OP3T. There is still hardware temp control so it won't harm the phone. An SD821 device shouldn't have any issue with Go to begin with.
Other info like using Kernel Adiutor/EXKM to tweak phone settings can be found in those threads I linked to. These tweaks only make a small bit of difference but they're still worth the time it takes to toggle a few options on/off.
For ROM, I can only suggest Lineage or AICP (12.1) because those two are still actively updated, and flash the Psychedelic kernel since it provides a small overclock.
Click to expand...
Click to collapse
Thank you. I really appreciate your feedback.

Categories

Resources