PC EFI v10.5

New in release:

  • Automatic detection of pci root uid value(for GraphicsEnabler and ethernetbuiltin options) based on parsing DSDT.aml file (if you dont use custom DSDT.aml, you will need to use -pci1 flag in case you have uid=1) . If booter fails to detect it or you dont have _UID property in pci root(in dsdt) then UID=0 used by default, but, if you have UID=1 and booter fails to detect it, use -pci1 boot flag. Uid detection works really well in most cases.
  • Added aserebln’s patch for better cpu type detection, for example I dont need to add SMcputype key anymore
  • Better handling of pci slot names if nvidia card present

Zipped booter – link1 link2(mirror)


More information and installation instructions here.


  1. maclover
    November 6th, 2009 | 4:53 am

    I am going to replace my current ATI HD2600XT with ATI HD4870. I have ATI 2600XT is working but QE/CI doesn?t work.

    Can any please confirm this EFI support HD4870 with full working OC/QE and CI on Snow 10.6 or 10.6.1.

    Many Thanks

  2. tea
    November 6th, 2009 | 9:35 am

    Hi, i’m add system-type injection for Chameleon. May be useful for Atom-based netbooks or other mobile computers which have no battery in a power profile.

  3. Jake
    November 6th, 2009 | 11:50 pm


    When I use PC EFI V10.5 it breaks my sleep, shutdown & restart. Why does Nvidia cause this? I have a Geforce 8600M GT 256mb running 10.6.1 (vanilla). Can someone guide me on how to fix this either via dsdt patch or via kext manipulation.


  4. Master Chief
    November 7th, 2009 | 12:43 am

    Why not check _BBN (_BBN returns the PCI bus number assigned by the BIOS)?

  5. Master Chief
    November 7th, 2009 | 12:48 am

    Grrr. I hate it when Captcha blocks comments without properly informing me why my comment doesn’t show up!

    Here goes one more time: Why not use _BBN ( _BBN is the PCI bus number assigned by the BIOS)?

    ///what to use it form, and how ?

  6. Jake
    November 8th, 2009 | 9:55 pm

    Thanks for your suggestion Master Chief,

    I’ve added: Name (_BBN, Zero) to my PCI0

    Device (PCI0)
    Name (_HID, EisaId (“PNP0A03”))
    Name (_ADR, Zero)
    Name (_UID, One)
    Name (_BBN, Zero)
    Name (_PRW, Package (0x02)

    Unfortunately it didn’t make a difference. It’s got to be the OS X Nvidia driver kext, because when it’s loaded it breaks sleep, shutdown & restart on laptops.

    With sleepenabler it will attempt to sleep, but immediately wake up. Shutdown & Restart will close OS X and halt the HDD but leave power button & fan on. So it’s trying, it’s just not happening.

    Netkas HELP!

  7. MacTech84
    November 9th, 2009 | 9:35 pm

    Hopefully just a quick question. I am currently building a new rig consisting of a Gigabyte GA-EP45-UD3P, have the directions and all for that. But I am curious about this version of PC EFI, will it be able to properly detect and tell the System it is using a GTX 275? I have seen reports that the GT200 series cards can finally be used, just curious as to how I can get this card working right off the bat.
    Thanks in Advance…

    ////nvidia injecting is done by chameleon teams, should work tho

  8. menno laan
    November 10th, 2009 | 5:17 pm

    Hey netkas,

    I recently bought this setup:

    Gigabyte ep45-ud3lr
    memory,cpu etc

    and an ati 4850, seemed to me, the best option as apple is installing the 4850’s in their new imacs.

    However I cant get snow leopard installed on my machine. I’ve edited the kext with the extra id, but still my snow leopard install freezes.’

    Any suggestions, or should I leave snow leopard for the time being an instal leopard 10.5?

    ///GraphicsEnabler and legacyATI4800COntroller.kext kthx

  9. Tuabak
    November 11th, 2009 | 6:40 am

    Hi! Anybody experienced having KP after updating to 10.6.2 using netkas boot v10.5 on SL 64bit with 1920×1080? It will always KP after few second after the desktop was loaded. I tried booting in 32bit and KP is gone but it feels like 64bit mode runs faster. Any fix on this? F1 please!


  10. Banini_Jeque
    November 14th, 2009 | 6:39 am

    I found this old topic on insanelymac:

    It talks about trying to fix the Graphics Mode refresh rate issue. I tried the suggestion and uncommented out the generateCRTCTiming section in graphics.c to test it. Compiled and installed. PC_EFI still works, but also still only gives me 60Hz even though I asked for 75.

    This shows what he added:

    if ( (vesaVersion >> 8) >= 3 && refreshRate >= 60 &&
    (gBootMode & kBootModeSafe) == 0 )
    VBECRTCInfoBlock timing;

    // added by TRAC because of SSE bug in boot2
    // activates SSE support by CPU
    __asm__ (“movl %cr4,%eax \n”
    “orl $1536,%eax \n”
    “movl %eax,%cr4 \n”);

    // Generate CRTC timing for given refresh rate.

    generateCRTCTiming( minfo.XResolution, minfo.YResolution,
    refreshRate, kCRTCParamRefreshRate,
    &timing );

  11. eugene k2
    November 14th, 2009 | 2:06 pm

    scan_cpu_intel() has a bug: Platform.CPU.NoCores is incorrect:

    cpuid_reg[2]=1; but this should be cpuid_reg[2]=0;
    (and do_cpuid() should be called once)

  12. Fireball
    November 14th, 2009 | 11:45 pm

    Hi, I’m running mostly-vanilla 10.5.8 on a P4 w/ hyperthreading & SSE3, was using Chameleon/PCEFI 10.4 just fine with the Voodoo2 alpha3 kernel. Upon updating to PCEFI 10.5 I got a kernel panic complaining about EFI and EFINVRAM or something like that. I’ve got no good way of downgrading at the moment since I also don’t have a working boot medium (trying a few tricks with a flash drive right now); -v gives me nothing useful, -f, -s, and -x don’t appear to have any positive effects either. I tried to fix it using a flash drive loaded with an SL installer disc, a bundle of the usual kexts, and the Qoopz SL kernel but it also panics, complaining about ATA-something (this combination worked flawlessly on my GF’s Core2Duo setup). Any insights?

  13. eugene k2
    November 15th, 2009 | 12:18 am

    (I’m not sure this is the right place for this, but will try anyway).

    Netkas, please fix the following bug in hfs.c:
    /i386/libsaio/hfs.c: line 440: ReadFile() function:
    fileLength = (long)SWAP_BE64
    should be:
    fileLength = (uint64_t)SWAP_BE64

    This fixes Deep Sleep issues with computers with more than 3Gb of RAM…

  14. eugene k2
    November 15th, 2009 | 3:10 am

    “Патч для system-id. Ложим на fake_efi.c”:

    Please do not add ‘else’ case. Certain configurations (e.g. ION-based NVidia motherboards) read UUID automatically from the ethernet controller, in this case there is no need to specify UUID in or include UUID.kext/PlatformUUID.kext!

    This part of the patch is NOT necessary:

    else {
    > DT__AddProperty(efiPlatformNode, SYSTEM_ID_PROP, sizeof(SYSTEM_ID_DEFAULT), (EFI_UINT32*)&SYSTEM_ID_DEFAULT);
    > }

    Also note that patch was created for previous chameleon sources.
    sizeof(EFI_SYSTEM_TABLE_64) should not be changed by sizeof(EFI_SYSTEM_TABLE_32)


  15. eugene k2
    November 15th, 2009 | 3:12 am

    Please consider this patch, too.,866.0.html

    It allows to turn off USB Legacy mode for USB. It is necessary for some motherboards.
    (Patch files included).

  16. eugene k2
    November 15th, 2009 | 3:31 am

    Sorry, it’s me again 🙂

    Last request.. Please add the following NVidia.c graphics card ID:

    { 0x10de087d, “NVIDIA ION 9400M” },

  17. wallybear
    November 16th, 2009 | 1:13 pm

    Netkas, great job!

    Could you search a method to inject GUID for firewire cards?
    This could resolve the log flooding with errors like
    “kernel FireWire (OHCI) VendorID xxxx ID yyyy PCI: no valid selfIDs for more than 3 minutes after bus reset. ”
    “FireWire GUID ffffffffffffffff is invalid!”


  18. Stewie
    November 17th, 2009 | 4:58 pm

    Hi everybody,

    first let me thank you netkas for all the good work you are doing. I think your PC-Efi is far better than that other one out there ^^.

    There is just one minor issue i can’t seem to solve, namely the “There was an error while gathering this information” memory bug in the profiler. The only versions that gets the correct information here is PC-Efi v10.1.
    My Sepcs are:

    Gigabyte GA-EP43 DS3L
    Intel Core2Quad Q8200
    Geforce 8600 GT (Efi-String)
    4GB A-Data PC6400 800Mhz Ram

    Besides that cosmetic bug everything works fine.
    Thanks in advance,

    Best wishes Stewie

    p.s. @Tuabak there seems to be a problem with the SleepEnabler.kext when using 10.6.2.

  19. zac
    November 18th, 2009 | 7:44 am

    This fix is for correct work with lynnfield core i5 / i7 cpus important.

  20. November 18th, 2009 | 7:55 am

    Works perfectly. No EVOEnabler kext needed. Thanks!

  21. bytefox
    November 18th, 2009 | 5:08 pm

    Hi Netkas,

    If i use USBBusFix in the system crashes barely recognizes the usb device-id.
    UHCI controller [8086:27c8] at 00:1d.0 base 784 (f081)
    UHCI controller [8086:27c9] at 00:1d.1 base 784 (f081)
    UHCI controller [8086:27ca] at 00:1d.2 base 784 (f081)
    UHCI controller [8086:27cb] at 00:1d.3 base 784 (f081)
    EHCI controller [8086:27cc] at 00:1d.7 DMA @fb204000

    without this, the system load but the “EHCI controller unable to take control from BIOS” message appears and the USB ports does not function. I have tried all usb dsdt hacks but none has solved the problem.

    now, the problem is only in snow, in leopard all is ok.

    Some idea? maybe the problem is the boot or kernel?

  22. beep
    November 19th, 2009 | 2:09 pm

    Works great with my 4870 512MB on my Asus P5KC with Intel Q6600. Thank you Netkas!

  23. Bansaku
    November 19th, 2009 | 11:42 pm

    Hey Netkas,

    I am having problems getting my ATI Sapphire 4870HD 512MB working in 10.6.2 without the use of an injector. My card and vendor ID are properly listed in the ATI4800Controller.kext (0x94401002) by default, first one in fact, yet when I try and boot into SL I get a KP when it tries to load the kext. Works fine in 10.5.8. I have tried using the boot flag -pci1 with the same result. Any ideas?

  24. Viking
    November 25th, 2009 | 11:04 am

    Hi Netkas,

    could you quickly describe how you compile your releases?

    I’m asking because when I compile the source linked from your post here with “make clean; make embedtheme” I get a file that is different from your release; I mean the one in also linked in your post.

    The size of your binary is 314016 bytes, while the compiled version is 313536 bytes. There are also lots of differences, both in the code part as well as in the strings section.

    What is it that I’m missing?

  25. Viking
    November 25th, 2009 | 11:30 am

    Looks like I can answer my own question: You are compiling the sources on Leopard. If I do that, I get a binary that’s identical to yours, with the exception of the build date obviously. So, that mystery solved.

  26. Mr Blomski
    December 1st, 2009 | 7:01 pm

    @Bansaku, Use EVOenabler.kext in youre Extra folder.
    Installer 10.6 works in 1900×1200 mode.

    Special for HD4780


  27. Alvin
    December 4th, 2009 | 2:43 am

    Hi Netkas. This is for 10.6 and Intel chipset. Is it possible to put everything into the next PCI EFI bootloader. Everything would include the dsdt.aml, FakeSMC, kexts codes (from the sound kexts to the graphics kext) codes for all the Intel chipset that we’ve come across with? The bootloader would be bloated but it’ll also centralize everything. I would buy a Mac when I could but now osx86 would have to be the way.

    Another method for consistency is to just use the setup that you are using. You’re good at choosing parts anyway. If I may ask, what is the motherboard that you’re using now (what firmware and revision), what sound card if you’re not using the built-in one and what GPU? Are you using all SATA drives and all USB peripherals? By the way, you’re a guru at coding, what is your job in Turkey? (if I got your country right). Are you a full time programmer? No reason it’s just good to know the guy behind Netkas:)


    Thanks in advance.


  28. January 15th, 2010 | 2:48 am

    […] – SATA HDD – Prasys – Empire EFI v1.085 – 64bit VoodooHDA drivers (for 2 channel sound) – Netkas EFI 10.5 bootloader – Mac OS X 10.6.2. combo update – Beta Universal 46xx […]

  29. January 21st, 2010 | 1:59 pm

    Does anyone can confirm that text in Snow Leopard doesn’t look sharp with Sapphire ATI 4870 512 DDR3 ?

    The text on the websites with white background (like Google search aren’t sharp)

    How can I correct this?

    Everything other works fine. QE/CI.. resolution, correctly recognizes at system profile…


  30. Andy Vandijck
    January 29th, 2010 | 10:52 pm

    Netkas, I’ve improved the ACPI patcher massively.
    It can now auto update ACPI V1 to ACPI V4 (patches RSD PTR, creates XSDT and patches FADT).
    Also almost all ACPI tables used by Apple can be replaced.
    Feel free to add this to your next release.
    Source diff is available here:

  31. Apex
    January 31st, 2010 | 5:09 pm

    Hey Netkas!

    The Chameleon Team added a patch to the RC4 which allows to have bigger sleepimages than 2 GB. My Hack won’t wake from disk cause of that bug (i have 4GB RAM)

    “Added radekg’s HFS filesystem fix to handle 2GB+ file sizes.”

    Do you have that patch already? Could you add it to PCEFI aswell? Sadly Chameleon RC4 worked only one time and now doesn’t boot anymore, PCEFI 10.5 does.
    Using the RC4 i was able to wake from disk one time but had a really bad crash, resulting in using Timemachine to restore my System! I hope it wasn’t cause of that patch 😉
    While waking from disk my rdisk0 and rdisk1 got swapped somehow, i guess that’s why i had that crash…


  32. Chris
    April 4th, 2010 | 7:17 pm

    So.. you called that “install instructions”?
    replace the boot file in the boot partition?
    well i guess the boot partition is the same as the OS because that is the only partition I’ve got? the only place I’ve found with a file named almost as the “boot” file I’ve downloaded is the “boot.efi” file under core system? If that is the case, I can’t replace that file even tough I unlock the file before trying to replace it. So the install instruction is retarded and not for regular people. Better instructions please!

  33. September 15th, 2010 | 4:50 am

    […] the ’system running too fast’ issue, that was previously solved by a modified i5boot. PC EFI 10.5 is the latest and greatest Chameleon variant with many fixes and features not included in the […]

  34. joshua
    February 26th, 2011 | 10:42 am

    will be great full if this thing works out coz i have spent days and nights tring out thi this

  35. May 6th, 2011 | 5:15 am

    […] download PC EFI v10.5 […]

  36. July 7th, 2011 | 7:41 pm

    […] -Updated PC EFI 10.4.1 to PC EFI 10.5 […]

Leave a reply