FakeSMC – opensource smc emulator.

FakeSMC.kext is opensource smc emulator for macosx.

It emulates SMC device, smc shows no errors at start (unlike with other emus).

It’s opensource, so you can add another keys to smc keys list, in order to help to improve osx86.

Here is version compiled for SnowLeopard 32/64 , can be installed to Extra or /S/L/E

a version for leopard – fakesmc.kext

And here is sources

emulated smc

p.s. uninstall dsmos.kext before using it

p.p.s. a links was updated (once) to correct smc-version detection, now it shows up in system profiler, in hardware overview


  1. iGuru
    August 20th, 2009 | 9:23 pm

    Great work, sounds interesting :)

  2. lastExile
    August 20th, 2009 | 10:06 pm

    Zomg this is nice πŸ˜€

  3. Azimutz
    August 20th, 2009 | 10:22 pm

    Great netkas :) working fine here. Thanks

  4. Tim
    August 20th, 2009 | 10:34 pm

    Very cool! Does this mean no more DSMOS hacks are necessary for Snow Leopard (that we know of)? Is there a version for compiled for Leopard out there?


  5. Nick
    August 20th, 2009 | 10:45 pm

    happy birgthday to me)))

  6. theStevo
    August 20th, 2009 | 11:32 pm

    I second the question of a Leopard version.

    I’m fairly aware of what this will do, but could somebody give a more in-depth explanation of features in case I missed something and for the benefit of those who don’t otherwise know?

  7. August 20th, 2009 | 11:48 pm

    At this moment it is just an another version of dsmos/appledecrypt. It could be much more useful and nice if its algorythm will be realized by dsdt/acpi virtual device. And it’s possible!

    ///its not another version of dsmos/appledecrypt, and no, you cant make it in dsdt, its impossible.

  8. Brady
    August 21st, 2009 | 1:50 am

    Thanks mate both are working perfect!

    Keep up the good work :)

  9. scifan68
    August 21st, 2009 | 2:40 am

    Caused my shutdown not to work on my Dell Mini 10V running Snow Leopard Build 10A432.

  10. scifan68
    August 21st, 2009 | 2:46 am

    Correction neither Restart, or shutdown works for me anymore, and i got the openhaltrestart.kext in Extra. It looks like back to dsmos.kext for me. Thanks anyways.

  11. Brady87
    August 21st, 2009 | 3:02 am

    This Actually Fixed my sleep issue i can now sleep and wake with no probs.



  12. Harold
    August 21st, 2009 | 3:54 am


    try to remove OpenHaltRestart.

  13. tata
    August 21st, 2009 | 4:01 am

    Thanks for the fakesmc!
    But can you fix this:
    ACPI_SMC_PlatformPlugin::start – waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out
    with the fakesmc?

  14. mactos
    August 21st, 2009 | 5:53 am

    Fantastic work! But Restart doesn’t work for me now. Shutdown works fine. Waiting for a solution.


    Intel D945-GCNL

  15. Dorin
    August 21st, 2009 | 6:04 am

    I have also problems with shutdown – my MB is a Gigabyte P35 DS4 – Thanks Netkas, and I hope to see soon a solution for shutdown … thanks again !

  16. tata
    August 21st, 2009 | 6:27 am

    btw shutdown is not working here
    needs openhaltrestart, but it takes like 10 seconds to shutdown

  17. Andreas
    August 21st, 2009 | 8:32 am

    Great !
    Maybe an good base to put code in to read out the CPU fan speed or something else and “send” it to the fitting SMC Mac part so that OS X shows our FAN speed ?

  18. August 21st, 2009 | 9:05 am

    How about Apple update SMC for 1.2

  19. Cee
    August 21st, 2009 | 9:06 am

    “Maybe an good base to put code in to read out the CPU fan speed or something else and β€œsend” it to the fitting SMC Mac part so that OS X shows our FAN speed ?

    that would be amazing!

  20. galbazaaa
    August 21st, 2009 | 10:05 am

    Damn nice work, it fixed the Coolbook Problem, so now I’m able to change the Voltage πŸ˜€

  21. rennerst
    August 21st, 2009 | 10:27 am

    Hallo Netkas,
    unfortunately, fakesmc.kext dont working for me. The following errors:
    AppleUSBEHCI : unable to get filterInterruptEventSource
    AppleUSBUHCI : start unable to initialize UIM
    still waiting for root device

    Hardware: HP 530 with Intel Core Duo T5200, ICH7 Chipset, 2GB RAM
    OS: MacOS 10.6(10A432)

    With Your wonderfully dsmos.kext my system works good, however only one core.

    Thanks for Your very good work

    ///usbehci has nothing to do with smc

  22. robyrocker89
    August 21st, 2009 | 1:12 pm

    you are the world…

  23. mactos
    August 21st, 2009 | 1:38 pm

    Shutdown & Restart don’t work for me. Please ignore my previous post. I’m on Mac OS X 10.5.8.

    ///remove openhaltrestart

  24. graebags
    August 21st, 2009 | 1:59 pm

    hi Netkas,
    my SL install is booting ok, but System Profiler is no longer showing the Hardware UUID that I’m setting in smbios.plist, and PlatformUUID.kext ie the UUID of my SL partition.

    Do i need to add this UUID into fakesmc.kext too?


  25. graebags
    August 21st, 2009 | 2:24 pm

    Ah, the above is true in 64bit mode, but in 32bit mode System Profiler reports the Hardware UUID I’m expecting.

  26. crazybyte
    August 21st, 2009 | 2:33 pm

    Netkas, i would like to talk with you about the source code, i’m trying to get this emulator working from DSDT tables…

    ///its impossible

  27. mactos
    August 21st, 2009 | 3:24 pm

    Removed OpenHaltRestart, still no Shutdown & Restart

  28. johnny
    August 21st, 2009 | 3:58 pm

    Thanks for your efforts, netkas, and great that you are sharing the source (have not looked at it yet).

    Shutdown works (no OpenHaltRestart.kext), albeit with a slight delay (10sec)

    Restart does not work (no OpenHaltRestart.kext), screen and mouse turn off, but then it just hangs.

    @ rennerst: Looks like a problem with interrupt routing in your DSDT that was always there but just got triggered by fakesmc.kext. It’s hard but not impossible to fix; I’ve never done it myself though

  29. Tim
    August 21st, 2009 | 4:01 pm

    Mactos, did you clear your extensions cache after removing it?

  30. johnny
    August 21st, 2009 | 4:56 pm

    For the record, I did recreate the Extensions.mkext for Chameleon 2RC2 and I also did touch /S/L/E and waited for kextcache to do its thing.

    If I add OpenHaltRestart.kext, restart and shutdown work flawlessly as before. So for my machine (Intel DP35DP mobo), fakesmc.kext replaces dsmos.kext just fine.

    Agains, thanks a lot, netkas.

  31. Tim
    August 21st, 2009 | 5:19 pm

    Tested the Leopard version on my 10.5.8 setup. It loads fine but I am still forced to use AppleDecrypt.kext or else Leopard doesn’t boot.

  32. Ivan
    August 21st, 2009 | 6:38 pm

    Tested on GA-P35-DS4, Shutdown & Restart working perfectly! Shutdown takes now a little bit longer, about 10-15 seconds , but who cares^^ Great Work !!!

  33. rennerst
    August 21st, 2009 | 6:56 pm

    thank you johnny for your info. I think, I will live with this problem, because I am not such a good programmer how netkas.

  34. August 21st, 2009 | 7:34 pm

    thx so much, Master NetKas ! It works incredible fine !

  35. Bryan
    August 21st, 2009 | 7:42 pm

    Any chance of this being incorporated into PC-EFI, removing the need for the extra kext?

  36. DB1
    August 21st, 2009 | 8:26 pm

    Nice work Netkas

    Works perfect on Advent 4211 (10A432)

  37. coconup
    August 21st, 2009 | 8:38 pm

    netkas, could you post a link to the sources for the leopard version? otherwise could you compile it with “smc-santarosa” instead of “smc-napa” under ioreg? thanks and keep up the good work :)

  38. crazybyte
    August 21st, 2009 | 8:58 pm

    In this topic, EncryptedSoul was a bit close to get it working. The main problem is that while a kext can be called from userspace, the DSDT injection works only when the machine is booting. So the main problem is how can tell OSX that the the encryption keys for decrypting the necessary binaries to boot are in certain memory adresses. I can write in memory positions from DSDT, but when OSX call SMC to decrypt these binaries it can’t done this because can’t get the keys.

    What do you think about it?

    Anyway, congratulations for this kext. Your job is aswome.

  39. BeSweeet
    August 21st, 2009 | 9:05 pm

    What does this kext do for the average user? Will it make things faster, etc?

  40. bulyot
    August 21st, 2009 | 9:08 pm

    no shutdown..i deleted openhalt…restart and sleep fine

  41. crazybyte
    August 21st, 2009 | 9:12 pm

    Be Sweet, it makes your pc closer to real mac. And protects you from apple updates.

  42. FormerlyKnownAs
    August 21st, 2009 | 9:38 pm

    Question – I have actual p-state tables for my CPU added to DSDTaml to give vanilla stepping and have c-state _cst tables from MP3,1 that simply removes cst evaluation error at boot.
    I have made change to ACPI_SMCPlatformplugin plist, setting to MP3,1.

    Obhviously I’ll test as soon as I can but do you forsee any major problems here?

    Thanks in advance.


  43. BeSweeet
    August 21st, 2009 | 9:43 pm

    I’m getting the same error as Tata:
    ACPI_SMC_PlatformPlugin::start – waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

    Deleting this kext.

  44. BeSweeet
    August 21st, 2009 | 9:58 pm

    Oops… Forgot to install fakesmc.kext to /E/E :). Working.

  45. August 21st, 2009 | 10:07 pm

    Thanks again, netkas!

  46. Andreas
    August 21st, 2009 | 10:45 pm

    “waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out”
    AppleIntelCPU….kext deleted or disabled by voodoo or disabler.kext.
    If you delete the ACPI_Platfrom.plugin in IOPlatfrom.kext you get rid of that message.
    I dont know if the fakesmc.kext needs the ACPI_Platfrom.plugin. I had deleted that when using dmos and disbaler

  47. twber
    August 21st, 2009 | 11:21 pm

    removed OpenHaltRestart and dsmos from EFI/E/E and installed fakesmc into EFI/E/E.
    Sleep still works, but either Restart nor Shutdown works.
    If booted verbose and issued a shutdown I could see last message “CPU Halted”… but PC stays on (PowerLED on and PowerSupply still on).

    reverted to OpenHaltRestart and dsmos and everything back to working.

    (Mainboard Gigabyte P35-DS3, Chameleon2RC2, OSX 10.5.8)

  48. shadowmajk
    August 22nd, 2009 | 12:34 am

    ^^ now w8ing for new key in next smc update xD osx86 scene looking like battlefield πŸ˜‰

    Emu works fine… but i see _CST problem still :( any ideas to fix it?

  49. FormerlyKnownAs
    August 22nd, 2009 | 12:52 am

    Hi netkas

    Many thanks for your work.

    With fakeSMC I notice :- slightly faster boot time
    – Machine will sleep without disk in TSSTcorp drive but still monitor not power back on (I believe function of ATI GPU pos’ DVI> VGA for one of my monitors but nothing to do with SMC.)
    – Vanilla speedstep still working
    – No addition error messages @ boot
    – Shutdown and restart not working. Get to Mach restart, monitor powers down, CPU +MB still powered (OpenHR removed.)
    – Shutdown and restart not working (OpenHR in /E/E or /S/L/E in fact OHR will not load.)

    MB – GA EP35 DS4 Chameleon2RC2 – 10.5.8

    Will try with EFI v10 at later date and report.


  50. FormerlyKnownAs
    August 22nd, 2009 | 1:50 am

    Ok same deal with EFI v10.2Beta – no shutdown or restart

    Slightly OT but i notice I have to use RAID ID in boot.plist with EFI 10.2 – UUID it does not like.

    Anywhos back to dsmos for the time being.

    Many thanks

  51. Les
    August 22nd, 2009 | 2:00 am

    I just tried fakesmc and found the system hung part way through the boot. Then I noticed messages about the voodoo2 kernel blacklisting don’t steal mac.

    That obviously won’t work too well. I also tried blacklist=0 during boot but that caused a very early panic.

    Does anyone have a workaround? something that would unblock just the “Dont_Steal_Mac” kext and continue blocking the rest of the list?

  52. August 22nd, 2009 | 3:03 am

    […] gives for AppleSMC.kext keys osk0 and osk1, and now works original Dont Steal Mac OS.kext!!! Notebook [Samsung NC10 | NB: Intel Calistoga-GSE i945GSE | SB: Intel 82801GBM ICH7-M | CPU: […]

  53. slipttees
    August 22nd, 2009 | 4:40 am

    ya ya ya bro, Very cool !

  54. mark
    August 22nd, 2009 | 10:45 am

    Les here avakov build voodoo without inner blocker so use it with Disabler.kext
    Dont_Steal_Mac it’s so good with netkas projects :)

  55. crazybyte
    September 3rd, 2009 | 1:34 pm

    Hello Netkas, i have an idea for you. As many Mac OS users, i have installed iStat 2.0 toolbar which has Snow Leopard Support. It uses a small program to talk with SMC module for getting temperatures, fan speed, voltages… Obviously it doesn’t support hackintosh.
    This program is GNU:

    I think that if you see what the program expects to recibe from SMC module, you can use your fakesmc.kext to get C2D Thermal sensor info (it’s only to read a register in the cpu) and insert into smc info.

    Thank for your time.

  56. September 22nd, 2009 | 11:28 pm

    Privet! Drujishe, a est’ versia pod Tiger? Ho4u izbavit’sya uj nakonec ot decrypta v Extensions-ah i bootit’sya s Retail-a! ) Spasibo

  57. c0rk007hck
    October 18th, 2009 | 4:41 pm

    Which application is that screenshot??

  58. stealth
    November 17th, 2009 | 4:26 am

    Can’t seem to get past the same error tata had even with fakesmc installed.


  59. Peter
    March 26th, 2010 | 2:49 pm

    The link of the source code dosen’t work.

  60. Peter
    March 26th, 2010 | 2:50 pm

    The link to source code dosen’t work!

  61. born to die
    August 27th, 2010 | 6:26 pm

    i just instaled the hazard version on my vostro 1320 and after a seamless instalation im geting this error on boot..

    waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out

    can you help me with this? i can see that there is a talk on deleting the ACPI plugin, but i dont know how to do it, sorry im just newbie to osx86 things…

    kindly help me..

  62. November 23rd, 2010 | 6:42 pm

    […] […]

  63. Abid
    January 20th, 2011 | 5:10 pm

    All those people who have this problem in booting snow leopard. “waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out”.
    I also got this problem but i fix it.
    Simply i boot in safe mode. And installed graphics kext by kext helper. i have gma 950, now its working perfect. So boot in safe mode and install your right graphics kext.
    But can anyone know how to enable quartz extreme in gma 950 (27a2).

  64. kocoman
    May 9th, 2011 | 10:22 am

    Does anyone still have the sources file? The rapidshare is 404’ed

  65. plum
    May 29th, 2011 | 7:56 pm

    The link is no longer working, I found it here at the myHack site:

Leave a reply