Jump to content

Experimental Intel SpeedStep kext


mercurysquad
 Share

291 posts in this topic

Recommended Posts

No news for a "remember option" in the kext, i think mitch's idea is good...

 

My idea for throttling setting MHZ feedback:

Yes, not using numbers for MHZ insted some picture points like a traffic lights.

blue lamp for slow, cool MHZ, green middle speed, to the red for fast(heat) MHZ.

Lights would be also fast enough to show fast switchings.

Humand couldnt see so fast chaning numers MHZ.

Would give an little lightshow if you make it this way :thumbsup_anim:

The BEST : OSX86 only lightshow :thumbsup_anim:

Link to comment
Share on other sites

No news for a "remember option" in the kext, i think mitch's idea is good...

YEAH, would be great if SUPERHAI meets this thread and answers some questions too.

 

Over the time i also have some questions:

It seems really, also others reported that, that using speedstep drivers didnt show any less temp/longer accuphase.

Today i let run my C2D without speedstep loaded (BIOS enabled) and cant find any temp difference to running with speedstep active!

If let the CPU work : the temp rises fast - but thats also with speedstep, even with forced to stay long on slower MHZ

If i have less work (lot of idle time) - the temp stays low - also no difference to loaded speedstep drivers.

 

 

0. Its 100% clear that the CPU does switch MHZ down with speedsetp drivers loaded and setup - Benches slower if CPU forced to fixed slow MHZ

00. For me its unclear if CPU really does the mVolts down also!

1. Can it be that something does also powersaving - C1E or other by Mainboard or CPU itself , because we cant see much difference ?

Thats an really heavy question, because if only sideeffect is slowing down cpu without powersaving/tempsaving speedstep on OSX maybe

not recommended.

 

Hope one of the speedstep driver devs will answer that and other questions.

Link to comment
Share on other sites

I've tried to use 1.3.2 on my laptop IBM Thinkpad T40:

can't add kernel extension - (file access/permissions) (run kextload on this kext with -t for diagnostic output)

kextload: extension /Users/def/Desktop/IntelEnhancedSpeedStep.kext appears to be valid

46net_mercurysquad_driver_IntelEnhancedSpeedStep is not compatible with its superclass, 9IOService superclass changed?

kextload: a link/load error occured for kernel extension /Users/def/Desktop/IntelEnhancedSpeedStep.kext

load failed for extension /Users/def/Desktop/IntelEnhancedSpeedStep.kext

I have troubles to load kext, can you help me?

I am using 10.4.10

kern.ostype = Darwin

kern.osrelease = 8.9.1

kern.osrevision = 199506

kern.version = Darwin Kernel Version 8.9.1: Thu May 3 02:38:46 UZT 2007; made by ToH:xnu-792.18.15/BUILD/obj/RELEASE_I386

 

 

 

machdep.cpu.vendor: GenuineIntel

machdep.cpu.brand_string: Intel® Pentium® M processor 1500MHz

machdep.cpu.model_string: Intel Pentium M

machdep.cpu.family: 6

machdep.cpu.model: 9

machdep.cpu.extmodel: 0

machdep.cpu.extfamily: 0

machdep.cpu.feature_bits: -1477837889 384

machdep.cpu.extfeature_bits: 0 0

machdep.cpu.stepping: 5

machdep.cpu.signature: 1685

machdep.cpu.brand: 22

machdep.cpu.features: FPU VME DE PSE TSC MSR MCE CX8 APIC SEP MTRR PGE MCA CMOV PAT CLFSH DS ACPI MMX FXSR SSE SSE2 TM EST TM2

 

thank you,

Leon

Link to comment
Share on other sites

00. For me its unclear if CPU really does the mVolts down also!

 

this got me thinking and i did some testing...

 

In Windows XP SP3, i use Rightmark CPU Utility to undervolt and step the CPU.

I can use 0.950mv on all P-States 6.0x up to 11.0x Multi...good merom stepping.

For stressing cpu i use Core2MaxPerf 1.2 from Mathias Witthopf, nothing heats better..

 

in 6.0x166 = 998mhz after 10 min idling i have 50C

in 6.0x166 = 998mhz after 10 min Core2MaxPerf 1.2 i have 63C

 

in 11.0x166 = 1829mhz after 10 min idling i have 51C

in 11.0x166 = 1829mhz after 10 min Core2MaxPerf 1.2 i have 73C

 

In OSX 10.5.4 i use 1.3.2 Kext along with speedstep.app

i manually set p-states the same as rightmark in windows. (As voltages i took 850 in plist to be sure to get the minimum 0.950)

to stress cpu use cputest from coolbook.se

 

in 6.0x166 = 998mhz after 10 min idling i have 50C

in 6.0x166 = 998mhz after 10 min Cputest i have 61C

 

in 11.0x166 = 1829mhz after 10 min idling i have 51C

in 11.0x166 = 1829mhz after 10 min Cputest i have 67C

 

Temps are taken with Temperature Monitor from Marcel Bresink.

 

mitch_de i think this proves undervolting is working..

 

Actually in OSX i have lower Temps, i think this is because this CpuTest thingy

is not stressing hard enough.

 

To prove stepping is working i xbenched lowest and highest steps 3 times without disk test

and took the average:

 

lowest: 80.21

 

highest: 163.11

 

we really could need an improved installer+configurator+stepper+debugging app!

Link to comment
Share on other sites

this got me thinking and i did some testing...

 

In Windows XP SP3, i use Rightmark CPU Utility to undervolt and step the CPU.

I can use 0.950mv on all P-States 6.0x up to 11.0x Multi...good merom stepping.

For stressing cpu i use Core2MaxPerf 1.2 from Mathias Witthopf, nothing heats better..

 

in 6.0x166 = 998mhz after 10 min idling i have 50C

in 6.0x166 = 998mhz after 10 min Core2MaxPerf 1.2 i have 63C

 

in 11.0x166 = 1829mhz after 10 min idling i have 51C

in 11.0x166 = 1829mhz after 10 min Core2MaxPerf 1.2 i have 73C

 

In OSX 10.5.4 i use 1.3.2 Kext along with speedstep.app

i manually set p-states the same as rightmark in windows. (As voltages i took 850 in plist to be sure to get the minimum 0.950)

to stress cpu use cputest from coolbook.se

 

in 6.0x166 = 998mhz after 10 min idling i have 50C

in 6.0x166 = 998mhz after 10 min Cputest i have 61C

 

in 11.0x166 = 1829mhz after 10 min idling i have 51C

in 11.0x166 = 1829mhz after 10 min Cputest i have 67C

 

Temps are taken with Temperature Monitor from Marcel Bresink.

 

mitch_de i think this proves undervolting is working..

 

THANKS !

 

WHAT happens if you change the 0.950mv to your default mVolts in OS X ?

CPU temp should get significant higher values than 0.950mV if our .kext really changes mVolts.

If CPU temp is near same 0.950mV and 1.200mV , than VID cant be really changed.

VID changes has an major effect for powerusage/temp.

I also will test my cpu/board configs.

 

What i also think: C1E Mode (Enhanced Ideling ) in BIOS. Also changes VID !!!

Does this need an driver? - if not (i think) it does also some powersaving / gives an "mix" of with speedstep (by driver) different saving strategies ?

I have C1E Mode enabled. I will test also if something changes if i disable it.

Link to comment
Share on other sites

at stock volts i think its 1.125 up to 1.215 with the merom i only can stress the laptop for very short time, as i hit 85C it shuts off

 

the laptop was upgraded by me to c2d merom t5600 had a coreduo t2300 before, the cooling solution is just sufficiant for the slower coreduo

gets up to high 80C with the t2300 at stock volts already...

 

so i can really say downvolting works in osx, simply because i would not be able to run full load at highest speed on stock vcore..

 

regarding c1e mode, i cant tell because i have no such option in my very limited bios.

Link to comment
Share on other sites

at stock volts i think its 1.125 up to 1.215 with the merom i only can stress the laptop for very short time, as i hit 85C it shuts off

the laptop was upgraded by me to c2d merom t5600 had a coreduo t2300 before, the cooling solution is just sufficiant for the slower coreduo

gets up to high 80C with the t2300 at stock volts already...

so i can really say downvolting works in osx, simply because i would not be able to run full load at highest speed on stock vcore..

regarding c1e mode, i cant tell because i have no such option in my very limited bios.

 

Thanks again.

So we see:

The kexts do both and : MHZ UP/DOWN + VID change is working.

 

C1E: we must wait for real professionals - if your bios didnt have this option, it will be sure enabled.

Later to day i will try CE1 disabled and look for any cpu temp changes idle/benching

I have an desktop CPU E4400, and since yesterday running in my new love: GIGABYTE EP35-DS3 :(

 

WREID !

I seen, using 1.4.0 SUPERHAI auuitrottle .kext that something didnt WORK.

MHZ didnt change. DCPUManger and dmesg shows that it try to change - but in real it didnt change!.

I seen that using Benching - always fast, even if i force by the STEP to slowest MHZ.

No errors in dmesg. Also autothrottling only works "virtuell", showing in DCPUManager MHZ changes but not real.

I will switch back to the non autotrottling 1.3.2 with always running speedstep.app.

Here you can , that the difference to 1.4.0 autothrottling, see with sysctl output also (Benches, Hw-Monitor MHZ) currentMHZ.

Link to comment
Share on other sites

The original mercurysquad 1.3.2 kext when used on my Dell M60 Pentium M is definitely working. I can reduce the clock speed from 1.7GHz 1484mV to 600MHz with 796mV & the CPU result in xbench drops to about one third of the original (53 down to 18). However the underneath of the laptop is still hot & the fans are running. Running Windows XP the underside is much cooler & the fans do not run.

Link to comment
Share on other sites

hm... does this change voltages too or just the speed? I dont notice any improvement in battery life, though it seems to be thorttling properly according to the speedstep app.

 

It also doesnt show any numbers under the voltages menu, just shows the slider.

 

FYI its an m1530 with the t8300

Link to comment
Share on other sites

hm... does this change voltages too or just the speed? I dont notice any improvement in battery life, though it seems to be thorttling properly according to the speedstep app.

 

It also doesnt show any numbers under the voltages menu, just shows the slider.

 

FYI its an m1530 with the t8300

For the own VID changes you must have an OWN PSTATES table in your .plist of the .kext.

All beta speedstep.apps cant do/show this VID changes - only the MHZ. If you have own VID settings in the .plist,

they are used in pair of its MHZ even the control app didnt show that really. The same happen to the VIDs if you dont use

own PSTATES , the CPU defaults are used, but are not shown, cant be changed by the control app.

 

Look some posts above how this looks. You must only add the number of PSTATES your CPU has - in the already

available 4 entrys (are DISABLED by the word DISABLED at the name - remove that ending DISABLED to use your own).

If your CPU has 3 PSTATES you entry 3 and delete the 4. dummy entry.

Link to comment
Share on other sites

Hi people,

 

1- Those not getting proper timing, make sure you use you are using Chameleon, or another EFI bootloader (FSB is crucial). Also make sure you are using rtc fix beta kernel, and set kernel features to -1 in info.plist

 

2- Autothrottle saving settings - will come soon.

 

3- Still getting hotter CPU in osx vs. Windows or Linux? It seems cpu power management is much more than just speedstepping or undervolting. I'm currently reading the docs and they are incredibly complicated (ref. Intel System Developers Manual part 1 chapter on power management). Will try to implement as many different power management features as possible, but can't really promise anything. On my system I get about 3 to 4 ºC higher temp than on Linux, and that's good enough for me. If you get more than a 10ºC difference, something could be wrong, but most probably it's just the lack of more advanced PM features built into the kext (eg. it doesnt auto-halt a core if no threads are running on it. It doesn't put the CPU into another C-state, no mwait instructions are inserted etc etc). As I have mentioned before, more developers who have experience with power management, are welcome to contribute (thanks Superhai!).

 

Also thanks mitch_de and others who have been helping users in this thread.

Link to comment
Share on other sites

Hey all, I installed this kext and it works great but the only I problem I have is that even with me not using it and it being at the lowest speed, my processor slowly gets hotter and hotter. I don't think the fans are keeping it cool at all.

 

On the previous page, someone said that AppleACPIThermal.kext needs to be loaded, but when I check kextstat it's not listed.

 

How do I get it to load or is there another way to keep my laptop cooler?

Link to comment
Share on other sites

It is for Leo only?

kextload: extension /Off/IntelEnhancedSpeedStep.kext appears to be valid

kextload: loading extension /Off/IntelEnhancedSpeedStep.kext

46net_mercurysquad_driver_IntelEnhancedSpeedStep is not compatible with its superclass, 9IOService superclass changed?

kextload: a link/load error occured for kernel extension /Off/IntelEnhancedSpeedStep.kext

load failed for extension /Off/IntelEnhancedSpeedStep.kext

(run kextload with -t for diagnostic output)

Link to comment
Share on other sites

Yes, sorry I've built and tested it only on Leopard. There's no reason it shouldn't work on tiger too so whoever wants to give it a try, you're most welcome. See http://code.google.com/p/xnu-speedstep Source tab.

Thank for sources. I will it to try with my first hackintosh later.

For laptop it is impossible because of 10.4.6

/*
* Rendezvous
*/
extern "C" void mp_rendezvous(void (*setup_func)(void *),
			  void (*action_func)(void *),
			  void (*teardown_func)(void *),
			  void *arg);

This feature present in 10.4.8 and up.

Link to comment
Share on other sites

The latest works for me using 10.5.5 on vanilla kernel however i've been getting kernel panics when using it with the beta SpeedStep.app. I'd like to trace the problem but I don't know where to start. In addition, it'd be nice to see a per-frequency/p-state voltage adjustment available in the next version of SpeedStep.app, something similar to the undervolting options available in CoolBook or RMClock. That way I can keep my 2.16C2D at a nice and cool 1.0v.

Link to comment
Share on other sites

I think I am getting the same problem as you asstastic, the kext loads fine on bootup but when I go to use speedstep or use sysctl to change the speed it creates a kernel panic.

 

Would love to get this working fully under 10.5.5 and sleep too so here's hoping!

Link to comment
Share on other sites

Guys -- PLEASE read the first page as well as the google code Wiki pages.

 

-- You CAN set per-frequency voltages (the SpeedStep app is not my creation and it doesnt have the feature, so you will either have to edit the kext's Info.plist or change the voltage manually using sysctl -w kern.cputhrottle_voltage=xyz)

 

-- Kernel Panic: if you get KP, edit the Info.plist inside the kext and change KernelFeatures to 0. You can also try 1,2 and 3. -1 means auto-detect, which sometimes doesnt work.

 

-- The loading issues on Tiger: try to change the versions of the components inside OSBundleRequired array of the Info.plist, change em to 8.4.1 or similar and try again.

Link to comment
Share on other sites

Already done

	<key>OSBundleLibraries</key>
<dict>
	<key>com.apple.kernel.bsd</key>
	<string>7.9.9</string>
	<key>com.apple.kernel.iokit</key>
	<string>6.9.9</string>
	<key>com.apple.kernel.libkern</key>
	<string>6.9.9</string>
	<key>com.apple.kernel.mach</key>
	<string>6.9.9</string>
	<key>com.apple.kpi.bsd</key>
	<string>8.4.1</string>
	<key>com.apple.kpi.unsupported</key>
	<string>8.4.1</string>
</dict>

Compare

Index Refs Address	Size	   Wired	  Name (Version) <Linked Against>
1	1 0x0		0x0		0x0		com.apple.kernel (8.4.1)
2   14 0x0		0x0		0x0		com.apple.kpi.bsd (8.4.1)
3   21 0x0		0x0		0x0		com.apple.kpi.iokit (8.4.1)
4   23 0x0		0x0		0x0		com.apple.kpi.libkern (8.4.1)
5   21 0x0		0x0		0x0		com.apple.kpi.mach (8.4.1)
6   14 0x0		0x0		0x0		com.apple.kpi.unsupported (8.4.1)
7	1 0x0		0x0		0x0		com.apple.iokit.IONVRAMFamily (8.4.1)
8	1 0x0		0x0		0x0		com.apple.driver.AppleNMI (8.4.1)
9	1 0x0		0x0		0x0		com.apple.iokit.IOSystemManagementFamily (8.4.1)
  10	1 0x0		0x0		0x0		com.apple.iokit.ApplePlatformFamily (8.4.1)
  11   38 0x0		0x0		0x0		com.apple.kernel.6.0 (7.9.9)
  12	1 0x0		0x0		0x0		com.apple.kernel.bsd (7.9.9)
  13	1 0x0		0x0		0x0		com.apple.kernel.iokit (7.9.9)
  14	1 0x0		0x0		0x0		com.apple.kernel.libkern (7.9.9)
  15	1 0x0		0x0		0x0		com.apple.kernel.mach (7.9.9)

I see no mismatching!

Link to comment
Share on other sites

Guys -- PLEASE read the first page as well as the google code Wiki pages.

 

-- You CAN set per-frequency voltages (the SpeedStep app is not my creation and it doesnt have the feature, so you will either have to edit the kext's Info.plist or change the voltage manually using sysctl -w kern.cputhrottle_voltage=xyz)

 

-- Kernel Panic: if you get KP, edit the Info.plist inside the kext and change KernelFeatures to 0. You can also try 1,2 and 3. -1 means auto-detect, which sometimes doesnt work.

 

-- The loading issues on Tiger: try to change the versions of the components inside OSBundleRequired array of the Info.plist, change em to 8.4.1 or similar and try again.

 

I tried changing the KernelFeatures field and rebooted each time I did so and unfortunately each one resulted in a KP, is there anything I can supply you with to maybe help?

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
 Share

×
×
  • Create New...