Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
Hi guys,

Would someone be able to outline the benefits of the "iGPU (IGD) full disable" patch?
Does this help with CPU temperatures?
Free up CPU processing power?
Or is there another reason?

Cheers
Andrew
 
  • Like
Reactions: Terros
Hi guys,

Would someone be able to outline the benefits of the "iGPU (IGD) full disable" patch?
Does this help with CPU temperatures?
Free up CPU processing power?
Or is there another reason?

Cheers
Andrew
It will free some hardware resources: 128MB or 256MB shared ram (don't recall exactly) and a few irq/dma/dmi resources, but I doubt it will have any impact in cpu temp or processing power. The reason I did this patch is to avoid the annoying Windows BSOD when loading Intel Graphics Kernel Mode driver (igdkmd64.sys) after a windows install.
 
Hi m0bil, thank you for your hardwork for this patch.

I want to ask, Does sleep in Imac 2011 with polaris card GPU work after applying this patch?
iMac 12,x iGPU (IGD) Full Disable patch

This firmware patch removes the Integrated Graphics Device (IGD, Bus 0 Device 2 Function 0) from the PCI bus.
The iGPU will not be initialized, will not be seen by OS nor use any hardware resources.

Behavior is the same as selecting "Disable Integrated Graphics" or "Disable onboard video" in other vendors bios.
As a side effect, it fixes the Windows BSOD when loading Intel Graphics Kernel Mode driver (igdkmd64.sys).

Notes:
  • Tested on iMac 12,x with bootrom 87.0.0.0.0. May work on other Mac models and versions. If you try it watch UEFIPatch output for clues.
  • Sleep works after applying patch.
I have started a Github repository to better keep track of firmware patches, this patch is there.
 
I applied the turbo overclock patch with a modified file for 42x (0x2A).


13% gain single-core and 17% in multicore performance on geekbench on my i7-2600 "non k"

System seems to be stable, but for that matter I need more testing time.

ThrottleStop reported PKg Power around 80w during Prime95 4c/8t (96.1w peak).


Before the patch I manage to reach just 65w... Maybe the original 21.5 bios had some sort of cap that forced the processor to downclock. Maybe thats why my results are above expected.


Throttling is an issue. With single/ dual core tasks the system sustains 4.0 to 4.2Ghz speeds, but with 4 cores within a couple of minutes the multiplier goes down... with fans at full blast and room temperature @24 oC the cores reached 85 oC (peak of 91 oC)
How are you hitting 4.0+ with a 2600 “non-k”?
 
It's not possible, non-k bins are fused at factory. Max speed for a non-k 2600 is 4x3800
Im hitting 4.0 Ghz Single core and 3.9 Ghz Multicore with my 2011 with stock 2600s with your EFI firmware mod.

Single core:
Skärmavbild 2025-01-16 kl. 18.46.39.png



Multicore:
Skärmavbild 2025-01-16 kl. 18.50.02.png
 
  • Like
Reactions: idenis42
I saw some forum posts of people overclocking non-k sandy bridge 4 bins above max turbo after I asked about it here.

I am pretty certain I applied eeprom flash protection fix to my firmware last time I messed with my imac. I want to give the overclocking a try for my non-k 2600.

Which software based flash programmer is easiest to use?

Intel FPT is a struggle to find. I found a few versions on github and tried it out and it said PCH was not supported on my imac. That was just after a fresh install of windows 10 and before bootcamp drivers though.

Flashrom looks like it needs to be compiled in order to run. I am not familiar with either software. Hoping there is something thats easy to use and has a gui.
 
iMac 12,2 & 12,1 UEFI Windows audio ACPI patch (64bit PCIe address space enabler)

This patch modifies firmware ACPI tables to enable 64bit PCIe address space. This fixes the well known UEFI Windows audio driver error, as well as other potential driver issues in UEFI Windows.

To apply use non-NE UEFITool 0.28, load your firmware file and replace "as is" volume with guid 7E374E25-8E01-4FEE-87F2-390C23C606CD with the .ffs file included below.

View attachment 2139378

Since ACPI tables are platform dependent there are .ffs for the iMac 12,2 27'' (tested working) and iMac 12,1 21'' (not yet tested but should work), make sure to use the one intended for your model.
I have also included original DSDT files as well as the modified version.


In case you want to make your own ACPI mods, firmware volume 7E374E25-8E01-4FEE-87F2-390C23C606CD holds a Tiano compressed blob of ACPI tables, stored one after each other with a 4 bytes header prefix on each table. UEFITool can be used to extract and replace individual tables by right clicking in the "Raw section" (each Raw section is a table) inside the compressed section and using "Extract body..." or "Replace body..." options (that will skip or rebuild the required 4 bytes header as well as handle Tiano compression).
The extracted raw data will be the selected ACPI table in AML (ACPI Machine Language) format. You can use MaciASL to convert and edit them.
Hi @m0bil, I have a MacBook Pro 2011 that I wish to implement the 64bit PCIe address space enabler. I have attached the modified DSDT.aml and DSDT.dsl file and attached the original 7E374E25-8E01-4FEE-87F2-390C23C606CD.ffs extracted from the firmware. May I ask how to integrate the DSDT file into the 7E374E25-8E01-4FEE-87F2-390C23C606CD.ffs module? Thank you.
 

Attachments

  • macbookpro2011DSDT.zip
    35.3 KB · Views: 23
  • 7E374E25-8E01-4FEE-87F2-390C23C606CD.ffs.zip
    13.4 KB · Views: 25
Hi @m0bil, I have a MacBook Pro 2011 that I wish to implement the 64bit PCIe address space enabler. I have attached the modified DSDT.aml and DSDT.dsl file and attached the original 7E374E25-8E01-4FEE-87F2-390C23C606CD.ffs extracted from the firmware. May I ask how to integrate the DSDT file into the 7E374E25-8E01-4FEE-87F2-390C23C606CD.ffs module? Thank you.
Hi @m0bil, I have found the modded ACPI module from your github. Thanks.

 
edit:
I found the table - it was raw section #9 !!
 
Last edited:
@m0bil , see attached for my 64bit PCIe firmware file system with MacBook Pro 10,1 (early 2013 Intel HD 4000 and NVIDIA 650M).

Also, I am interested in troubleshooting the Windows delay with Kepler cards (specifically , my NVIDIA 650M).

The following GUID appear relevant to the NVIDIA video bios:

File GUID: 1B033324-B30E-4F65-B35F-EF12EEE91983
File GUID: 26FA5A1D-5C3E-4070-A9B8-80826B1D7CE1

I am able to use the GOP_Updater tool on the extracted raw section (vbios.raw), however, I can not flash the bios region with my new image:

Updating flash chip contents... erase_write: region (00000000..0x7fffff) is writable, erasing range (0x190000..0x7fffff).
Transaction error!
SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0
SSFC: SCGO=0, ACS=1, SPOP=0, COP=5, DBC=0, SME=0, SCF=1
Running OPCODE 0x20 failed at address 0x190000 (payload length was 0).
spi_write_cmd failed during command execution at address 0x190000

I can write to this region with flashrom using my ACPI image. I have a feeling that when I replace the raw section with, "vbios_updGOP.rom", a checksum(?) or total volume size does align as expected.

Do you have any steps or suggestions for me?

The Windows delay in UEFI mode does not happen until the NVIDIA Graphics driver is installed.
the delay never happens in BIOS mode (the iGPU is hidden in BIOS/legacy boot, too).
(And adding the UEFI image may not make a difference).

I have an external programmer and am not afraid of a brick : ) thank you.

"vbios_updGOP.rom":

NVIDIA Firmware Update Utility (Version 5.735.0)
Copyright (C) 1993-2021, NVIDIA Corporation. All rights reserved.


Sign-On Message : NVIDIA GeForce GT 650M
Build GUID : Blank
IFR Subsystem ID : Blank
Subsystem Vendor ID : 0x106B
Subsystem ID : 0x00F2
Version : 80.07.26.04.02
Image Hash : C33538C477640D365EA905A1AD91094B
Product Name : NVIDIA GeForce GT 650M

Device Name(s) : GeForce GT 650M
Board ID : Blank
Vendor ID : 0x10DE
Device ID : 0x0FD5
Hierarchy ID : Normal Board
Chip SKU : 652
Project : 1307-0000
Build Date : 04/27/12
Modification Date : 04/27/12
UEFI Version : 0x10033 ( x64 )
UEFI Variant ID : 0x0000000000000104 ( GK1xx MXM )
UEFI Signer(s) : Microsoft Corporation UEFI CA 2011
 

Attachments

  • MBP101.zip
    3.9 MB · Views: 20
Last edited:
Im hitting 4.0 Ghz Single core and 3.9 Ghz Multicore with my 2011 with stock 2600s with your EFI firmware mod.
I just flashed the Turbo OC patch to my 2011 iMac 12,2 with a 46X (0x2E) modified file on my 2600s non-k to try to replicate your 3.9 GHz Multicore but am not able to reach 3.9. Cinebench starts out at 3.7 then drops to 3.6 after a couple minutes. Any ideas what could be causing this throttling? The CPU is requesting 3.9 according to intel power gadget. I am running Ventura under the latest OCLP 2.3.2. I am suspecting this has something to do with the OCLP. Temps are not an issue, I am running Macs Fan Control and keeping temps on the CPU cores in the mid 70s.

Single core Cinebench CPU looks good, hitting 4.0 to 4.1 GHz solid the whole time.

Many thanks to m0bil and all of the great contributors in this UEFI Firmware mod thread!
 

Attachments

  • IMG_0275.jpeg
    IMG_0275.jpeg
    624.8 KB · Views: 19
  • IMG_0085.jpeg
    IMG_0085.jpeg
    461.8 KB · Views: 16
Last edited:
Good day dear community...

Today might be a great day in the spirit of these machines we still love to tinker with.

I might have solved the overclocking puzzle of Imac 11,1-3 aka 2010 imacs.

According to ChatGpt, I have found the location of where the firmware *probably* sets the CPU multiplier on boot time.

EDIT: Follow my updates and progress in this thread that is more dedicated to 2010 imacs.

The code i found is in the Module PowerMgmtDxe. (GUID: F7731B4C-58A2-4DF4-8980-5645D39ECE58)
1745677489445.png


0x199 is IA32_PERF_CTL and handles multiplier. ChatGPT told me to change this to a constant value that will override the default value. This is probably very useful if you have a unlocked CPU like the i7-875K :) Otherwise you will only achieve full turbo all the time which is only +1x multiplier from stock. Still better than nothing. Will try to look for base clock tuning but that is way more complicated to change, have it stable etc.

I have NOT TESTED this myself but maybe i will soon. I hate the process of soldering on and off the EEPROM to change stuff. (I might have disabled write protect so maybe i can change it with software, i remember reading about this somewhere... would make things so much easier for me.)

If someone can test this it would be awesome. I will also create another thread because this might end up hijacking this thread with kinda off-topic information.

Feel free to test and report back to me. If you need a easy cmd patch like those @m0bil makes then i can probably fix that.

The resulting code that will set multiplier to 36 is: (0x24 is Hex for 36 and can be replaced with any number. 0x28=40x 0x2A=42x etc)
1745677845138.png
 
Last edited:
I just flashed the Turbo OC patch to my 2011 iMac 12,2 with a 46X (0x2E) modified file on my 2600s non-k to try to replicate your 3.9 GHz Multicore but am not able to reach 3.9. Cinebench starts out at 3.7 then drops to 3.6 after a couple minutes. Any ideas what could be causing this throttling? The CPU is requesting 3.9 according to intel power gadget. I am running Ventura under the latest OCLP 2.3.2. I am suspecting this has something to do with the OCLP. Temps are not an issue, I am running Macs Fan Control and keeping temps on the CPU cores in the mid 70s.

Single core Cinebench CPU looks good, hitting 4.0 to 4.1 GHz solid the whole time.

Many thanks to m0bil and all of the great contributors in this UEFI Firmware mod thread!
Please run the test in Intel Powergadget to compare to my results.
 
Please run the test in Intel Powergadget to compare to my results.
Thanks for the reply back, and suggestion to use the CPU testing option in Intel Powergadget. When I run that multi-core test instead of Cinebench or Prime95 in Windows bootcamp, my results are similar to yours: 3.9 GHz on all 4 cores of the i7-2600 constant with no sign of throttling down. However, the power reading in Powergadget is only around 62W, also comparable to your results shown above.

This seems to show that the multi-core CPU test in Powergadget is not a very stressful test since it does not approach the 95W power limit of the i7-2600, so the cores will stay at 3.9 indefinitely at only 62W, provided Mac Fan Control is running and keeping the CPU temps reasonable in the 70 to 80 degrees range.

What I was hoping to see with this Turbo OC patch was the ability to run the i7-2600 multi-core test at 3.9 GHz constant under both Cinebench and Prime95 Windows, without any throttling down to 3.7 and 3.6 a couple minutes later (again with temps under monitoring and control with MFC).

I am not complaining here, and I really appreciate the great work by m0bil, and yourself, on developing and testing this Turbo OC patch and making it available. But I am wondering if the throttling that we are seeing under Cinebench and Prime95 is also something firmware related, and therefore possible to patch and remove, so that the i7-2600, and i7-2700K, etc. can be turbo overclocked to their full potential 3.9 to 4.0+ GHz on all cores constantly at 90 to 95W? We know these Sandy Bridges are easily capable of overclocking to these speeds, if they have enough cooling. I am sure that the 2011 iMac 12,2 27” CPU heatsink is not up to that task, at least not for any length of time, and this would possibly be the reason that Apple apparently placed some kind of throttling in the firmware after the power starts getting above 62W sustained.

If m0bil, yourself, and/or others would be interested in investigating and testing to see if it is possible to remove this firmware power throttling behavior while running the Turbo OC patch, I am interested in contributing as well.

Again, many thanks to m0bil and all of the great contributors in this UEFI Firmware mod thread!
 
I DID IT! Well goal achieved but i dont know if i actually did much but still: IMAC 2010 OVERCLOCKING SUCCESSFUL!

Turbo ratio changed and turbo power limit changed to allow boosting on all cores all the time. I could reach more than x28 stable. Only 1x higher than 1 core turbo. But still big increase. Standard max Watt is 95 W and if you look at the bottom of my screenshot you see that i am at 125 W currently.

I will post how to do it here:

1746554326057.png

1746554271887.png
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.