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.
I wrote a little script in order to change my OpenCore configuration between h9826790s config for hardware acceleration (from Post 1314) and cdfs config for macOS updates (from the OpenCore on the Mac Pro thread).

The script just mounts the EFI partition and copy one of two config.plist files into the OC subfolder and reboots, thats it but for me at least its a timesaver. If you want to use or modify it (I really haven't coded it elengantly, just made it work. For example I only use one SSD, if you use multile you might have to modify it) please go for it!!

View attachment 915340

If you want to use it you have to copy the reconfigure OpenCore folder (the app itself and the diffenent config files live in there) into your applications folder (the path is hardcoded in the script) and put your own config.plist files into the subfolders. The .workfolw file is just the sourcecode if you want to modify.
Nice one. Let's see if anyone have time to further develop this script to provide options for multiple drives etc :)
 
  • Like
Reactions: Cfreak
I wrote a little script in order to change my OpenCore configuration between h9826790s config for hardware acceleration (from Post 1314) and cdfs config for macOS updates (from the OpenCore on the Mac Pro thread).

The script just mounts the EFI partition and copy one of two config.plist files into the OC subfolder and reboots, thats it but for me at least its a timesaver. If you want to use or modify it (I really haven't coded it elengantly, just made it work. For example I only use one SSD, if you use multile you might have to modify it) please go for it!!

View attachment 915340

If you want to use it you have to copy the reconfigure OpenCore folder (the app itself and the diffenent config files live in there) into your applications folder (the path is hardcoded in the script) and put your own config.plist files into the subfolders. The .workfolw file is just the sourcecode if you want to modify.
Nice concept, but this script assumes you only have one HD and one ESP, which is almost never the case especially on the cMP.
 
I'm still not (yet) using OpenCore, but I do mount my EFI partitions frequently. Here's a shell script to simplify that process. You specify a target (in my case, it's the REFIND.efi program; for OC, specify a required OC file), and it loops through all EFI partitions until it either finds the target (and leaves that partition mounted at /Volumes/EFI) or runs out of EFI partitions to try.
Code:
#!/bin/sh
#
#### Edit the following if you need to:
#
# Set to true for progress messages, false for quiet (errors only)
VERBOSE=false
# Path to where EFI partitions should be mounted
EFI_MOUNT_POINT=/Volumes/EFI
# Path to file telling us we've got the right partition
TARGET_FILE=$EFI_MOUNT_POINT/EFI/refind/REFIND.efi
# Test to perform (-f ::= file, -d ::= directory, -x ::= executable)
TARGET_TEST=-f
# how long to sleep between mount/unmount (seconds, can be fractional)
# (repeatedly mounting and unmounting without a sleep usually results
# in failures.)
SLEEP_TIME=0.50
###
### Don't edit the following unless your system is non-standard!
###
DISKUTIL=/usr/sbin/diskutil
GREP=/usr/bin/grep
AWK=/usr/bin/awk
MOUNT=/sbin/mount
SLEEP=/bin/sleep
###
###### End of items you should need to edit
###
if ($VERBOSE == "true"); then ECHO=echo; else ECHO=true; fi

# Unmount the EFI partition if one is currently mounted
$MOUNT | $GREP $EFI_MOUNT_POINT > /dev/null && ($SLEEP $SLEEP_TIME; $DISKUTIL unmount $EFI_MOUNT_POINT)

# Loop through all EFI partitions until we find TARGET_FILE
for i in `$DISKUTIL list | $GREP EFI | $AWK '{print $NF}'`;
do
   $ECHO "Trying $i"
   [ -d $EFI_MOUNT_POINT ] || mkdir $EFI_MOUNT_POINT
   $MOUNT -t msdos /dev/$i $EFI_MOUNT_POINT
   [ $TARGET_TEST $TARGET_FILE ] && break;
   $SLEEP $SLEEP_TIME
   $DISKUTIL unmount $EFI_MOUNT_POINT > /dev/null
done

if [ $TARGET_TEST $TARGET_FILE ] ;
then
   $ECHO "Found target, mounted /dev/"$i" on "$EFI_MOUNT_POINT
   exit 0
else
   echo $TARGET_FILE" not found on any available EFI partition."
   exit 1
fi
 
I am trying to incorporate this EFI mounter in the first script, but it comes with an error:
Code:
on run {input, parameters}
    
    do shell script "'/Applications/reconfigure OpenCore/Reconfigure OpenCore/MountEFI-update/MountEFI.command'"
    
    return input
end run

1589577935208.png


Then I tried:
Code:
on run {input, parameters}
    
    do shell script "export TERM=xterm-color;'/Applications/reconfigure OpenCore/Reconfigure OpenCore/MountEFI-update/MountEFI.command'"
    
    return input
end run
But I got the same error. Does somebody know why the command fails through Apple script?
 
I wrote a little script in order to change my OpenCore configuration between
Nice work. I will adopt and amend for my Refind -> OpenCore chain loading set up.

... it loops through all EFI partitions until it either finds the target (and leaves that partition mounted at /Volumes/EFI) or runs out of EFI partitions to try.
The helper apps i wrote for the chain loading follow the same approach to locate the relevant EFI partition. Basically mount each in turn and check whether a target is present.
 
Exactly as per my screen capture. Do NOT alter anything (except bitrate). As simple as tick the "Allow frame reordering" box can fallback to software encode.

P.S. I don't mind to send you my setting, but I am not with my cMP right now, I can only remote access the screen captured before.

Thank you! I had to uncheck the "Allow Frame Ordering" and now the HEVC encode is flying.

Screen Shot 2020-05-15 at 9.57.10 PM.png
 
If you have multiple partitions all of them have to be unmounted for using the entire disk in VirtualBox as you create mount point to the whole disk /dev/diskX and not to a partition /dev/diskXsY

Actually, I created to a partition. Followed the instructions, but when reboot to windows installer (from OC), I got this error:

INACCESSIBLE BOOT DEVICE

IMG_1358.jpg
 
Can you boot it normally through Virtualbox?

Yes, but I booted it only one time in order to start windows installation. When reboot it for the first time, I turned the vm off, following the instructions.

What if I finish windows installation under the vm? I’ll try this.
 
Yes, but I booted it only one time in order to start windows installation. When reboot it for the first time, I turned the vm off, following the instructions.

What if I finish windows installation under the vm? I’ll try this.
Pay attention to this:
Also make sure in the VM EFI is ENABLED
 
  • Like
Reactions: leoaf79
OpenCore 0.5.6 released. I created a new "easy to install package" as per many requested. [The attached package already updated to 0.5.8 + NdkBootPicker 0.1.8]

For those who only need HWAccel, post #594 has everything you need. This new package mainly offer HWAccel + boot screen. Also, this package should work in Catalina for dual processor cMP.

I don't mind you guys discuss anything about this package, but I have no plan to provide any explanation about OpenCore at here. If you want to know more, please join cdf's OpenCore thread. For new joiners, please make sure read through the FAQ in post #1 before you ask anything.

The attached packaged included Clover Configurator and a complete preconfigured OpenCore. All credits goes to the developer teams. If you want to show your support, please give them donation (declaration of interest: I am NOT in any of their developer teams)

For Clover Configurator and OpenCore developers teams, please let me know if you want me to remove the associated software inside my attachment in this post.

This is a "one package fit all" solution. So, it's designed to fit as much setup as possible, which may not be optimised for your setup (e.g. I did't provide HiDPI boot screen, for those who are running 4K screen, the Apple logo may be quite small during boot). You have to do the optimisation by yourself (details in the OpenCore manual, some info also available in cdf's OpenCore thread).

Anyway, for those who have RX 460 or newer AMD GPU, this package should gives you:
  1. Boot screen (via GOP for unflashed card, including some Nvidia card)
  2. Firmware protection (to run Windows in EFI mode without risking the cMP bootROM)
  3. HWAccel (H264 / HEVC hardware decode + encode in Mojave or later)
  4. ability to watch DRM streaming content (Mojave or later)
  5. Boot picker (only support EFI systems, only tested with wired keyboard. Light grey background, black text, 10s timeout. If you can't see this. Just don't touch the keyboard, and your cMP should continue to boot to desktop)
  6. NVMe and SATA drives show up as internal
  7. Support for Apple USB SuperDrive
  8. TRIM (regardless trimforce status)
  9. Ability to run non-GUI 32bit software in Catalina
  10. Ability to reset NVRAM in boot picker (disabled at this moment)
  11. Ability to run any natively supported ancient OSX with modern graphic card e.g. Radeon VII in 10.6.8 (only can display, no acceleration) [Update 5th May 2020: Sierra and High Sierra may not fully supported yet. Thanks for pierrox's report]
  12. Ability to boot Catalina Recovery Partition
  13. Sleep should work (tested on my cMP, but I can't guarantee it also work with your hardware)
It's impossible for me to test every single function in all situations. So, as usual, use at your own risk. But you are welcome to report back if there is any problem / error.

Anyway, I tried to make the installation as simple as possible. Here is what you need to do
  1. Disable SIP
  2. Download the attachment in this post
  3. Follow the steps in this video
  4. Reboot
Other info
  • Recommend to backup your BootROM between step 1 and 2 (e.g. by using ROMTool)
  • If you want to test OpenCore, you can install this package onto a bootable USB thumb drive.
  • Quite a few users reported that can't boot OpenCore from NVMe, please avoid to install this package on NVMe. You can install this package on ANY SATA drive, not necessary your boot drive.
  • If you want to remove OpenCore, please mount the EFI partition by using Clover Configurator, then follow step 11 in this post.
  • If your cMP stuck at boot. After shutdown, please pull out the hard drive that contain OpenCore, then perform NVRAM reset. If still doesn't work, then please install your emergency graphic card that has boot screen. Hold Option to boot, then select your backup boot drive. This should disable OpenCore.
  • For those who want to report issue / error. Please provide details (e.g. which graphic card, OpenCore installed on NVMe / SATA drive, the issue's details, etc) otherwise it will be extremely hard (or even impossible) for me to work out what's wrong.
  • If you applied my previous non-OpenCore HWAccel mod, please revert them. For Lilu + WEG method, that means delete Lilu.kext in /Library/EXtensions/ and reboot. For hex edit method, that means delete AppleGVA.framework in /System/Library/PrivateFrameworks/ and rename AppleGVA.framework.bak to AppleGVA.framework
Additional option 1: If you have 4K screen, and you want to scale up the Apple logo during boot. You may do this.

N.B. Unflashed card means "the ROM is never modified". For those who bought used card, and can't see the boot screen, most likely the last user flashed the card with modified ROM (e.g. downvolt for mining). In this case, you can go to TechPowerUp to find a ROM that fit your own card, and flash it.

[Last update: 5 May 2020, OC 0.5.8, Ndk 0.1.8, Lilu 1.4.4, WEG 1.3.9]
Installed on NVMe, did not read ahead! Now Mac Pro won’t boot. Thank You!
 
Hi all, I think I found the solution for this.

I just plug in a secondery display and all the scores back to normal:

Metal Score: 48043
OpenCL: 42344

So, all we need to have is one or two HDMI Dummy Plug


Hope it helps.

@leoaf79
@h9826790
Thank you! It worked.🙂
I used the second input of the same display. Now I can migrate to Catalina.
The question is why this happens? Why the second display solved this performance issue?
May it be a faulty cable or some display issue? By the way, mine is a LG HDR 4K. Is yours the same?
 
Actually, I created to a partition.
Yea that is not going to work. The partition only has no access to the EFI of the whole disk, therefore Windows boot loader will not be installed in the ESP partition where Windows and OC will look for it.
 
  • Like
Reactions: leoaf79
Thank you! It worked.🙂
I used the second input of the same display. Now I can migrate to Catalina.
The question is why this happens? Why the second display solved this performance issue?
May it be a faulty cable or some display issue? By the way, mine is a LG HDR 4K. Is yours the same?

I guess it is Apple driver issue, some people using egpu enclosure have the same. They need to connect the graphic card to more than one displays
 
  • Like
Reactions: leoaf79
I was looking to see if you posted a 0.5.8 OpenCore with hardware acceleration. Did you take down the 0.5.7 version because the download link doesn't work anymore? Not sure if you tested them to the point where you prefer one version over the other. I know newer isn't always better.

Stay well and thanks for all your contributions.
Yeah, I removed the 0.5.7 package and updated the package to 0.5.8.

Quite a few guys including me keep testing the latest beta. So far, all newer versions (official release) are as stable as the old one, and bring us more functions or bug fix.

I also expect to update the package once 0.5.9 release and switch the default picker to OpenCanopy. It will look like this.
OpenCanopy 1080P.png
 
Last edited:
  • Like
Reactions: leoaf79
I guess it is Apple driver issue, some people using egpu enclosure have the same. They need to connect the graphic card to more than one displays
Yeah, I removed the 0.5.7 package and updated the package to 0.5.8.

Quite a few guys including me keep testing the latest beta. So far, all newer versions (official release) are as stable as the old one, and bring us more functions or bug fix.

I also expect to update the package once 0.5.9 release and switch the default picker to OpenCanopy.
Very nice. I just found the 0.5.8 release you posted, so I deleted my comment, and then realized you already responded to me. Thanks!
 
  • Like
Reactions: h9826790
Very nice. I just found the 0.5.8 release you posted, so I deleted my comment, and then realized you already responded to me. Thanks!
Oh, I didn't realise that I forget to update the link that inside the steps. It's now fixed. Thanks for pointing that out to me.
 
ndkbootpicker was definitely holding me up. Refind seemed to work fine, but using the package h9826790 created ndkbootpicker just wasn't jiving with my 3,1 and Catalina with multiple drives and OSX on a PCIE SSD.
 
Last edited:
We use NdkBootPicker mainly because the GUI boot picker from OpenCore wasn't working on cMP.

In fact, OpenCore developers don't care if NdkBootPicker work or not. The NdkBootPicker developer have to keep tracking the OpenCore development, and keep updating the NdkBootPicker for newer OpenCore release. And if he hit any difficulty, he must find the work around on his own.

By moving to OpenCanopy, we can guarantee it will be compatible to the latest OpenCore in future.

Now, we are testing latest OpenCore 0.5.9 beta with OpenCanopy. It works quite well so far, at least same performance level as the NdkBootPicker (if not better).

Even though the NdkBootPicker still has some advantage. e.g. Can use our own wallpaper, or make screen capture, etc. However, as I mentioned in post #1314, my aim is to provide a "one package fit all" solution. Since OpenCanopy should provide better reliability and compatibility in future. And this is more important than customisable wallpaper. Therefore, my plan is to switch to OpenCanopy.

TBH, I didn't check if NdkBootPicker still works with the latest OpenCore 0.5.9 or not. Users are free to try, and customise their own OpenCore config / boot picker, but just not in my default package.
 
I definitely was not placing the burden of responsibility on you. I appreciate all you are working on.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.