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.

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
I did everything as described, it then worked as well as described.

But when I went to activate SIP except for kexts ( csrutil enable --without kext) the mod becomes non usable anymore.

Any idea how to solve this?

ps: while cheking csrutil staus it says "Apple Internal : disabled" as well despite only having added kext arguments.
Which method?
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
So with this folder what I have to do is:

disable sip
get back to mojave and mount efi partition
delete old partition I created and copy yours
bless &reboot
activate sip with --without kext

is this the right procedure?

You only need to mount the EFI partition, and replace the config.plist file with that one. No need to delete anything, or re-bless anything (you may need to disable SIP again, and re-bless OpenCore).

When using OpenCore, we should set the SIP status inside the config.plist. If you enable SIP, you will disable OpenCore. OpenCore isn't a kext, only allow kext won't help.

I haven't provide this function in my published config.plist files. I don't want to make that over complicated. As I said, I just want that to "one solution fit all".

If you want to achieve more (e.g. re-enable SIP), please join the OpenCore thread. The "how to" of this area was discussed at there.
 

Eschers

macrumors member
Oct 27, 2015
86
35
ch
You only need to mount the EFI partition, and replace the config.plist file with that one. No need to delete anything, or re-bless anything (you may need to disable SIP again, and re-bless OpenCore).

When using OpenCore, we should set the SIP status inside the config.plist. If you enable SIP, you will disable OpenCore. OpenCore isn't a kext, only allow kext won't help.

I haven't provide this function in my published config.plist files. I don't want to make that over complicated. As I said, I just want that to "one solution fit all".

If you want to achieve more (e.g. re-enable SIP), please join the OpenCore thread. The "how to" of this area was discussed at there.

Thanks for your quick reply!:cool:

Just did the sole replacement, did not work. I am going to bless it and see if it works!
 

Eschers

macrumors member
Oct 27, 2015
86
35
ch
Looks like I nuked the installation somehow. Wont boot anymore from the m2 drive with mojave on it?

Edit: tried it a second time with only taking the config file from the efi folder and still no success..got stuck with a black screen..

Edit2: replaced the config with the standard one from the instructions and now it works again.

can I edit something manually to get sip(partially) working?
 
Last edited:

roobarb!

macrumors 6502
Jul 30, 2009
277
185
1890MHz @970mV, you are lucky, that's a good chip.
I know, I definitely count myself lucky on this one! For a bunch of reasons it's the third Radeon VII which I ended up trying; the other two got nowhere near. I wasn't aiming for an overclock, just a power / heat / noise reduction. When this down-volted to 945 mV at stock and stayed stable I couldn't believe it.
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
@roobarb! can you share how you undervolted / overclocked the Radeon VII ? Really interested!
 

rroumen

macrumors member
Apr 7, 2016
35
24

Thanks @h9826790 I looked into that but seems easier to inject directly in OpenCore (sorry I didn't read the full thread so maybe was mentioned in there) I added this into my config.plist: (underclock to 1799Mhz which also was listed in LuxMark test)

<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
<key>PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@2,AAPL,boot-display</key>
<integer>1</integer>
<key>PP_DisableClockStretcher</key>
<integer>1</integer>
<key>PP_DisablePowerContainment</key>
<integer>1</integer>
<key>PP_DisableULV</key>
<integer>1</integer>
<key>PP_EnableUploadFirmware</key>
<integer>0</integer>
<key>PP_Falcon_QuickTransition_Enable</key>
<integer>1</integer>
<key>PP_GfxOffControl</key>
<integer>0</integer>
<key>PP_PhmSoftPowerPlayTable</key>
<data>
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
</data>
<key>PP_PhmUseDummyBackEnd</key>
<integer>0</integer>
<key>PP_ToolsLogSpaceSize</key>
<integer>524288</integer>
</dict>
</dict>
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
Thanks @h9826790 I looked into that but seems easier to inject directly in OpenCore (sorry I didn't read the full thread so maybe was mentioned in there) I added this into my config.plist: (underclock to 1799Mhz which also was listed in LuxMark test)

<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
<key>PciRoot(0x0)/Pci(0x3,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@2,AAPL,boot-display</key>
<integer>1</integer>
<key>PP_DisableClockStretcher</key>
<integer>1</integer>
Code:
<key>PP_DisablePowerContainment</key>
<integer>1</integer>
<key>PP_DisableULV</key>
<integer>1</integer>
<key>PP_EnableUploadFirmware</key>
<integer>0</integer>
<key>PP_Falcon_QuickTransition_Enable</key>
<integer>1</integer>
<key>PP_GfxOffControl</key>
<integer>0</integer>
<key>PP_PhmSoftPowerPlayTable</key>
<data>
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
</data>
<key>PP_PhmUseDummyBackEnd</key>
<integer>0</integer>
<key>PP_ToolsLogSpaceSize</key>
<integer>524288</integer>
</dict>
</dict>
You are correct indeed. But when I develop this kext, OpenCore / Clover wasn't an option for cMP.

Besides, I recommend the following changes to your settings
Code:
                <key>PP_DisableULV</key>
                <integer>0</integer>
                <key>PP_DisableDIDT</key>
                <integer>1</integer>

And remove
Code:
                <key>PP_DisablePowerContainment</key>
                <integer>1</integer>
 
Last edited:
  • Like
Reactions: rroumen

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
Some other advantages to use kext.

1) No need to know the PCIe path, the kext will apply to all Radeon VII installed on any slot

2) No need to remove that kext when temporarily change GPU for something else
 
  • Like
Reactions: rroumen

mikeydeezy

macrumors 6502a
Jun 15, 2010
617
71
MN, USA
Quick question:

I've tried searching this thread for any clear answer to this but is there an easy way to boot into Windows (installed the Legacy BIOS method to avoid corrupting my cMP's firmware)? It doesn't appear as an option on the Boot Picker and my usual method of booting into it using QuickBoot doesn't work either.
 

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
Quick question:

I've tried searching this thread for any clear answer to this but is there an easy way to boot into Windows (installed the Legacy BIOS method to avoid corrupting my cMP's firmware)? It doesn't appear as an option on the Boot Picker and my usual method of booting into it using QuickBoot doesn't work either.
— Windows in CSM mode is not supported and will never be in OpenCore. You are using it at your own risk, and are strongly encouraged to migrate to UEFI installation now that the certificate problem is resolved. Chainloading rEFIt-based bootloaders or any other "GUIs" is also strongly not recommended as they add extra delays, introduce various sorts of bugs, and in general are not compatible with OpenCore.
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
Quick question:

I've tried searching this thread for any clear answer to this but is there an easy way to boot into Windows (installed the Legacy BIOS method to avoid corrupting my cMP's firmware)? It doesn't appear as an option on the Boot Picker and my usual method of booting into it using QuickBoot doesn't work either.

That's correct. The boot picker isn't perfect yet. That's why I said for dual boot users, stay with the old method in post #594.

However, if you really prefer to use OpenCore (e.g. you need HEVC hardware encoding). You may

1) select your present macOS drive in System Preferences -> Startup disk, then reboot. This will disable OpenCore, you can then further select Legacy Windows in Startup disk.

2) bridge boot Next loader in the OpenCore boot picker, then further select legacy Windows at there.
(N.B. the Next loader UI may be seriously distorted. It can be quite hard to read the text with no icon displayed. You may need to press up arrow once before you can use left / right arrow key to find out the legacy Windows option, then press Enter to boot)

I tested both methods on my own cMP. 100% sure can work.

TBH, Even the bridge boot method method isn't supported by OpenCore officially. But I find that works out quite well on my cMP. Easier and quicker than method 1.
 
Last edited:

startergo

macrumors 603
Sep 20, 2018
5,021
2,283
You may

1) select your present macOS drive in System Preferences -> Startup disk, then reboot. This will disable OpenCore, you can then further select Legacy Windows in Startup disk.
This is how I change my boot preference. This however does not disable OC. In fact this is one of the ways to bless. The other one is from the OC boot picker with CNTRL+ENTER
The user has to install OC on a USB and remove the whole USB then it will work natively
 

mikeydeezy

macrumors 6502a
Jun 15, 2010
617
71
MN, USA

That's correct. The boot picker isn't perfect yet. That's why I said for dual boot users, stay with the old method in post #594.

However, if you really prefer to use OpenCore (e.g. you need HEVC hardware encoding). You may

1) select your present macOS drive in System Preferences -> Startup disk, then reboot. This will disable OpenCore, you can then further select Legacy Windows in Startup disk.

2) bridge boot Next loader in the OpenCore boot picker, then further select legacy Windows at there.
(N.B. the Next loader UI may be seriously distorted. It can be quite hard to read the text, and no icon can be displayed. You may need to press up arrow once before you and use left right arrow key to find out the legacy Windows option, then press Enter to boot)

I tested both methods on my own cMP. 100% sure can work.

Thank you for that info.

I can't recall where I saw it posted (I believe it was the main OpenCore thread) but a user advised someone to convert their Windows installation to UEFI for OpenCore to see it. Is that advisable in your opinion?

Windows in CSM mode is not supported and will never be in OpenCore. You are using it at your own risk, and are strongly encouraged to migrate to UEFI installation now that the certificate problem is resolved.

Is the certificate problem solved due to OC? Or was it the bug itself that was fixed by Microsoft? Sorry to ask all these questions but I want to be 100% certain before I screw around tweaking low-level software like this.
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
This is how I change my boot preference. This however does not disable OC. In fact this is one of the ways to bless. The other one is from the OC boot picker with CNTRL+ENTER
The user has to install OC on a USB and remove the whole USB then it will work natively
I disabled RequestBootVarRouting in that published config.plist as fail safe. Therefore, select another macOS in startup disk will disabled OC if they straightly follow post #594 to setup HWAccel.
[automerge]1581727919[/automerge]
Thank you for that info.

I can't recall where I saw it posted (I believe it was the main OpenCore thread) but a user advised someone to convert their Windows installation to UEFI for OpenCore to see it. Is that advisable in your opinion?

Is the certificate problem solved due to OC? Or was it the bug itself that was fixed by Microsoft? Sorry to ask all these questions but I want to be 100% certain before I screw around tweaking low-level software like this.

I believe WinClone can convert legacy Windows to UEFI Windows. However, I never try. Therefore, can't recommend it yet.

That cert thing seems solved in OC, and because no more BootROM update will be available to cMP. Therefore, the risk is even lowered now. But since that's not related to this thread, please join the OC thread and see if you want to go this route now.

I personally believe OC is the final solution for us. And move the EFI Windows is the better / correct way as well. However, really need more time / tester to confirm it can work as expected.
 

rroumen

macrumors member
Apr 7, 2016
35
24
Some other advantages to use kext.

1) No need to know the PCIe path, the kext will apply to all Radeon VII installed on any slot

2) No need to remove that kext when temporarily change GPU for something else
Good arguments!
 

Grumply

macrumors 6502
Feb 24, 2017
285
194
Melbourne, Australia
Just installed a second Radeon VII to my system via a Cubix Expander box, and I lost Hardware Acceleration. I've tried running through the same process (with the standard config file) again, but now the machine won't boot.

I have to perform a NVRAM reset to get back into Mac OS, but when I do that, and replace the files on the EFI partition with the backup I made before modifying it - it doesn't seem to have restored things to where they were before.

Do I need to "bless" or do anything in particular to the backup EFI files to restore that partition?

I'm stuck in a loop at the moment - If I disable SIP, I can't boot into Mojave to change the EFI partition, but if I do an NVRAM reset, SIP is re-enabled so I can't make the changes either.

How can I restore things to the way they were before?
 

h9826790

macrumors P6
Original poster
Apr 3, 2014
16,656
8,587
Hong Kong
Just installed a second Radeon VII to my system via a Cubix Expander box, and I lost Hardware Acceleration. I've tried running through the same process (with the standard config file) again, but now the machine won't boot.

I have to perform a NVRAM reset to get back into Mac OS, but when I do that, and replace the files on the EFI partition with the backup I made before modifying it - it doesn't seem to have restored things to where they were before.

Do I need to "bless" or do anything in particular to the backup EFI files to restore that partition?

I'm stuck in a loop at the moment - If I disable SIP, I can't boot into Mojave to change the EFI partition, but if I do an NVRAM reset, SIP is re-enabled so I can't make the changes either.

How can I restore things to the way they were before?
NVRAM reset should re-enable SIP, disable OC, and all associated kext.

Then you should able to boot Mojave or recovery partition. And you can remove OC in either of them.

You can mount and write EFI partition regardless SIP status.

A simply way to make sure the cMP boot to vanilla Mojave (but not OC) is by selecting that in system preferences -> startup disk.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.