Reader's iBook G3 (750FX) CPU Speed Adjustment Utility (from the 5/28/2004 main site news page. I don't own a 750FX or GX CPU or Mac to test this but see below for reader reports.)
I've written a kernel extension for OS X that makes the Software
Overclocking on IBM 750FX based iBooks pretty simple. Your site
actually gave me the idea in this (June 2002) article:
http://www.xlr8yourmac.com/systems/ibook_2002_overclocking.html (this page), but
it's a lot more complicated now since OS X tries to restore the clock
speed frequently. This actually patches the kernel image in memory and then provides a nice sysctl interface to change speed.
It can be found at http://www.swieskowski.net/icook/ .
Several readers tried Patrick's "iCook" and reported back:
"I tried iCook - and it works very good!
My iBook 600 now runs at 700 with no glitches
(tried stuffing, expanding, compiling large application, gaming...)
Was working at 750 too but freezed after several minutes.
XBench CPU score go up from about 39 to 46 (17% increase).
Best regards, Alexey
"Hi Mike, I overclocked my iBook G3/900 to 1Ghz using the utility. But I don't have a way to make sure it is really running at a higher speed.
The OS still reports 900Mhz. I should probably try to run Xbench to look for
a speed improvement, but I'm not to keen on using Xbench as a benchmarking
utility. Any advice?
he later wrote)
I just did some quick tests with Xbench running my 900Mhz iBook at 800, 900
and 1ghz. I've had the machine set to 1Ghz for the last 2 days and it was
running reliable, or at least I thought it was. Xbench shows a 11% increase
in CPU speed as could be expected going from 900-1000mhz. Some other things
were speed up as well, mostly Quartz Drawing. However at 1Ghz it failed to
complete the OpenGL test. Then I suddenly remembered that when I tried the
Call of Duty demo (just for fun, I know it's hardly playable on my machine)
the display was all wrong (trees being red, drawings were off). Anyway I
think running at 1Ghz breaks OpenGL.
Just tried 1100Mhz for kickers... My machine crashed the moment I hit
'enter'. So there it is. It's seems to work, but I'd prefer to have my
machine running at 900Mhz, because running it at a higher clock speed might
affect the operating life of my iBook. And being a student, that's the last
thing I'd want...
Greetings from the Netherlands,
"I played around with the cpu oc utility, works perfect, you can change
the cpu speed on the fly, I changed the cpu speed while playing a divx
form 800 to 300.
XBench shows significant changes.
I own a G3 800 mhz ibook. When i change the speed to 900 mhz it crashes
so it's more a 'down clock' utility for me :-)
I had a friend with the PL G3/900 Pismo upgrade that often ran it at low CPU speeds to conserve battery life.
"Hi Mike, I tried the software and it seems to work.
I didn't have any trouble installing it and I was able to set my iBook
(900 MHz G3 12" with 10.3.4) to 1 GHz.
Unfortunately after running dnetc for about 15 minutes the Terminal
(where I had dnetc running) unexpectedly quit and trying to launch it
again resulted in a system freeze.
I rebooted and everything was back to normal. I then tried 950 MHz and
this setting seems to be stable even under heavy load. Surprisingly the
fan didn't turn on at all.
Trying with 1050 or 1100 MHz caused the iBook to freeze immediately.
System Profiler continued to see my iBook as running at 900 MHz (but I
think it does that also when the energy saver settings cause the iBook
to run at reduced clock rate).
The gain in speed, of course, is marginal but maybe there are iBooks
out there that can be overclocked by more than 5 %.
"I tried it. My 900Mhz G3 iBook ran fine at 1000Mhz (in fact, as I type this
email) but flaked out at 1100. Didn't do an exhaustive search in-between. I
set the Energy Saver to Highest Peformance and then let it go custom by at
least enabling the display sleep. Hopefully, that leaves the processor at
the Highest Performance setting that is recommended by the author of this
About This Mac and System Profiler don't see the new speed. You have
to use the hack to read the new speed.
Thanks. - Paul
If any other risk-takers with an iBook try this (A backup of your system with CCC first is recommended), let me know.
INFO from the original June 2002 article on using CHUD Tools follows
Note: A reader sent a note that the updated CHUD tools (v2) no longer have the register tweaks necessary for this hack. (From the 6/24/2002 www.xlr8yourmac.com news page)
"A few days after you posted about the software overclocking
ability, Apple removed CHUD Tools 1.1.1 and replaced them with version
2.0.0b17. When I clicked on the appropriate registers and tried to edit
them, they were grayed out. ...
Warning: You assume all risk from overclocking, which voids the warranty, may not be reliable and could cause permanent damage.
(*Updated with a correction and more info from readers*)
About a week ago a reader wrote that the IBM 750FX CPU used in the new 2002 iBooks have a bus/cpu multiplier that can be set via software. (The bus/cpu ratio that determines CPU speed is normally set by resistors.)
The new iBook can be overclocked in software. There are two PLL (clock multipliers). The register HID1 is used to configure them and to switch between them.
I have, with success, changed the clock to 800 MHz. I have installed the CHUD tools from Apple and done the following operations.
[Note - v2.0 of the tools no longer has this capability-Mike]
1 launch the Reggie application (/Developer/Applications/Reggie)
2. select the HID1 register
3. deselect the bit 15 (if it was yet disabled jump to step 6)
4. click Apply (we select PLL0 as source)
5. select the HID1 register
6. set the bit 24 and clear the bits 25, 26, 27, 28, 29 and 30
7. click Apply (we configure PLL1 to 8x, so 800 MHz)
8. select the HID1 register
9. select the bit 15
10. click Apply (we select PLL1 as source and now we should run to 800 MHz)
Only 800 MHz worked on my ibook. But also, I didn't have the right documentation.
(I wrote to ask if the speed is reset after a restart (I suspected so)-Mike)
Yes, it resets to 700 MHz. It will be very easy to do a kext that sets the hid1 register during the boot. Currently, I don't have my ibook to try it.
I would like to make a correction.
Step 6, set the bit 24 and clear the bits 25, 26, 27, 28, 29 and 30
[I corrected this in the original remarks above-Mike]
Else I have two remarks:
- the new iBook use a version 1.2 of the 750FX. The fully featured 750FX, able to reach 1GHz, are the 2.0.
- Reggie lets the user enter any value. So it could be dangerous for the iBook because the maximum frequency allowed is 2GHz.
Yesterday's news page had a story with specs/features of the IBM 750FX CPU.
(Note: As with any overclocking, this of course voids the warranty, may not be reliable, etc. etc. - all mods like this are done at your own risk. )
I checked the IBM 750FX specs file linked in yesterday's news and found the following reference. (Some thought the above was a hoax - I don't have an iBook 2002 to try but here's a clip from the 750FX specs)
(Page 13 under "features" section in power section notes)
"dual PLLs for seamless frequency switching"
(Page 16, para 3.2 Power notes [bold emphasis mine])
"...includes two PLLs allowing the processor clock frequency to be changed "on-the-fly" to match processing requirements.
During reset PLL0 is selected to provide the internal processor (i.e core) clock. The external clock to core clock multiplier is selected using external pins. Thereafter, PLL0 and PLL1 may be controlled using software . The HID1 register contains fields that specify the frequency range of each PLL, the clock multiplier for each PLL, external or internal control of PLL0 and a bit to choose which PLL is selected as the source of the processor clock at any given time."
This sounds like more flexibility than the usual (power saving) clock speed reduction features of many other CPUs.
Note: The question has been raised about the iBooks power saving features conflicting with this hack (perhaps even if all Energy Saver options such as reducing processor speed, etc. are disabled).
"I have an iBook 600 (one of the new ones), and tried the reggie app. First
of all, this does work - I don't have an app that checks the CPU speed in X
(the only one I found on the net didn't work and others don't work in
classic), but I used distributed.net's client to check "speed."
Bits 1, 2 and 3 (note: it starts at 0) seem to indicate CPU speed (or
identify the machine). 1 and 2 are checked for the 600, and 1,2 and 3 are
checked for the 700. These are not changeable. After hitting "apply", the
value return to their default settings.
According to the original poster, bit 15 changes CPU speed based on whether
"reduce processor performance" is selected in the energy control panel and
adjusts the speed according to bits 24-30. These must set more than just the
multiplier - possibly the bus speed, cache speed or other values - 7 bits
(128 values) shouldn't be needed for just bus speed multiplier.
Both the 600 and 700 have 25 and 29 checked to set the CPU speed to 400 when
"reducing processor performance." Checking all (25-28), (25-29) or (25-30)
seem to change CPU speed to 750. Likewise both (25-27), (25-27 and 29) and
(25-27, 29 and 30) seem to change it to 700. Bits 29 and 30 are either
redundant, affect nothing or set some other parameter. Again these values
are from benchmarks compared to the default 600 MHz. I'm not willing to
play around more since as Donatello noted, some combination could set the
CPU to 2 GHz.