View Single Post
Posts: 1,427 | Thanked: 2,077 times | Joined on Aug 2009 @ Sydney
#774
jakiman's N900 Overclocking Guide

Here's my quick guide for the first timers in this thread:
(Summarised information of everything I know about overclocking the N900)

Last Updated - October 31st 2010
- Added "FOR MORE BOOST" section on using a single frequency for both min/max.


Benefits of Overclocking:
- Faster loading of most apps.
- Faster bootup and shutdown.
- Faster / smoother transitions
- Faster game emulation (DrNokSnes, PSX4ALL etc etc)
- Faster camera focusing and image processing.
- Faster multi-tasking. Handle more apps.
- Faster web page rendering. Faster flash playback.
- Umm. Faster in just about everything that can be faster.

Downsides of Overclocking: (potential risks)
- If you put constant full load at maximum speed, it may overheat. Possibly HW damage although rare.
- If cpu cannot handle the overclocked speed, phone will become unstable or not boot up. (apps crash, file corruption etc)
- Possibly reduce the lifetime of the device. (This is just theory and cannot put a exact time on it)
- If max speed is used very frequently, it may use a bit more battery = less runtime. (but not by much still)

Disclaimer - You are fully responsible for any damage / problems caused by overclocking. Not anyone else.
(I am being a little over cautious but better safe than not. =P)

Things you need to know:
- Overclock is done by flashing the modified kernel. Can be done without a PC. Very safe.
- No setting or data gets changed/deleted. So it is a transparent flash.
- In Nokia default settings, N900 scales between 250Mhz and 600Mhz dynamically. (550/600 uses overvoltage even in stock form)
- With custom kernel, it can scale between 125Mhz and 1150Mhz dynamically. (You can change the limits on each end)
- Custom kernel allows you to use lower than stock voltages also. In theory, by using less voltage than what Nokia specified, it may use less power even when overclocked.
- In most normal everyday use, I do not notice any extra battery usage. (in fact, it seems to last longer)
- If something goes wrong after installing the new kernel, it's easy to revert back and deinstall.
- Majority have reported theirs to work fine up to 850Mhz very easily. (mine runs stable even at 1.1Ghz!)
- Also, titan's kernel-power-settings profiles overclock not just the CPU but the DSP. (although very slightly)
- The real-life benefits of DSP overclocking is not yet certain it seems. (although, we know it is used by video/audio decoding at least)
- There is no accurate cpu temperature monitoring app / widget / script available. (this is a hardware limitation. No accessible cpu temp sensor!) Only battery temp sensor is available. (cannot rely on it too much)
- We currently have no extensive data to determine what short term or long term damage this will do to your N900.
- What we do know is that it makes the N900 super duper fast and to most, that's all that matters it seems.

Success Rates
- These percentages are my own totally non-scientific but slightly educated yet conservative estimates.
- What I mean by stable is that it won't cause issues in everyday use including up to 30minutes of constant use of game emulator or watching flash videos etc.
- I'm assuming that you are using titan's kernel and using lv voltage profile.

99.9% should be stable at 700Mhz
90% should be stable at 800Mhz
75% should be stable at 900Mhz
30% should be stable at 1.0Ghz
10% should be stable at 1.1Ghz
5% should be stable at 1.15Ghz

Instructions on how to overclock:

Installing titan's kernel from HAM / xterminal (no need for PC):
- With this kernel, you can go up to 1.15Ghz if you tell it to! (Obviously, no guarantee it'll work stably with your N900 and definitely not recommended on your first attempt)
- No need for scary flashing either. Just install, shutdown and reboot. Easy.
- Even after you install and reboot, it's not overclocked by default. (250-600MHz) So it's 99.9999% safe.
- Titan's kernel is PR1.3 compatible.
- To see a table with what profile uses what voltages, see this:
http://wiki.maemo.org/Overclocking#Summary

My simple steps:
  1. It's best to have extras-devel repository disabled if enabled and just have extras and extras-testing enabled. (unless you require the extra features that the extras-devel version brings and don't mind the risks)
  2. Install "rootsh" from application manager.
  3. Install "Enhanced Linux kernel for power users (settings)" (section 'system' in application manager).
    (This should also install "Enhanced Linux kernel for power users" which is the custom kernel aka titan's kernel)
    (UPDATE: Seems dependency is removed. So you will need to install both packages separately. Order does not matter.)
  4. Shutdown the phone and power back up again.
  5. Then launch xterminal, and follow these steps below:
http://talk.maemo.org/showpost.php?p...postcount=3412


Basically, if you want to try the lv profile (Little bit lower voltage than stock default) and overclock to 850Mhz (min 250 max 850), type following commands in xterminal:
Code:
sudo gainroot
kernel-config load lv
kernel-config limits 250 850
6. Verify that it is working typing "kernel-config show" in xterminal to see what profile settings are currently loaded.

Now your N900 is overclocked to 850Mhz using slightly less voltage than stock!!

Now, if you want to try lower voltages, just replace "lv" with ulv, xlv or ideal. Where DEFAUL > LV > ULV > XLV > IDEAL.
(note that IDEAL's lowest default frequency is 500Mhz but you can change this as mentioned later on)

You can also change the maximum frequency to 900, 950, 1000, 1050, 1100 or 1150.
If you hit a frequency where it's unstable, crashes or reboots, either lower your frequency or try a higher voltage profile.

7. If you reboot, the overclock is reset back to default. So you will need to re-enable the overclock. (this is the safest way to avoid a constant reboot upon applying a unstable overclock although titan's kernel now has protection against this ever happening) I recommend you use the Queen Beecon Widget method I mentioned below on this guide.

If you do want to set an overclock profile to auto-load upon boot up, use the following command:

Code:
 
sudo gainroot
kernel-config load lv
kernel-config limits 250 850
kernel-config save myprofile1
kernel-config default myprofile1
Above is an example where I will load the lv voltage profile, then set the limits to 250-850 and then save it as "myprofile1" and then set it as the default profile at bootup. Now, when you reboot, it will auto-load myprofile1 profile with lv voltages and 250-850 frequencies.


================================================== ===

FOR EVEN MORE BOOST

Fixing the frequency to a single value and not allowing it to scale itself ondemand can result in better response speed and overall a smoother experience. (I'm now running mine at 1000Mhz constantly. Both min and max value as 1000 with all other values in the avoid frequency list)

Read here for more info / instructions:
http://talk.maemo.org/showpost.php?p...postcount=4917

----------

AVOID FREQUENCY INFO

ideal profile avoids 125 and 250Mhz by default. So loading ideal profile will only go down to 500Mhz as its lowest frequency. This is intentional and is found to make your N900 more responsive but not use more battery or harm your N900 still. (with the help of lower voltages)

To enable frequency down to 125Mhz, just run the following command to blank out the avoid frequencies.

Code:
 
echo > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/avoid_frequencies
If you then want to avoid 125Mhz and only go down to 250Mhz, type the following afterwards:

Code:
 
echo 125000 > /sys/devices/system/cpu/cpu0/cpufreq/ondemand/avoid_frequencies
================================================== ===

Going to lower voltage than "ideal" profile:
- This is only recommended to push your N900's limits even more.

Tonism has created his own starving profile which uses even less voltage than titan's ideal profile.
As it uses very low voltages, it may be unstable if your cpu is not good enough. If it works fine, benefits are that it uses less power.
Titan's settings package now includes the starving profile also for you to try out.

Voltage Chart: http://talk.maemo.org/showthread.php...072#post646072

Type following to load starving voltage profile:
Code:
kernel-config load starving
Of course, you can change the limits just the same like any other voltage profile. All the way up to 1150Mhz!

================================================== ===

Overclocking from your desktop using QBW:
- Now that you know a thing about overclocking, here is a good way to instantly change your overclock whenever you want conveniently straight from your desktop.
- I recommend you use the Queen Beecon Widget to control the overclock by simply clicking on QBW buttons.

Quick easy starters guide by bakuur:
- http://talk.maemo.org/showthread.php?t=61709

or

My own installation steps are in below post:
- http://talk.maemo.org/showpost.php?p=668577&postcount=3947

Example screenshot with QBW buttons to instantly change overclock profiles whenever I want.




===============================================


How to revert back to non-overclocked factory stock kernel state:

Instructions: http://wiki.maemo.org/Kernel_Power#Deinstallation


==============================================


Overclocking Nitdroid:

FYI
- power.conf is the same conf file syntax as the titan's kernel on the Maemo5 OS for overclocking.

Jay-C's Official NITDroid overclocking guide:
- Please refer to official guide now.
- http://forum.nitdroid.com/index.php?topic=116.0


==============================================


Benchmarking - Show how fast your N900 has become!
Matan has provided us with nbench for us to run tests and get comparable numbers within Maemo5.
Go here - http://talk.maemo.org/showthread.php?t=49705


===

Special thanks to lehto, titan, dj_steve and jay-c for helping out and allowing overclocking to happen.

Last edited by jakiman; 2012-10-16 at 03:36. Reason: Updating with more information.
 

The Following 384 Users Say Thank You to jakiman For This Useful Post:
*the_newbie*, 009N, aanckar, aathava, abill_uk, acidflow, afaq, AgentZ, Agilan, ahmadamaj, ajax1, ajjara, alienhead, amar993t, andil, andraeseus1, angelbratz, angrycore, apollovy, ArchT, arnest, Arrancamos, avinashtjoshi, axeldub, Baaart, bakuur, bald.eagle.one, baron von bubba, Barrie, Beatty, bequezox, bernd, biggzy, BillyTheFish, bimbim, bioepi, bioman, bipinbn, blackopz, Blaizzen, bolbit, bousch, bunanson, Bundyo, burmashave, burwat292596, c0rt3x, c0rwyn, c4rl05, calvin_42, casca_uk, cashclientel, ceevee, celebrant, cevenn, cfh11, Changegames, cheve, Chrome, cincibluer6, ckjy, clasificado, codeMonkey, corduroysack, Corwin, cpscotti, craftyguy, Crashdamage, Creamy Goodness, crenquis, Crogge, Crom, cyapalmos, DaReaper, Dark_Angel85, das_schlumpfie, datjomp, DaveQB, dazzakoh, dc88, Deaconclgi, debernardis, defixio, devensega, di1in, digital909, DJQwamii, DocSolo, double07, Dragon_Orb, dreadnought, Drisker, dwould, dzano, E.D.U., e5cape, ed00, ejasmudar, elie-7, emesem, eMiL, Erebo, esthreel, etuoyo, euanandrews, evad, evan, Exact, excelar8, F2thaK, famdango, fasacosta, fatalsaint, Faz, felbutss, Figa, figaro, flipalong, flydeep, Forphucsake, futtawuh, fuyoh, fw190, Fötus, gabby131, gazadi, geneven, ggroen, ghostBuster, ghzroy, gianni_mar, gilipter, Gohan, greboide, gregc2009, Greybrow, grog, gryedouge, gsever, gviterbo, H3llb0und, HammY, Hannu, HellFlyer, Helmuth, Higgsboson, HRZ, humble, huntr77, iceman600, IcyAirs, igorgomes, ikirk, iKneaDough, imperiallight, Inacurate, ingvay7, inidrog, ioan, jaemo, jah25, Jamil, Jenason, jenius, JimKnopf, jimp, John McClane, jothanan, jpala16, jukey, jurgel, jurop88, JustCallMeJoe, K.Singh, kamiwey, Kevs, Kieron, Kilian, Killahgold, kirangp, klinglerware, kmare, kolos, kopte3, Kriek, kristoph76, kulas, Kwincy, laith.m.y, leetut, Lehto, lemmyslender, LippiVan, logicalsid, lordfury007, lostinmirkwood, louispires, lsolano, luckylefty, lvlonkey, m165, maartenmk, magnuslu, maguitodelrock, Maj3stic, malaeum, maluka, manojkumaru, manvik60, Mara, mariuscm, Marklar, martinj88, Martyman, mattiviljanen, matts76, mdl, mehulrajput, meizirkki, MetalSer, mitxela, mivoligo, mmlado, moepda, Moolan, moonblossom, Morit, Mr Bump, Mr. Incredible, mrbiggzz79, mrp, mr_bridger, mscion, murak, n0ak, nan, narzix, Natan_xy, navsin, NecronoM, neof1z, neven, nicholes, nickolaicho, Nikem, nikul.padhya, niqbal, NokiaRocks, nology, noobmonkey, Olle, Omkar, optimaxxx, OptX, oved_etzot, OVK, P@t, paan_fls, padmaraj.ravi, panjgoori, pankajsays, Parlapipas, Patola, peteblack, phap, philh, Phips, PhonoN900, Pigro, Pyro1099, pyromaniac, Radishface, RafaLL92, Ragnar79, ravas, RAZOR, rfa, riahc3, rich c, rizbert, rx7, S0urcerr0r, saadgadit, sachin007, saned, Sash, SASO1600, sb10ck, scegliau, schaggo, Schturman, scribbles, sepehrsfmech, Shadx, shallimus, shanttu, shazosbourne, Shinigamijim, Shivu025, shnigi, simonfzhao, simplysimonm, skalogre, skidrock, slackmagic, slaxe, smoku, sneer_69, snfx, Sphinx780, SR90, stas123, stephenh, stew-b, Stonik, Straycat, Strutten, supwner, Syrah, Taigatrommel, tangent, tangs, tape_ape, techno2001, thecube, thecursedfly, thej80, theonelaw, thommy, thp, titan, tlex26, tmarinos, ToJa92, tom047, travla, traysh, tuliobaars, tuminoid, turtle, udaychaitanya16, UNderworld, uros, vdx29, viraj3006, visN900, vkv.raju, vldcnst, wasserkuhl, Waykokid, wazza747, wfg, wheatbisc, WilmaXT, woody14619, xperto, xuggs, Ykho, YoDude, yorg, youngcalihottie, zaksloan, Zelig87, Zibeb, zimmerit, zweiblum, _privateMember