Contribute
Register

[HOW TO] OpenCore 0.6.7 > 0.6.8 differences

Status
Not open for further replies.
Joined
Dec 10, 2010
Messages
1,378
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i9-9900K
Graphics
RX 6600 XT
Mobile Phone
  1. iOS
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.

config.plist
  • 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, required icons currently are:
    1. AppleRecv / 2. AppleTM / 3. BtnFocus / 4. Cursor / 5. Dot / 6. Enter / 7. HardDrive / 8. Left / 9. Lock / 10. Password / 11. Restart / 12. Right / 13. Selected / 14. Selector / 15. SetDefault / 16. Shell / 17. ShutDown / 18. Tool / 19. Windows.
    But some others can be added to improve the design: Apple, ExtAppleRecv, ExtAppleTM and ExtHardDrive. Even ResetNVRAM or Linux icons.

    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.
0.6.8-pointer.png

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.

ocpasswordgen

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.
Bash:
>> ./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.

ocpasswordgen1.png

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

ocpasswordgen2.png
 
Last edited:
Thanks for all the helpful detail. I can boot with the attached config.plist, but ocvalidate shows the attached serialization errors. Does this indicate I haven't implemented base and baseskip correctly? Is it caused by <Patch> having 3 sets of properties?

Also, I haven't been able to display bootup icons. Is this due to the images not being current with 0.6.8? If so, is there a way to download the entire Resources folder from acidanthera?
 

Attachments

  • configlist errors.png
    configlist errors.png
    9.9 KB · Views: 128
  • config.plist
    25.2 KB · Views: 148
Last edited:
Thanks for all the helpful detail. I can boot with the attached config.plist, but ocvalidate shows the attached serialization errors. Does this indicate I haven't implemented base and baseskip correctly? Is it caused by <Patch> having 3 sets of properties?

Also, I haven't been able to display bootup icons. Is this due to the images not being current with 0.6.8? If so, is there a way to download the entire Resources folder from acidanthera?
In ACPI > Patch you have 3 patches, in the first 2 Base and BaseSkip keys are missing, in the 3rd they are present, add them in the first 2.

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.


Here you can download entire Resources folder to have OpenCanopy picker:

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.
 
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.

config.plist
  • 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
    AppleRecv.icns
    AppleTM.icns
    BtnFocus.icns
    Cursor.icns
    Dot.icns
    Enter.icns
    ExtAppleTM.icns
    ExtHardDrive.icns
    HardDrive.icns
    Left.icns
    Lock.icns
    Password.icns
    Restart.icns
    Right.icns
    Selected.icns
    Selector.icns
    SetDefault.icns
    Shell.icns
    ShutDown.icns
    Tool.icns
    Windows.icns.

    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.
View attachment 514279

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.

ocpasswordgen

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.
Bash:
>> ./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.

View attachment 514280

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

View attachment 514281
When upgrading to OC 0.6.8 I changed PickerAttributes from 11 to 17 in my config.plist. I now have the pointer at the boot screen, but I lost the disklabels I'd customized awhile back. Any way to have them both: pointer *and* custom disklabels?
 
When upgrading to OC 0.6.8 I changed PickerAttributes from 11 to 17 in my config.plist. I now have the pointer at the boot screen, but I lost the disklabels I'd customized awhile back. Any way to have them both: pointer *and* custom disklabels?
In config.plist we see decimal values but OpenCore calculates that value with hexadecimal numbers.

Those who use 1 (decimal, Provides custom icons for boot entries) must use 17 to add the mouse pointer (Enable pointer control in the picker if available). But if you use 11, the value added must be different.

You 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).
You 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.

But you use 11 (0x0B in hexadecimal) which makes me suppose that you had 3 options enabled:
  • Provides custom icons for boot entries: value 1 (0x01 hex)
  • Provides custom rendered titles for boot entries: value 2 (0x02 hex)
  • Prefers builtin icons for certain icon categories to match the theme style: value 8 (0x08 hex).
01 + 02 + 08 hexadecimal = 0B which is 11 in decimal. If you add the option Enable pointer control in the picker if available (0x10 hex) the sum is 01 + 02 + 08 + 10 = 1B which is 27 decimal.
27 is the value you have to try in config.plist.
 
Last edited:
Here you can download entire Resources folder to have OpenCanopy picker:

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.

Thanks for the guidance on Base and BaseSkip. I have fixed them in the attached. I read about those changes first in the vit9696 instructions and never clearly understood them.

Regarding downloading the Resources folder from acidanthera: I was hoping there was a way to download the entire folder at once, not each item in it individually. Am I misunderstanding that?
 

Attachments

  • config.plist
    25.4 KB · Views: 156
@rheneas
Don't download each file individually, do as in the attached image (green Code button), this way you download the full package at once, discard Drivers folder (inside it there are versions of HfsPlus.efi if you're interested), and get the entire resources folder.

resources.png
 
Last edited:
In config.plist we see decimal values but OpenCore calculates that value with hexadecimal numbers.

Those who use 1 (decimal, Provides custom icons for boot entries) must use 17 to add the mouse pointer (Enable pointer control in the picker if available). But if you use 11, the value added must be different.

You 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).
You 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.

But you use 11 (0x0B in hexadecimal) which makes me suppose that you had 3 options enabled:
  • Provides custom icons for boot entries: value 1 (0x01 hex)
  • Provides custom rendered titles for boot entries: value 2 (0x02 hex)
  • Prefers builtin icons for certain icon categories to match the theme style: value 8 (0x08 hex).
01 + 02 + 08 hexadecimal = 0B which is 11 in decimal. If you add the option Enable pointer control in the picker if available (0x10 hex) the sum is 01 + 02 + 08 + 10 = 1B which is 27 decimal.
27 is the value you have to try in config.plist.

I hope that my text can be understood well, I am not fluent in English.
Thanks so much for the explanation and the “magic number” of 27, it worked perfectly!
 
Trying to use a USB to trial the Opencanopy picker ... never seems to work and I’ve been through the config. and the guide numerous times.

Is it that it only works on a main drive?
No. It has to work the same from USB and from macOS disk. If I understand you correctly, you have the picker in text mode but you don't have OpenCanopy graphical picker. It is right?

Things you have to review:
  1. there is a Resources folder and inside it there are 4 folders: Audio, Fonts, Image and Labels
  2. Audio, Fonts, Image and Labels folders have content downloaded from acidanthera (check post 1 to see the link)
  3. Image folder has at least the minimum icon set required by OpenCanopy (check the list in post 1)
  4. config.plist is Misc > Boot > PickerMode = External
  5. config.plist in Misc > Boot > PickerVariant can have multiple values (Auto, Default, Old, Modern, another string) and Images folder within Resources can have icon sets of 4 groups: no prefix (default), prefixed with Modern, prefixed with Old and prefixed with another string:
    - Auto option chooses the set of icons according to the NVRAM variable DefaultBackgroundColor, for Light Gray it chooses the Old prefix, for any other color it chooses the set without prefix.
    - Default chooses the icon set without prefix
    - Modern chooses icon set with Modern prefix
    - Old chooses the icon set with the Old prefix
    - Any other string chooses the icon set with this string as prefix.
PickerVariant setting are not 0.6.8, they come from 0.6.6.
 
Status
Not open for further replies.
Back
Top