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.
TEST BUILD WX4170
4170 build for testing based on method used in 4150 latest custom build. If iMac 2011 requires output patching, please send me correct Object_info and TV_OutInfo modules, i will make 4150/4170 iMac builds.


***
P.S. Report of success or failure on gpu. Planing to stop creating new builds as already have successfully working vbios.
What are the benefits of this test build as compared to the listed one in the table ?

Does it support native Apple BootPicker and support BootCamp Windows installation as well ?
 
  • Like
Reactions: iPlasm
Big Sur preboot corruption

This is a short update about the preboot corruption when using High Sierra and Big Sur and later in the same machine. During the last month @internetzel had never experienced this problem with his iMac11,1 although he regularly uses High Sierra. The main difference to my own setup:

While I am using APFS only he is using HFS+ with High Sierra on his external USB connected HDD. So this seems to be the key. BTW HFS+ is faster on HDD, too.

If you still want or need to have a High Sierra installation (working target display or just a fall back) then simply use a 20-40GB HFS+ partition instead of APFS. If you manage to place it as the first partition of the internal single SSD it will be the installation where the iMac boots into after a PRAM reset automatically (great help for owners of AMD cards without an EFI Boot screen).

I have changed the first post according to this. Please report back if you have different experiences.
 
Last edited:
Big Sur preboot corruption

This is a short update about the preboot corruption when using High Sierra and Big Sur and later in the same machine. During the last month @internetzel had never experienced this problem with his iMac11,1 although he regularly uses High Sierra. The main difference to my own setup:

While I am using APFS only he is using HFS+ with High Sierra on his external USB connected HDD. So this seems to be the key. BTW HFS+ is faster on HDD, too.

If you still want or need to have a High Sierra installation (working target display or just a fall back) then simply use a 20-40GB HFS+ partition instead of APFS. If you manage to place it as the first partition of the internal single SSD it will be the installation where the iMac boots into after a PRAM reset automatically (great help for owners of AMD cards without an EFI Boot screen).

I have changed the first post according to this. Please report back if you have different experiences.
What do you mean, saying “corruption”? The efi (extended bios) contain images, drivers) that understand filesystems. But as far as I know, the Mac bootloader use efi partition and boot from it? Or bootloader is located in efi platform bios?
OpenCore is installed?


What is pram? That is alternative name to cmos?

The Amd users don’t have a boot screen? I was having this problem on Mac Pro 3... with newer gpu (GTX285) but one guy done something that unlock the the boot screen... hmm. I think that this was made with bios and vbios modding...
 
  • Like
Reactions: iPlasm
What do you mean, saying “corruption”? The efi (extended bios) contain images, drivers) that understand filesystems. But as far as I know, the Mac bootloader use efi partition and boot from it? Or bootloader is located in efi platform bios?
OpenCore is installed?


What is pram? That is alternative name to cmos?

The Amd users don’t have a boot screen? I was having this problem on Mac Pro 3... with newer gpu (GTX285) but one guy done something that unlock the the boot screen... hmm. I think that this was made with bios and vbios modding...
Here is a simple overview about the Apple PRAM.

When I write about the preboot corruption than I mean the so called APFS preboot partition where the boat loader finds some data before the macOS boots starts up.

Starting High Sierra in coexistence with Big Sur changes the preboot volume in a way Big Sur and Monterey cannot use it with SBM (SecureBootModel).

OpenCore has to be used with AMD cards (enabling 4K H.264 and 4K HEVC) and is installed.

--

Yes, there is no EFI Boot screen support available with AMD Polaris, Navi, Vega GPU in Apple Macs. You we rely on the OpenCore boot picker and other enhancements. This works wonderfully as long as you carefully manage OC config changes or complete upgrades. Loosing the boot picker gets you a black screen on our iMac and no way to control the boot sequence (like in normal PCs using some BIOS settings).

You cannot even force the iMac to boot from an external device.

This complete thread is mainly about making the cards working within an iMac and at least for all Kepler cards listed on the very first post @nikey22 (and others) can claim there is a complete support for EFI boot screens.
 
  • Like
Reactions: FlorisVN and iPlasm
Here is a simple overview about the Apple PRAM.

When I write about the preboot corruption than I mean the so called APFS preboot partition where the boat loader finds some data before the macOS boots starts up.

Starting High Sierra in coexistence with Big Sur changes the preboot volume in a way Big Sur and Monterey cannot use it with SBM (SecureBootModel).

OpenCore has to be used with AMD cards (enabling 4K H.264 and 4K HEVC) and is installed.

--

Yes, there is no EFI Boot screen support available with AMD Polaris, Navi, Vega GPU in Apple Macs. You we rely on the OpenCore boot picker and other enhancements. This works wonderfully as long as you carefully manage OC config changes or complete upgrades. Loosing the boot picker gets you a black screen on our iMac and no way to control the boot sequence (like in normal PCs using some BIOS settings).

You cannot even force the iMac to boot from an external device.

This complete thread is mainly about making the cards working within an iMac and at least for all Kepler cards listed on the very first post @nikey22 (and others) can claim there is a complete support for EFI boot screens.
Boot screen in fact is gop driver and as far as I know that Apple bioses are not secure, so why not to try to replace graphic driver to the newer system in fact that will add support for part list too. As far as I know the mod of partlist will add support for gpu.

For example to get rx580 boot screen working on non Apple verified gpu you need to patch part number in vbios. Hmm. Where can I get the full iMac bios dump? Since I sold my Mac Pro I forget everything about modding microcodes... etc...

Ps. Latest 4170 4150 builds masking part numbers to meet MacBooks 15.1 or .3 support.
 
  • Like
Reactions: wa9im and iPlasm
Hi.. hope everyone here is fine. I am not sure if someone experienced this before or was this already solved in this thread because upon using the search button, there is no relevant answer to what i am experiencing now.

I am now trying to make a dual monitor setup with my 27inch mid 2011 imac with k3100m gpu running nikey22's rom from page 1. My external monitor is an AOC Q27P1 which is capable of 2560x1440 (tested it with my macbook air 2018) but when plugging that monitor to my imac, i can only get a maximum of 1920x1080 resolution.
 
Last edited:
Hi.. hope everyone here is fine. I am not sure if someone experienced this before or was this already solved in this thread because upon using the search button, there is no relevant answer to what i am experiencing now.

I am now trying to make a dual monitor setup with my 27inch mid 2011 imac with k3100m gpu running nikey22's rom from page 1. My external monitor is an AOC Q27P1 which is capable of 2560x1440 (tested it with my macbook air 2018) but when plugging that monitor to my imac, i can only get a maximum of 1920x1080 resolution.
What video input connectors are present on the display? What adapters and cables are you using to attach it to your MacBook Air, and what adapters and cables are you using to attach it to your iMac?

According to the specs linked below, the K3100m should in theory be completely capable of driving a screen with this resolution. One potential cause for this problem would be if you are using some complex dongle combination that includes VGA. This would have the potential to limit the maximum resolution to 1080p.


Have you gone to the system preferences and tried to adjust the output video resolution? You may need to select the "Scaled" button in order to see a 1440p option.

If you have access to another >1080p monitor, it may be useful to try connecting to it for testing.

I've read the last few hundred pages of this thread, and I've never heard of anyone encountering a similar issue, so I think this may be more closely related to a problem your display setup than with the GPU upgrade. Hopefully, you will be able to find a combination of connectors that get this working as expected! :)
 
What video input connectors are present on the display? What adapters and cables are you using to attach it to your MacBook Air, and what adapters and cables are you using to attach it to your iMac?

According to the specs linked below, the K3100m should in theory be completely capable of driving a screen with this resolution. One potential cause for this problem would be if you are using some complex dongle combination that includes VGA. This would have the potential to limit the maximum resolution to 1080p.


Have you gone to the system preferences and tried to adjust the output video resolution? You may need to select the "Scaled" button in order to see a 1440p option.

If you have access to another >1080p monitor, it may be useful to try connecting to it for testing.

I've read the last few hundred pages of this thread, and I've never heard of anyone encountering a similar issue, so I think this may be more closely related to a problem your display setup than with the GPU upgrade. Hopefully, you will be able to find a combination of connectors that get this working as expected! :)
Thanks for the reply... you may be right... this may be caused by the mini display port adaptor that i am using to connect the HDMI cable between the imac and the monitor but i have no way to confirm this as i dont have another high res monitor to test it out... I will try another adaptor and hopefully will be able to get max resolution in external monitor.
 
Thanks for the reply... you may be right... this may be caused by the mini display port adaptor that i am using to connect the HDMI cable between the imac and the monitor but i have no way to confirm this as i dont have another high res monitor to test it out... I will try another adaptor and hopefully will be able to get max resolution in external monitor.
Check first page, first post, FAQ, Q6! Something is surely broken at your side.

This information has been posted back in 2018 or even more early. Use an active HDMI to miniDP adapter.
 
  • Like
Reactions: junley4
Hello. i have installed nvidia k1000m 2 gb to my iMac 21,5 2010. I flashed the rom from the 1st page. Opencore did not installed yet.
The High Sierra works well, boot screen works too.
But when I want to Windows it is not full screen. How can I solve it?

after 10 minutes: I found the solution - driver nVidia from their website are necessary to install
 
Last edited:
  • Like
Reactions: Ausdauersportler
I managed to start the Big Sur installer with OpenCore Legacy Patcher (iMac 21.5 mid 2011 with Dell WX4150 flashed), I have put back the old AMD card and it boots without any problem to the initial configuration. What could be the problem?

PS: I have seen that the only one who has the same card is StephN999
 
I managed to start the Big Sur installer with OpenCore Legacy Patcher (iMac 21.5 mid 2011 with Dell WX4150 flashed), I have put back the old AMD card and it boots without any problem to the initial configuration. What could be the problem?

PS: I have seen that the only one who has the same card is StephN999
Can you describe what exactly your problem is?

I am struggling to understand the "managed" and the need to change back the old AMD GPU afterwards?

Did the iMac boot using the new WX4150 or not?
Could you install and boot OpenCore or not?
Could you install Big Sur (or not)?
Why changing back the old GPU?
 
Hey i just wanted to add my experiences here.. i previously thought some random screen flickering was possibly due to a pre-official supported upgrade setting.. and i tried to share my so called work around.. i had no issues until i upgraded past last supported high sierra.. so then by luck after i upgraded further and it went to sleep i saw flickering.. so i redid high sierra and turned off all sleep type settings and set a screen saver instead.. and then did unofficial upgrades to the osx. Then i thought I couldn’t be prouder to gift my friend with his old dead upgraded imac alive again better than ever.. but then after he said screen was flickering.. so i then tried inverter board.. and even lcd screen.. then i tried an old used official power supply and sure enough it was that. You see he had a dead power supply at first so i figured i would buy a new yet unofficial same spec ps from ifixit for 70$ to probably last longer than an old used one for 35$.. then after i replaced that i realized the logic board was also dead.. so i did all that and further upgrades to give him a beast of a music studio pc.. and it turns out that the flickering problem was all because of the ifixit ps. Thank you so much to all the neo’s in this matrix. My friends think im the man, but i feel so unworthy to all the real programmers here.. im more of a figure out how to work the magic of the true illusionists here.. infinite respect!

 
Can you describe what exactly your problem is?

I am struggling to understand the "managed" and the need to change back the old AMD GPU afterwards?

Did the iMac boot using the new WX4150 or not?
Could you install and boot OpenCore or not?
Could you install Big Sur (or not)?
Why changing back the old GPU?

Before that I flashed the new image (GOP BIOS) via SSH and it flashed without any problem.


- Yes, my iMac booted with the new graphics card.
- I booted Opencore, formatted the SSD in APFS (because I changed the hard disk I had).
- It restarts 3 times without any problem and it comes out with several minutes left.
- At the last restart, verbose mode appears and then the screen goes black.
- If I put the old graphic card, I get the initial configuration of Big Sur.
 
Last edited:
Before that I flashed the new image (GOP BIOS) via SSH and it flashed without any problem.


- Yes, my iMac booted with the new graphics card.
- I booted Opencore, formatted the SSD in APFS (because I changed the hard disk I had).
- It restarts 3 times without any problem and it comes out with several minutes left.
- At the last restart, verbose mode appears and then the screen goes black.
- If I put the old graphic card, I get the initial configuration of Big Sur.
You need to run the OCLP app and configure OpenCore while the new AMD card installed! Otherwise the hardware detection of the OCLP app only sees your old AMD card and creates a wrong config.

So please reinsert the new card, start High Sierra, download the OCLP TUI app, rerun and reinstall OpenCore and give it in another run.

You need to boot OpenCore in any case. Ignoring this will leave the internal LCD in boot black and does not give you any chance to select a partitions to boot from.

Check the first post and the Big Sur installation section, again!
 
Today I tested three AMD WX4170 VBIOSes our developers provided with three AMD WX4170 cards I have in an 27' 2011 iMac. I will list the results by RAM type (from this post).

@nikey22: It appears there is a (possibly trivial) bug in your VBIOS. I tested it with cards having SKhynix H5GQ8H24MJR-R4C and Samsung K4G80325FB-HC25 RAM ICs. In both cases the machine would start with those consecutive cut-off chimes every 3 seconds and would not boot. (I did not test it with the card having Samsung K4G80325FB-HC28 RAM ICs.)

@internetzel: Your VBIOS does work with Samsung RAM ICs, but still doesn't with those SKHynix RAM ICs - once macOS tries to switch to GPU drivers during boot, the display just stays blank.

@edwardgeo: Your VBIOS works with all three cards I have, but (as expected) it doesn't fire up the internal (iMac's) display (image is there, just no backlight). I used the external display and measured a MetalBench score of 73 for all 3 cards! (This is amazing!) I did not notice any stability issues apart from the fact that the card with Samsung K4G80325FB-HC28 RAM ICs performs badly after a sleep cycle (MetalBench score of 13). (Other two cards have full performance after a sleep cycle.) (Now I also know that one card suspected as failing is OK!)

Another note: Performance of @internetzel 's VBIOS is unaffected if the internal display is connected or not. (In both cases it scores 52 with MetalBench.) Performance of @edwardgeo 's VBIOS is affected: without the internal display it scores mere 13 with MetalBench, so the GPU is apparently throttled. (I'm not sure if this is somehow related to throttling of the card with Samsung K4G80325FB-HC28 RAM ICs...)

Many thanks @nikey22 , @internetzel , @edwardgeo! If you are willing to develop further, I have my 'test rig' available for more tests. If I should provide / look for something specific for/in those tests, please do let me know. (But be prepared: I may have to be hand-guided for most part...)
 
Your VBIOS works with all three cards I have, but (as expected) it doesn't fire up the internal (iMac's) display (image is there, just no backlight).
Thanks for testing! As i said before that vbios need a patch of connectors. The edp could be connected to wrong output, and the result no backlight at edp lane. I used simple method to indicate outputs at my zbook: i connected 4 outputs and patching framebuffer to zeros find out which port related to encoder.

Example:

PORTS HP G4:

11020404 - EDP
21030303 - DP to VGA
20010101 - Thunderbolt to DP
10000202 - Thunderbolt to HDMI


PORTS HP G3:
12040303
22050404
11020101
21030202


And then i build ObjectInfo as laptop require
VAUGHN 4150

1E01 - SIZE
0103 - _ATOM_OBJECT_HEADER_V3
8A02 - usDeviceSupport
3E00 - usConnectorObjectTableOffset = 04 00 00 00 14 31 62 00 68
0000 - usRouterObjectTableOffset
CE00 - usEncoderObjectTableOffset = 04 00 00 00 20 21 F2 00
0000 - usProtectionObjectTableOffset
1200 - usDisplayPathTableOffset = 04 01 00 00 02 00 0A 00 14 31 00
0000 - usMiscObjectTableOffset

DisplayPathTableOffset
04 - ucNumOfDispPath
01 - ucVersion
00 - ucPadding2
00 - asDispPath

ATOM_DISPLAY_OBJECT_PATH

0200 - usDeviceTag; //supported device
0A00 - usSize; //the size of ATOM_DISPLAY_OBJECT_PATH
1431 - usConnObjectId; //Connector Object ID
0011 - usGPUObjectId; //GPU ID
2021 - usGraphicObjIds[1]; //1st Encoder Obj source from GPU to last Graphic Obj destinate to connector.

ATOM_DISPLAY_OBJECT_PATH


ATOM_DISPLAY_OBJECT_PATH

0800 - usDeviceTag; //supported device
0A00 - usSize; //the size of ATOM_DISPLAY_OBJECT_PATH
1331 - usConnObjectId; //Connector Object ID
0011 - usGPUObjectId; //GPU ID
2022 - usGraphicObjIds[1]; //1st Encoder Obj source from GPU to last Graphic Obj destinate to connector.

ATOM_DISPLAY_OBJECT_PATH



ATOM_DISPLAY_OBJECT_PATH

8000 - usDeviceTag; //supported device
0A00 - usSize; //the size of ATOM_DISPLAY_OBJECT_PATH
1332 - usConnObjectId; //Connector Object ID
0011 - usGPUObjectId; //GPU ID
1E22 - usGraphicObjIds[1]; //1st Encoder Obj source from GPU to last Graphic Obj destinate to connector.

ATOM_DISPLAY_OBJECT_PATH



ATOM_DISPLAY_OBJECT_PATH

0002 - usDeviceTag; //supported device
0A00 - usSize; //the size of ATOM_DISPLAY_OBJECT_PATH
1333 - usConnObjectId; //Connector Object ID
0011 - usGPUObjectId; //GPU ID
1E21 - usGraphicObjIds[1]; //1st Encoder Obj source from GPU to last Graphic Obj destinate to connector.

ATOM_DISPLAY_OBJECT_PATH


ConnectorObjectTableOffset


ATOM_OBJECT_TABLE //Above 4 object table offset pointing to a bunch of objects all have this structure
04 - ucNumberOfObjects;
00 - ucPadding[3];
00
00

ATOM_OBJECT asObjects[1];
ATOM_OBJECT_TABLE



1431620068000000
13317D0083000000
133298009E000000
1333B300B9000000


012021000000040C010010010000020000000104930002040400FF
012022000000040C010010020000080000000104920002040300FF
011E22000000040C010020020000800000000104900002040100FF
011E21000000040C010030020000000200000104910002040200FF



EncoderObjectTable
04
00
00
00
2021F200F8000000 F200 and F8000 are offsets to (010011011431 and 14040F00FF)
2022FD0003010000
1E2208010E010000
1E21130119010000

01001101143114040F00FF
01001101133114040F00FF
01001101133214040F00FF
01001101133314040F00FF


performs badly after a sleep cycle
i have this issue, but under Catalina this issue disappear. If you look at istatmenus ram clock, you will see it stuck at 300 mhz. I even tried force patch minimum clock as 1500, but in mac os it goes to 300 and system freezes, that i think driver problem, or driver PP usage problem.
I have my 'test rig' available for more tests.
That sound great! To complete imac edition I need to know how connectors work with imac... also please make a photos of how gpu reads at ioreqistry
 
  • Like
Reactions: m0bil and nikey22
Hello guys!
I hope you can help me out with my iMac 27" 2011. Since the machine is quite old and not compatible with my other systems anymore, I wanted to update the GPU and install Big Sur. I bought from eBay the NVIDIA 880m from a Dell Alienware, since I read that was a working GPU already tested. I already added a secondary SSD, so I already knew all the procedure to remove the MoBo. So, I managed to take away my working GPU and putting in the new one, but now the machine cannot boot! The fans spin literally 2 seconds and nothing happens. I also tried to put back the old GPU, which works BUT I cannot go past the apple loading logo. After the logo, the whole screen of the Mac is white! So basically:
- With the new GPU nothing happens, just fans spin and they stop
- With the old one, the Mac works but not past the apple logo (after loading bar).

I tried everything, from cmd+R, to cmr+alt+shift+R, to just alt. The machine is not able to go past the apple logo. When I just press alt, I can choose the booting disk (I also made a bootable usb), but when the bar under the apple logo is complete the screen becomes white! Also the recovery screen is not visible, just white!
What could I do? Just changing the iMac to a newer one or I could actually save this one?
Thank you very much for all the help!
 
Thanks for testing! As i said before that vbios need a patch of connectors. The edp could be connected to wrong output, and the result no backlight at edp lane. I used simple method to indicate outputs at my zbook: i connected 4 outputs and patching framebuffer to zeros find out which port related to encoder.

Example:

PORTS HP G4:

11020404 - EDP
21030303 - DP to VGA
20010101 - Thunderbolt to DP
10000202 - Thunderbolt to HDMI


PORTS HP G3:
12040303
22050404
11020101
21030202


And then i build ObjectInfo as laptop require




i have this issue, but under Catalina this issue disappear. If you look at istatmenus ram clock, you will see it stuck at 300 mhz. I even tried force patch minimum clock as 1500, but in mac os it goes to 300 and system freezes, that i think driver problem, or driver PP usage problem.

That sound great! To complete imac edition I need to know how connectors work with imac... also please make a photos of how gpu reads at ioreqistry
We should use the IORegistryTool and save the output and send this over. This is much more comfortable than sending pictures...

Will send it via PM...
 
  • Like
Reactions: edwardgeo
Excellent work @edwardgeo and thank you @dfranetic for testing.

The correct pathway to eDP for imacs using the Polaris/Ellesmere GPUs is:

Connector Object ID edp:14, this activates the Internal_Uniphy1
encoder Object Id: 0x20, 0x21
i2cid: 0x93
senseid: 0x4
This provides the correct pipeline signal for the internal LCD screen on iMacs using this GPU family.

Let's integrate that information into @edwardgeo's rom and test, it should work!
*rom attached for testing*
 

Attachments

  • WX4170_NEBULA_imacOBJ.zip
    119.2 KB · Views: 92
Last edited:
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.