There is a good writeup linked thru the first post on how to upgrade the OS. You use the GUI version of OpenCore Load Patcher to build an installer. Very detailed walk thru with lots of pictures. I am hoping to get my m6100 card early enough today to complete the install. If so, I'll be able to share anything I've found.Does anyone know of a recipe to install or upgrade from HighSierrra to BigSur on an iMac mid 2010 with AMD Firepro M6100? I am stuck..
1. The WX7100 does have several versions, and each version can be used
2. Make sure the graphics card has been flashed
3. You need to make an OCLP boot, and start from the boot to get the display on the screen
- There are at least two makes of V1.1 WX7100, both should POST in iMac12,2. (And yours does POST.) The differences you noted are not relevant.
- You will only get LEDs 1 and 2 with an unflashed card and no internal LCD connected.
- Automatic system reboots could be attributed to a short between a component on top layer of the GPU PCB and the heatsink. Insulate, in particular, all SMD multilayer capacitors (MLCCs) on the top layer (those small brown ones) with Kapton tape before attaching the heatsink. (Over-tightening will certainly increase the odds of such a short, sometimes only after a few minutes as the copper and aluminium heat up and slightly expand.)
Also, no need to measure those resistors. I already have the values and adding them to a V1.0 card does not solve no POST issues with iMac12,2. I'm still investigating that (from time to time), but no success yet.
You need to apply it to DRAMs, optionally also to inductors (the R56 and LR22). (Inductors are really optional. They do generate heat, but those components can also take the heat. )I applied K5 (in white) to the DRAM, two R56 and four LR22.
Probably one of best choices.I used MX-4 on the GPU (in blue).
Those 560's are tantalum capacitors. Generally these components do not need extra cooling.Noticed that BadBiscuit applied K5 to all four 560's (in green), also.
The small ones in the foreground and more scattered over the PCB. (Yes, exactly like 'these'.) I suggest you clean up the card and the heatsink, align them, press and hold together, then inspect for points of near contact of MLCCs and aluminium. Or just take your time and insulate them all.Are those the ones you suggest protecting with klapton, or the small ones in the foreground near the edge (like these).
No microscope (yet). I still rely on my eyes and sometimes on the 'Magnifier' utility on iPhone.Ah, ok. You must need a hdmi microscope for tiny soldering like that. Good luck.
I do not have a solution, my Mojave installer crashes too. Maybe start working with a std HighSierra install using OCLP, and getting it working w/ 6100 first?Despite my prep work, I have managed to screw up my installation. The swap to the AMD m6100 went fine and I flashed the new rom file via the GRML USB.
(I had removed my internal SSD to make sure it would boot to the USB)
My next step was to install the OCLP that I had built before tearing the machine apart. This is where I screwed up. I was CERTAIN the OCLP file was on the USB stick that had my Monterey installer. When the screen lit up with the option to Install Monterey, I selected it and went ahead. The install went for awhile and then hung up.
Now, below is what I see when trying to boot from a new USB with the OCLP on it.
I have a Mac Mini that I could create a new version on, but the field to select the graphic card for the iMac is greyed out. Is there a way to change that in the config.plist?
Any help much appreciated!
View attachment 2034599
Hello
Macrumors regular here. I do consider myself an experienced user, as I do support enterprise linux systems for a living. I also manage my way around hardware and had upgraded almost all the Macs that have passed though my hands in the last 15 years.
I am in the process of upgrading a mid 2010 27 inch iMac. from i3 550 and radeon 5670 512MB to i7-860 and Radeon M5100.
Used (latest) OCLP 0.4.7, and created a Monterey install USB disk. Installation with stock CPU/GPU when smooth, transferred OpenCore to internal disk's EFI partition (used a new SSD).
As the GPU had Hynix AFR memory modules, I did flash (by using a CH341) the AFR-related bios created by @abbotsford1980 from post #17,336.
Hardware installation went smooth, fans do not rev up, as GPU temp is read ok.
(As a side note, regarding @Ausdauersportler #7,994 post regarding heatsink mod, I had to do no Dremel mods to the heatsink. The M5100 I acquired is physically quite similar to the original card. Under 30 minutes stress test, I have 72 degrees on GPU heatsink and 74 on the GPU itself)
BUT... I am facing the following problem:
- system shows up the Opencore boot picker, starting boot process (normal)
- pre-boot debug messages continue (normal)
- When (I assume) system tries to enable HD7000-related kexts for hardware acceleration, I end up in a yellow screen with a working mouse cursor. (not good )
- If system is left at yellow screen and screen sleeps due to power management, after waking the screen, everything works as expected! (whoa!)
What I have tried so far for troubleshooting:
- re-installed Monterey, as I though the initial post-install scripts might had interfered with HD7000 related kexts (no luck) Edit: Just to clear things up: display works during OS installation, probably because not using acceleration.
- Tried adding the boot arguments from @Ausdauersportler #16,552 post. I do get the exact same behaviour, boot arguments have no effect (I assume Opencore has added some GPU detection, so radpg=15 and friends are added "automagically"
- enabled SSH and screen sharing. SSH is accessible all the times, but screen sharing is not accessible while I have yellow screen on iMac's display.
- Peeked through original GPU BIOS and got the below string(s):
BR44647.001 FGL VENUS PCI_EXPRESS GDDR5
Venus XTGL C42251 GDDR5 128Mx16 OPM (C) 1988-2010,
Advanced Micro Devices, Inc. ATOMBIOSBK-AMD VER015.036.000.006.044647 BR44647.001 919813
264308
COMPAL_VENUS_DELL_DIESEL_A0_GDDR5_2G_DVSXTG
What are my options from now on (which both need some help from this thread ):
- Flash new bios. Given that I own a CH341, I can always revert to a working card. The thing is that I am not sure if trying a BFR or Elpida specific BIOS will work, or bring new problems
- Trying to troubleshoot the issue as-is. I am willing to provide logs and do some testing
Thanks for you time reading!
<key>PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>CAIL,CAIL_DisableDrmdmaPowerGating</key>
<integer>1</integer>
<key>CAIL,CAIL_DisableGfxCGPowerGating</key>
<integer>1</integer>
<key>CAIL,CAIL_DisableUVDPowerGating</key>
<integer>1</integer>
<key>CAIL,CAIL_DisableVCEPowerGating</key>
<integer>1</integer>
<key>agdpmod</key>
<string>pikera</string>
<key>enable-gva-support</key>
<integer>1</integer>
<key>rebuild-device-tree</key>
<integer>1</integer>
<key>shikigva</key>
<integer>128</integer>
<key>unfairgva</key>
<integer>1</integer>
</dict>
<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>shikigva</key>
<integer>128</integer>
<key>unfairgva</key>
<integer>1</integer>
<key>rebuild-device-tree</key>
<integer>1</integer>
<key>agdpmod</key>
<string>pikera</string>
<key>CAIL,CAIL_DisableDrmdmaPowerGating</key>
<data>AQAAAA==</data>
<key>CAIL,CAIL_DisableGfxCGPowerGating</key>
<data>AQAAAA==</data>
<key>CAIL,CAIL_DisableUVDPowerGating</key>
<data>AQAAAA==</data>
<key>CAIL,CAIL_DisableVCEPowerGating</key>
<data>AQAAAA==</data>
</dict>
Did you need to install a copper shim between the GPU die and the GPU heatsink?Success!
Yellow screen problem persisted, no matter what I was trying to do. Tried all the provided M5100 BIOSes. System was randomly rebooting or freezing, seconds or minutes after boot. In addition, none of the following methods could bring the machine to sleep:
- Keyboard shortcut
- holding the power button for 1-2 seconds
- issuing pmset sleepnow command via SSH
For some reason, I was unable to "reliably" bring system back to "working" condition.
After re-reading and re-reading various posts of this thread, I decided to re-install Monterey with (now) latest OCLP, and Monterey 12.5, just in case that something changed.
BUT, I had missed some important configuration: setting the MXM card type in OCLP installation.
As I initially created the installation usb stick on another machine, the MXM card type setting was greyed out. Went through the installation, and let the machine to go through numerous reboots (much more than a normal installation). After that, I ended up to my well-known yellow screen. Verified that machine was not frozen (i.e. mouse cursor was functional), and then, let the machine to go to sleep after 15 minutes (default sleep timer).
After waking the machine up, I was greeted with setup assistant! Went through the setup process, enabled automatic login, SSH access and VNC sharing, and then fired up OCLP, with the intention to install the boot loader to internal SSD. But the option to set up the MXM card type was "enabled", so I did configure it, and re-wrote the OCLP on the USB stick (to be on the safe side, as I could edit it on another machine easily).
After the reboot, system went straight to desktop, without the dreaded yellow screen!
By examining OC config.plist, discovered the following entries were added.
THIS IS a 11,3 iMAC (27 inch, 2010):
<key>PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)</key> <dict> <key>CAIL,CAIL_DisableDrmdmaPowerGating</key> <integer>1</integer> <key>CAIL,CAIL_DisableGfxCGPowerGating</key> <integer>1</integer> <key>CAIL,CAIL_DisableUVDPowerGating</key> <integer>1</integer> <key>CAIL,CAIL_DisableVCEPowerGating</key> <integer>1</integer> <key>agdpmod</key> <string>pikera</string> <key>enable-gva-support</key> <integer>1</integer> <key>rebuild-device-tree</key> <integer>1</integer> <key>shikigva</key> <integer>128</integer> <key>unfairgva</key> <integer>1</integer> </dict>
The code I was adding was for 12,2 machine (note the difference in PCI id):
<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)</key> <dict> <key>shikigva</key> <integer>128</integer> <key>unfairgva</key> <integer>1</integer> <key>rebuild-device-tree</key> <integer>1</integer> <key>agdpmod</key> <string>pikera</string> <key>CAIL,CAIL_DisableDrmdmaPowerGating</key> <data>AQAAAA==</data> <key>CAIL,CAIL_DisableGfxCGPowerGating</key> <data>AQAAAA==</data> <key>CAIL,CAIL_DisableUVDPowerGating</key> <data>AQAAAA==</data> <key>CAIL,CAIL_DisableVCEPowerGating</key> <data>AQAAAA==</data> </dict>
Cheers
Read my original (quoted) post again. I did not use any copper shim, kept the heatsink intact (no dremel mods). Applied a good amount of Artic MX-4 thermal paste on GPU and memory chips. The card I got was a 109-C42241-00 with hynix AFR memory. Under heavy load I am getting only 2 degrees Celsius difference, between GPU and GPU heatsink.Did you need to install a copper shim between the GPU die and the GPU heatsink?
Which model m5100 did you get? the RED dell one?
Thanks for your reply.Read my original (quoted) post again. I did not use any copper shim, kept the heatsink intact (no dremel mods). Applied a good amount of Artic MX-4 thermal paste on GPU and memory chips. The card I got was a 109-C42241-00 with hynix AFR memory. Under heavy load I am getting only 2 degrees Celsius difference, between GPU and GPU heatsink.
I'm back to a clean install of High Sierra and my original 4850 GPU - baked it again and it is working for the moment. That also allowed me to creat a new bootable USB with the OCLP settings. Tested it and it shows up on the stock boot screen, so I am ahead of where I started.So, if it can be of any help to anyone, here is my chronicle (omitting weeks of failures inbetween) of the process:
Upgrading my iMac 27” mid 2010 (iMac 11,3)
- Extended to 12GB RAM
- 500 GB SSD
- Installed HighSierra
- Intel i7 - 870 processor
- Mounted AMD Firepro M6100 2GB MXM GPU
- Had to cut away some metal in order to fit it to my 2-pipe heatsink
- Worked OK in plain HighSierra, except no bootpicker. Since it boots in 15 seconds, this was acceptable as is. GPU Reported as Radeon HD 8xxx in MacOS
- Made recovery boot CD
- I created the EFI folder using the newest available TUI version of OCLP (version 0.4.6) as per Solution 1 in this recipe: https://forums.macrumors.com/thread....1596614/page-668?post=30564216#post-30564216
- Edited the config.plist and burned a CD as stated here under Maintenance-Creating a rescue CD: https://forums.macrumors.com/threads/opencore-on-the-mac-pro.2207814/?post=27914713#post-27914713
- Upgraded GPU VBIOS, using Linux USB https://forums.macrumors.com/thread....1596614/page-545?post=29723850#post-29723850
- Used the “M6100_iMacGOP.rom” from this post by nikey22: https://forums.macrumors.com/thread....1596614/page-664?post=30499696#post-30499696
- Downloaded and run the latest OCLP GUI installer(0.4.9). Under settings, I turned off the BootPicker, and under Developent I chose AMD GCN as GPU Model for MXM iMacs, then did “Build and Install OpenCore” selecting my iMac SSD disk as target. When I got prompted for “reboot while holding option key”, I turned off the iMac, and turned on again holding “Alt-Cmd-P-R” to reset the NVRAM.
- Then, I booted the iMac holding the “C” key, booting from the CD. When presented with the boot options from OC, I selected the EFI partition on the SSD drive. After a longish wait with a black screen, the iMac booted into High Sierra.
- From Preferences, i selected my Startup Disk as my SSD, and ejected the CD before rebooting the system. Again a round of “Alt-Cmd-P-R” for good measure before booting normally into my SSD.
You need to apply it to DRAMs, optionally also to inductors (the R56 and LR22). (Inductors are really optional. They do generate heat, but those components can also take the heat. )
Probably one of best choices.
Those 560's are tantalum capacitors. Generally these components do not need extra cooling.
The small ones in the foreground and more scattered over the PCB. (Yes, exactly like 'these'.) I suggest you clean up the card and the heatsink, align them, press and hold together, then inspect for points of near contact of MLCCs and aluminium. Or just take your time and insulate them all.
A side note: I've had at least three cases where a short between a MLCC and the heatsink caused a sudden (immediate) power off. (I do like to tighten the GPU to the heatsink.) In one case the problem only appeared after a few weeks of regular use. Since then I always insulate (the tallest) MLCCs on top layer with Kapton tape and I have never encountered those 'power off' issues since.
No microscope (yet). I still rely on my eyes and sometimes on the 'Magnifier' utility on iPhone.
The wx7170 (you mean w7170m?) works on 12,2 without any problems after flash? Speep l/wake works? (8th)About installing AMD GCN cards:
All this has been described in great detail on the first post and the vBIOS posts linked in from there.
- All cards needed to be flashed with the published vBIOS versions in advance before using them in the iMac with macOS. The normal (PC) vBIOS versions installed are (in general) not capable of using the internal LCD.
- No such card offers an EFI boot picker without doing the EG2 firmware mod. This mod works on all models starting with the iMac10,1 up to the iMac12,2. Unfortunately the EFI picker shows up in general on an external display, only.
- OpenCore emulates a boot picker and is the only substitute for the missing EFI picker worth using.
- All GCN 4 cards have the (so called) High Sierra bug, i.e. the internal LCD switches off when macOS High Sierra boot has finished. There is only one hardware solution, plug in an external display or an miniDP display emulator. These cards run without OpenCore using High Sierra, but you cannot use the full potential without OC!
- All GCN Venus cards (HD7xxx models, M4000, M5100, M6000, W5170M) and the S7100X and the W7170M need the CAIL settings activated through OpenCore, otherwise you get the yellow screen or other distortions presented after successful macOS boot. There has been a single report that this yellow screen problem vanishes even without OpenCore activated CAIL settings after system/display sleep - needs to be confirmed. Display sleep can be forced using (fn +) shift + ctrl + eject (system sleep using option + command + eject). Probably worth a shot. Using the OpenCore Recovery CD allows to boot a preconfigured OpenCore to activate the CAIL settings.
- The M6100 and W6170M (HD8xxx model) do not need any particular OpenCore setting to be used with High Sierra. Of course using later macOS versions would need OpenCore to be installed.
- No GCN 1-3 card runs without problems in the iMac12,x systems. The best results have been observed using the M5100 or M4000 cards, although system sleep has to be turned off. The sleep/wake cycle is broken and the iMac12,x simply crashes on wake.
- WX4130/WX4150/WX7170/WX7100 work in iMac12,x without any problem other than the known loss of one external display port (the one close to the network port). This port can be still used for Thunderbolt devices.
- You need a WX7100 Ver 1.1 card to use it in the iMac12,2. There is no hardware fix known. The RX480 does not post in the iMac12,2 at all (it is an Ver 1.0 card, too).
There is no WX7170, but the WX4170 fits perfectly into this line of GCN4 cards (fixed the typo and added some information).The wx7170 (you mean w7170m?) works on 12,2 without any problems after flash? Speep l/wake works?
(My iMac is a i7 2600 with a flashed 780m, monterey 12.4 with OCLP)
Thanks for this info! I searched all thru the first post when deciding which card to purchase and somehow missed this crucial information. Hoping to make more progress today!About installing AMD GCN cards:
All this has been described in great detail on the first post and the vBIOS posts linked in from there.
- All cards needed to be flashed with the published vBIOS versions in advance before using them in the iMac with macOS. The normal (PC) vBIOS versions installed are (in general) not capable of using the internal LCD.
- No such card offers an EFI boot picker without doing the EG2 firmware mod. This mod works on all models starting with the iMac10,1 up to the iMac12,2. Unfortunately the EFI picker shows up in general on an external display, only.
- OpenCore emulates a boot picker and is the only substitute for the missing EFI picker worth using.
- All GCN 4 cards have the (so called) High Sierra bug, i.e. the internal LCD switches off when macOS High Sierra boot has finished. There is only one hardware solution, plug in an external display or an miniDP display emulator. These cards run without OpenCore using High Sierra, but you cannot use the full potential without OC!
- All GCN Venus cards (HD7xxx models: M4000, M5100, M6000, W5170M) and the GCN Tonga cards (S7100X and the W7170M) need the CAIL settings activated through OpenCore, otherwise you get the yellow screen or other distortions presented after successful macOS boot. There has been a single report that this yellow screen problem vanishes even without OpenCore activated CAIL settings after system/display sleep - needs to be confirmed. Display sleep can be forced using (fn +) shift + ctrl + eject (system sleep using option + command + eject). Probably worth a shot. Using the OpenCore Recovery CD allows to boot a preconfigured OpenCore to activate the CAIL settings.
- The M6100 and W6170M (HD8xxx model) do not need any particular OpenCore setting to be used with High Sierra. Of course using later macOS versions would need OpenCore to be installed.
- No GCN 1-3 card runs without problems in the iMac12,x systems. The best results have been observed using the M5100 or M4000 cards, although system sleep has to be turned off. The sleep/wake cycle is broken and the iMac12,x simply crashes on wake.
- GCN4 Polaris cards like WX4130/WX4150/WX4170/WX7100 work in iMac12,x without any problem other than the known loss of one external display port (the one close to the network port). This port can be still used for Thunderbolt devices.
- You need a WX7100 Ver 1.1 card to use it in the iMac12,2. There is no hardware fix known. The RX480 does not post in the iMac12,2 at all (it is an Ver 1.0 card, too).
Yes, as Ausdauersportler writes in his list point #6, the M6100 will work in High Sierra even without OC - the first VBIOS I tried (ROM2) identified in the About this Mac as a Radeon 8xxxx or something. After I programmed the VBIOS to the BIOS linked as first alternative on page 1, and installed OC, it identifies as AMD FirePro M6100.I'm back to a clean install of High Sierra and my original 4850 GPU - baked it again and it is working for the moment. That also allowed me to creat a new bootable USB with the OCLP settings. Tested it and it shows up on the stock boot screen, so I am ahead of where I started.
@backtus: I am going to follow your steps a little more closely than my initial attempt. To confirm, after you installed the m6100, you were able to run High Sierra with no OC launching or flashing a new vbios? I would like to get HS up and running to confirm everything is performing as it should before moving next to updating the OS.
HilariousYes, as Ausdauersportler writes in his list point #6, the M6100 will work in High Sierra even without VBIOS - mine identified in the About this Mac as a Radeon 8xxxx or something. After I patched the NVRAM to the BIOS linked as first alternative on page 1, it identifies as AMD FirePro M6100.
Thanks, I've made some progress and can get the machine to boot into High Sierra using my pre-existing OCLP and Safe Mode only (holding down Shift key during boot). However, if not doing Safe Mode, the boot freezes up and shows the line: IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x8 (the screen always gives a flash right before or when this line pops up, then booting stops).Hilarious
- The M6100 works without OpenCore! But it will surely not work without a BIOS.
- The BIOS (which is basically a program to run the GPU) is stored a special chip on the graphics card, you do not patch the NVRAM to the BIOS, there is simply no connection.
- OpenCore provides a GPU name database which will be used during macOS runtime to set proper names like the AMD FirePro M6100 you got. The name does not change the functionality at all.
- OpenCore (OCLP) is needed to allow booting of any unsupported macOS starting with Mojave.
You most likely flashed the wrong vBIOS. Have you noticed the weird VRAM size reported by macOS?Thanks, I've made some progress and can get the machine to boot into High Sierra using my pre-existing OCLP and Safe Mode only (holding down Shift key during boot). However, if not doing Safe Mode, the boot freezes up and shows the line: IOConsoleUsers: gIOScreenLockState 3, hs 0, bs 0, now 0, sm 0x8 (the screen always gives a flash right before or when this line pops up, then booting stops).
View attachment 2035299
I do see the Boot Picker screen, where it auto-loads my internal drive (OCLP is partitioned on the internal drive as well). I attempted to create a new OpenCore Install but received an error that "Volume on disk0s1 failed to mount." Is this related to Safe Mode boot?
View attachment 2035300
The m6100 is recognized by the system, so the vbios flash was successful.
View attachment 2035301
I seem to recall reading about a glitch in High Sierra, should I just proceed to updating to Monterey? Not wanting to rush as it has taken awhile to get to this step!
As always, any help is much appreciated!
You bet I backed it up!! Even saved to a separate hard drive, just in case. I see the .rom format cannot be uploaded, so I zipped the file.You most likely flashed the wrong vBIOS. Have you noticed the weird VRAM size reported by macOS?
Get out the pictures you took from the graphics card and check the memory type written on the VRAM chips.
You surely saved the original vBIOS before flashing (because you read the docs in advance), so please upload it here.