Jump to content
27 posts in this topic

Recommended Posts

Please read carefully the message from @vit9696, it is always an excellent source of information about the evolution of OpenCore and hackintosh in general.

This time changes and improvements are a lot.
OpenCanopy has been revamped with changes in any aspect related to the picker graphical interface. New icons have been added, labels have been improved, initial pointer position has been changed, keyboard and mouse behaviour have been improved, etc. It is almost a new driver due to the big amount of modifications.
Other drivers as well have improvements, CrScreenshotDxe for example.
External tools have also been improved, especially ocvalidate and ocpasswordgen. The same applies to OpenCore tools: OpenShell, ControlMsrE2 (successor to Brumbaer's CFGLock), etc.
Config.plist file brings several changes, the most significant being new UEFI > AppleEvents section that allows you to configure keyboard and mouse behavior.
Apart from all this, documentation has been reviewed and updated.
Anyway, OpenCore developers have worked very hard and offer us this 0.6.8 version much improved compared to the previous one.



  • A lot of changes to make text more readable and understandable, including typos corrected
  • ACPI > Patch: added 2 new properties, Base and BaseSkip:
    Base (String): ACPI path base for patch lookup (ex. \ _SB.PCI0.LPCB.HPET), it can be empty
    BaseSkip (Integer): number of found Base occurrences to skip before finds and replacements are applied, it can be zero
  • Booter > Quirks: added ForceBooterSignature (Boolean) for set macOS boot-signature to OpenCore launcher, it can be False
  • Misc > Boot > LauncherOption (String): until now there were 3 options, Disabled, Full and Short, added a 4th option System that creates no boot option but assume specified custom option is blessed. Most of us use Disabled or Full.
  • UEFI > added new section AppleInput that provides more detailed control of Apple Event protocol. It has 6 properties:
    AppleEvent (String): determines whether OC builtin or OEM Apple Event (if available) protocol is used. In general OpenCore’s re-implementation should be preferred. It can be Auto (failsafe), Builtin and OEM. I use Builtin
    CustomDelays (String): enables custom key repeat delays. It can be Enabled (the values KeyInitialDelay and KeySubsequentDelay are used), Disabled (Apple default values of 500ms (50) and 50ms (5) are used) and Auto (failsafe) (treated as Enabled when KeySupport is true and Disabled otherwise). I use Auto
    KeyInitialDelay (Number): when not using KeySupport, this option will configure the initial delay before key repeat as expected. The Apple OEM default value is 50 (500ms). I have 0 (acts as 50, or 500ms)
    KeySubsequentDelay (Number): configures subsequent keyboard repeat delay in OpenCore. The Apple OEM default value is 5 (50ms). I have 5 (acts as 25, or 250ms)
    PointerSpeedDiv (Number): configures the divisor for pointer movements. Failsafe value is 1. 0 is an invalid value for this option. I use 2 to have a slower pointer.
    PointerSpeedMul (Number): configures the multiplier for pointer movements. The Apple OEM default value is 1.
  • UEFI > ProtocolOverrides: deleted AppleEvent.


OpenCanopy driver


Huge list of improvements, it is probably one of the OpenCore elements that receives the most changes in this new version:

  • Improvements in almost every aspect of the driver
  • Improved presentation of labels
  • Improved presentation when UIScale = 2
  • Improved support for mouse pointer that is now displayed centered on the screen by default. For it to work you must enable pointer control in the picker: the value of Misc > Boot > Picker Attributes must be 17 (0x11) if you normally use 1 (0x01). 
  • Added new icons, current list is

Notes about OpenCanopy:


  • Resources > Image folder must have one item of each type of icon to get graphic picker (External). You can download the Resources folder with all required elements from acidanthera. These are the default icons made by OpenCore developers. Its purpose is to display the picker as it is displayed on real Macs.
    But there are already some OpenCore 0.6.8-capable themes designed by others users. For example, Default-StarWars by @chris1111 or BsxDarkFence series by @blackosx, all of them high quality themes.
  • Left and Right only appear when the row of icons does not fit the width of the screen, they are used to move along entries.
  • Restart and ShutDown icons are placed at the bottom of the screen, they can be reached by mouse pointer or by Tab key. These icons are highlighted by BtnFocus when selected
  • Dot, Lock, Password an Enter are used if we have configured password for OC.
  • Selector changes to SetDefault when you press the Ctrl key so that, if you press ENTER at the same time, the entry is marked as default bootable device.
  • Recovery entries now have (dmg) suffix.
  • macOS volumes are shown with the generic HardDrive.icns icon but, if there is an Apple.icns icon, they are shown with this specific icon (this isn't related to OpenCore 0.6.8, just to remember).
  • Really default cursor position isn't fully centered but has a slight offset to the right to match Apple picker.



CrScreenshotDxe driver


Improved screenshot making driver, saving images to the root of OpenCore partition (ESP) or any available writeable filesystem, upon pressing F10. This is a modified version of CrScreenshotDxe driver by Nikolaj Schlej.



Although ocpasswordgen utility exists since version 0.6.7, new icons specific to this feature have been added: Dot, Lock, Password and Enter.

To set a password to OpenCore you have to run ocpasswordgen in Terminal.

>> ./ocpasswordgen
Please enter your password: acidanthera
PasswordHash: <63ebfabb7271ba639b74688b45e99ea7b1ef9f8e71b113f5a27de914a577b705fd2a062445cc6af6fa921b49e5d1f9cdee94f4b4a7d75be15352eb39a5ad6c
PasswordSalt: <de0cd941ed93a97e0927c86f7ab052e1>

2 hashes are generated, PasswordHash and PasswordSalt, which must be entered in the text boxes of the same name in Misc > Security, also selecting the EnablePassword option.



This way, OpenCore presents the dialog to enter password to access the menu.






Edited by miliuco
Posted (edited)


You are wellcome!!!

But sure you already know what I post :)

(is this well redacted? I mean you already have the knowledge about the things described in my post).

Edited by miliuco

TBH. No I did not read to thoroughly, just a quick scan :P

But your posts of this nature are usually quite attentive so I consider your knowledge and research to be able to create this post in the first place pretty comprehensive.


EDIT: BTW, 0.6.8 has been released


EDIT2: and I do see every commit on the repo and try to keep abreast of the changes as it’s developed so I do have a pretty good idea of most of the changes, even if I haven’t tested some of them. 


Edited by blackosx
  • miliuco changed the title to Opencore 0.6.7 > 0.6.8 differences
23 minutes ago, blackosx said:

Thank you! :)

I’ll update the repo as soon as I can

Thanks to you for your painstaking work, the only thing if maybe you can simplify the name of the icons and if you can maybe put the extra icons in a separate folder, you risk making a little confusion :D thanks



Edited by antuneddu
1 hour ago, antuneddu said:

:w00t: Solved renamed Selector_80px.icns from BsxDarkFenceLight1_   to  Selector.icns 

Yes! Sorry I’ve just read your post. This is the problem. Selector icon has this sufix and must be renamed. Sorry for not to say to @blackosx when I see this today, I completely forgot

 I can't get the mouse to work with the 0.6.8 opencanopy version.  I can use the keyboard with it just fine. I did add the "AppleInput" stuff and compared everything with the sample.plist. I have the picker attribute set at 17. Any ideas?


24 minutes ago, AmigaOS said:

 I can't get the mouse to work with the 0.6.8 opencanopy version.  I can use the keyboard with it just fine. I did add the "AppleInput" stuff and compared everything with the sample.plist. I have the picker attribute set at 17. Any ideas?


That's how it works for me


Schermata 2021-04-09 alle 20.52.24.png

Edited by antuneddu

In the first post, as an OpenCanopy improvement, I wrote:
"Improved support for mouse pointer ... For it to work you must enable pointer control in the picker: the value of Misc> Boot> Picker Attributes must be 17 (0x11) if you normally use 1 (0x01)."


Extended information about Picker Attributes

(information contained in the OpenCore documentation)


In config.plist we see decimal values but OpenCore calculates that value with hexadecimal numbers.

Those who used to use 1 (Provides custom icons for boot entries) must use 17 to add the pointer (Enable pointer control in the picker if available).


We have to play with these values:

  • Provides custom icons for boot entries: value 1 (0x01 hex)
  • Provides custom rendered titles for boot entries: value 2 (0x02 hex)
  • Provides predefined label images for boot entries without custom entries: value 4 (0x04 hex)
  • Prefers builtin icons for certain icon categories to match the theme style: value 8 (0x08 hex)
  • Enable pointer control in the picker if available: value 16 (0x10 hex)
  • Enable display of additional timing and debug information in Builtin picker in DEBUG and NOOPT builds only: value 32 (0x20 hex).

We have to add the hexadecimal value of the chosen options and convert it to decimal, which is the value that is written in config.plist. So, as I was using 1 (0x01 Provides custom icons for boot entries) and I wanted to add 16 (0x10 Enable pointer control in the picker if available), the hexadecimal sum is 0x01 + 0x10 = 0x11 which is 17 in decimal. 17 must be entered in config.plist.


Edited by miliuco
29 minutes ago, westsurf said:

Excuse the noob question but does the config.plist need to be re writtne / comiled for every Opencore upgrade?

in theory, because each version there are changes so values added or removed, you can check your plist with ocvalidate that you find in the Utilities folder of the release, if you have a very old version of OC you should take the Sample.plist that you find in the Docs folder of the release and compile  as your old plist , otherwise you can take from the Sampl.plist only the items you are missing

Edited by antuneddu
  • Create New...