- Fixed stack canary support when compiling with GCC
- Added automatic scaling factor detection
- Explicitly restricted
ResizeAppleGpuBars
to 0 and -1 - Fixed OpenCanopy long labels fade-out over graphics background
- Fixed
ProvideConsoleGop
not disabling blit-only modes (e.g. on Z690) - Fixed Alder Lake SMBIOS CPU model information
- Added XCPM CPU power management ACPI table for Intel Alder Lake
- Updated draw order to avoid graphics tearing in OpenCanopy
- Revised OpenLinuxBoot documentation
- Supported Linux ostree boot layout
- Fixed external drive icons for Boot Entry Protocol
- Added GPU Resize BAR quirks to reduce BARs on per-OS basis
- Fixed OpenLinuxBoot hang bug after correct detection of some distros
- Added DMG signature check during download, thx @jspraul and @zhangyoufu
- Updated builtin firmware versions for SMBIOS and the rest
- Updated recovery downloading commands to include macOS 11 and 12
- Fixed Linux kernel sort order
- Added Linux detection optional log detail
- Fixed CPU core count detection for more legacy CPUs
- Added ability to fully override autodetect Linux boot options
- Added large BaseSystem support in
AdviseFeatures
- Updated builtin firmware versions for SMBIOS and the rest
- Added tool to extract vendor secure boot certificate from GRUB shim file
- Added
BridgeOSHardwareModel
NVRAM variable to fix T2 SB AP models on macOS 12 - Changed
Default
Apple Secure Boot model to match SMBIOS for macOS 12 - Fixed
opencore-version
not being added to NVRAM variables
- Improved SSDT-PNLF compatibility with CFL+ graphics
- Fixed OpenCanopy performance loss due to redrawing introduced in 0.6.9
- Added pattern-based automatic variable initialisation for better security
- Updated underlying EDK II package to edk2-stable202108
- Updated Apple Secure Boot variables for
x86legacy
- Updated Linux variants in Flavours.md
- Implemented Boot Entry Protocol, allowing plug-in boot entry drivers
- Added StringBuffer and FlexArray libraries
- Updated Drivers to support arguments (requires config.plist update, see samples)
- Added OpenLinuxBoot driver: OC-native Linux autodetect and boot without chaining via GRUB
- Fixed overlong boot entry names breaking text flow in builtin menu
- Added
ForceOcWriteFlash
UEFI quirk to enable writing OC system variables
- Fixed OSBundleLibraries/OSBundleLibaries64 handling
- Added
GraphicsInputMirroring
to fix lost keystrokes in some non-Apple graphical UEFI apps - Added support for stack canaries (security cookies / stack guards)
- Fixed unintialised memory access in AudioDxe causing audio playback failure
- Changed
Default
Apple Secure Boot model tox86legacy
for better security and compatibility - Increased default APFS
MinDate
andMinVersion
to macOS Big Sur for better security - Updated builtin firmware versions for SMBIOS and the rest
- Improved SSDT-PNLF compatibility with Windows and newer graphics
- Fixed CLANGPDB OpenCore builds by shortening OC magic
- Added
SyncTableIds
quirk to sync modified table OEM identifiers - Added CPU Info (MSRs) dumping to
SysReport
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed
PowerTimeoutKernelPanic
on macOS 12 - Fixed transparency click detection on OpenCanopy boot entries
- Added PCI device info dumping to
SysReport
- Fixed
SetApfsTrimTimeout
on macOS 12 - Documented requirement for SetDefault.icns width to match Selector.icns width
- Added explicit warn and safe fallback to builtin picker on failure to match the above
- Added VSCode source level IDE debug config example to debug docs
- Added other minor debug docs updates
- Fixed incorrect timeout of built-in picker on IA32
- Added support for custom kernels on ESP partition
- Fixed DEBUG ASSERT on pressing change entry keys with single boot entry in OpenCanopy
- Added recommended
Apple12
andWindows11
flavours - Added
TpmInfo
tool to DEBUG TPM status - Fixed incorrect OpenCanopy initial display when default entry beyond right of screen
- Fixed
ProvideCurrentCpuInfo
MSR patch on macOS 12 - Fixed
AppleXcpmForceBoost
patch on macOS 12
- Fixed NVRAM reset on firmware with write-protected
BootOptionSupport
- Improved direct GOP renderer performance for certain cases
- Added support for display rotation in direct GOP renderer
- Fixed handling multinode device paths in LoadedImage and elsewhere
- Changed OpenCanopy image directory to support directory prefixes
- Changed OpenCanopy preferred image set to
Acidanthera\GoldenGate
- Removed
<BOOTPATH>.icns
and<TOOLPATH>.icns
support - Added content flavour system allowing custom boot entry icons compatible across icon packs
- Added automatic flavour detection for macOS boot entries
- Added
ProvideCurrentCpuInfo
quirk to provide correct TSC/FSB for Hyper-V virtual machines - Added Hyper-V device path expansion to allow setting default boot volume
- Added
Apple
variant ofGopPassThrough
to handle onlyAppleFramebufferInfo
handles - Fixed further kernel patches not being processed if a patch was skipped due to arch mismatch
- Added optional Toggle SIP system boot menu option
- Added
CsrUtil.efi
tool, similar to Applecsrutil
- Removed support for
<TOOLPATH>.lbl
/.l2x
pre-drawn entry labels - Fixed previous text not cleared before console mode tools and entries in OpenCanopy
- Fixed DEBUG build crashes with
GopPassThrough
andUgaPassThrough
- Added flavour for memory testing utilities
- Updated recommended
memtest86
config in sample.plist
files - Defined bootloader flavours
- Applied own flavour to OC build
- Added CPU topology fixes to
ProvideCurrentCpuInfo
quirk - Updated OC default SIP disabled value
- Documented SIP values which affect macOS updates
- Added
csr-data
Apple NVRAM var to docs - Fixed file alignment causing codesign issues with CLANGPDB images
- Replaced
AdviseWindows
withAdviseFeatures
to support APFS
- Fixed out-of-sync cursor movement rectangle when loading e.g. CrScreenshotDxe
- Updated underlying EDK II package to edk2-stable202102
- Applied consistent enforcement of required minimum Apple OEM Apple Event protocol version
- Changed CustomDelays to less surprising boolean setting with failsafe of false
- Changed key repeat failsafes and sample values to Apple OEM values
- Changed PointerSpeedMul failsafe to Apple OEM value
- Updated docs to include configuration of key repeat settings with and without KeySupport
- Prevented 'set default' UI when action not permitted by security config
- Added
ForgeUefiSupport
quirk to workaround legacy EFI 1.x firmwares compatibility - Added
ReloadOptionRoms
quirk to force-load Option ROMs on PCI devices - Added
OC_ATTR_USE_MINIMAL_UI
to allow running pickers with no Shutdown and Restart buttons - Added display of OpenCore version number to OpenCanopy as well as builtin picker, depending on existing ExposeSensitiveData bit
- Added support for case-insensitive argument handling in the UEFI tools
- Added vector acceleration of SHA-512 and SHA-384 hashing algorithms, thx @MikhailKrichanov
- Fixed wraparound when using arrow keys in OpenCanopy
- Updated builtin firmware versions for SMBIOS and the rest
- Added bundled Linux versions for userspace utilities
- Fixed fallback SMBIOS
Manufacturer
value toNO DIMM
for empty slots - Fixed assertions when running OpenCanopy with low resolution, will fallbacks to builtin now
- Switched to VS2019 toolchain for Windows builds
- Reduced legacy boot install interaction effort
- Increased OpenCanopy rendering performance
- Added OpenCanopy Shut Down and Restart buttons
- Reduced OpenCanopy mouse pointer input lag
- Fixed that cursor bounds could be different from OpenCanopy's
- Improved builtin picker rendering performance
- Added Memory Type decoding for SMBIOS in
Automatic
mode - Properly support setting custom entries as default boot options
- Fixed creating log file when root file system is not writable
- Fixed
DisableSingleUser
not being enabled in certain cases - Added
ForceBooterSignature
quirk for Mac EFI firmware - Fixed OpenCanopy sometimes cutting off shown boot entries
- Further improved CPU frequency calculation on legacy CPUs
- Fixed SMBIOS SMC version encoding sequence
- Added TSC frequency reading from Apple Platform Info
- Added TSC frequency reading for Apple devices with nForce chipsets
- Added
Base
andBaseSkip
lookup for ACPI patches - Fixed ACPI table magic corruption during patching
- Fixed unnatural OpenCanopy and FileVault 2 cursor movement
- Fixed OpenCanopy interrupt handling causing missed events and lag
- Improved OpenCanopy double-click detection
- Reduced OpenCanopy touch input lag and improved usability
- Improved keypress responsiveness in OpenCanopy and builtin pickers
- Improved non-repeating key detection in OpenCanopy and builtin pickers
- Fixed Escape preventing OpenCanopy fade up until released, on some systems
- Fixed fast repeat then stall issue with key handling on some PS/2 systems
- Added accurate Shift+Enter/Shift+Index detection when using PollAppleHotKeys
- Added 'set default' indicator to builtin picker
- Replaced VerifyMsrE2 with ControlMsrE2 also allowing unlock on some firmwares
- Fixed OpenCanopy flicker when refreshing the entry view
- Added OpenCanopy TAB navigation support
- Added OpenCanopy graphical password interface
- Added OpenCanopy pulsing animation to signal timeout
- Added OpenCanopy 'set default' indicator
- Fixed OpenCanopy not aborting timeout on pointer click
- Fixed OpenCanopy intro animation not scaling with UIScale
- Add OpenCanopy boot entry label scrolling (fixes missing long labels)
- Added tabbable Shutdown and Restart buttons to builtin picker
- Fixed in-firmware shutdown for some systems running OpenDuet
- Added Zero as alias hotkey for Escape, to force show picker if hidden
- Added =/+ key as alias for CTRL to set default OS
- Added additional support for configuring correct key repeat behaviour with KeySupport mode
- Fixed CPU multiplier detection on pre-Nehalem Intel CPUs
- Fixed incorrect handling of multiple processors and processor cache in SMBIOS
- Matched default Apple boot picker cursor start position
- Updated OpenShell
devices
command to support misaligned device names returned by some Apple firmware - Added
(dmg)
suffix to DMG boot options in OpenCanopy - Added identifiers for Rocket Lake and Tiger Lake CPUs
- Added PickerAudioAssist 'disk image' indication
- Fixed PickerAudioAssist indications played twice in rare cases
- Improved OpenCanopy pointer acceleration
- Added more precise control on
AppleEvent
protocol properties and features - Added dynamic keyboard protocol installation on CrScreenshotDxe
- Support starting UEFI tools with argument support (e.g.
ControlMsrE2
) without arguments from picker - Fixed OpenCanopy font height calculation, may reject previously working fonts and mitigate memory corruption
- Fixed incorrect identification of Xeon E5XXX/E5-XXXX and Xeon WXXXX/W-XXXX CPUs
- Added RSDP, RSDT, and XSDT handling to
NormalizeHeaders
ACPI quirk
- Fixed ocvalidate return code to be non-zero when issues are found
- Added
OEM
values toPlatformInfo
inAutomatic
mode - Improved CPU frequency calculation on Haswell and earlier
- Fixed issues when applying certain patches
- Added
SSN
(andHW_SSN
) variable support - Added onscreen early logging in DEBUG builds for legacy firmware
- Added workaround for firmware not specifying DeviceHandle at bootstrap
- Added support for R/O page tables in
SetupVirtualMap
quirk - Added OEM preservation for certain Apple SMBIOS tables
- Fixed switching to graphics mode when entering OpenCanopy
- Fixed installing Apple FB Info protocol when no GOP exists
- Fixed abort timeout sound in OpenCanopy on key press
- Added
GopPassThrough
option to support GOP protocol over UGA - Fixed CPU speed rounding for certain Xeon and Core 2 CPUs
- Removed
KeyMergeThreshold
as it never functioned anyway - Added
acdtinfo
utility to lookup certain products - Fixed
FSBFrequency
calculation with fractional multiplier - Fixed showing core count for some AMD CPUs
- Added
ResetTrafficClass
to reset TCSEL to T0 on legacy HDA - Fixed default boot entry selection without timeout for builtin picker
- Added ocpasswordgen utility to generate OpenCore password data
- Added
ActivateHpetSupport
quirk to activate HPET support - Fixed
opencore-version
reporting the incorrect version in rare cases
- Added keyboard and pointer entry scroll support in OpenCanopy
- Added background image support in OpenCanopy
- Fixed selector boot option choice in OpenCanopy
- Relaxed selector dimensions for OpenCanopy
- Added
MaxBIOSVersion
option toGeneric
- Fixed MLB verification feature in macrecovery
- Replaced
VBoxHfs
driver withOpenHfsPlus
- Added audio codec dumping to
SysReport
- Fixed compatibility with page protection for all binaries
- Fixed crashes in OpenUsbKbDxe when handling unsupported devices
- Removed
HdaCodecDump
application in favor ofSysReport
- Added
SetApfsTrimTimeout
to tune APFS trim command - Changed
OpenCore.efi
to application to improve FW compatibility - Added
DisableSecurityPolicy
UEFI quirk to workaround driver loading - Added support for ranged widget connections in AudioDxe
- Fixed supplying non-RT
SetVirtualAddressMap
for non-macOS systems - Fixed using
SystemUuid
fromDataHub
in non-Automatic mode forSMBIOS
- Dropped failsafe defaults from
Generic
to match non-Automatic mode - Replaced
BootProtect
withLauncherOption
andLauncherPath
- Added
OpenPartitionDxe
with Apple Partition Management scheme - Improved ocvalidate checks in
Misc
,NVRAM
, andUEFI
sections - Fixed multiple flaws in EFI image loading, APFS driver in particular
- Fixed NVRAM
system-id
being accidentally stored in Little Endian format - Added
UseRawUuidEncoding
to choose SMBIOS UUID encoding style - Updated builtin firmware versions for SMBIOS and the rest
- Fixed installing OpenDuet on protected volumes
- Updated underlying EDK II package to edk2-stable202011
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed macrecovery server protocol compatibility
- Added basic audio assistant support in OpenCanopy
- Added compiled ACPI samples to the package
- Fixed timer resolution restoration at boot time
- Fixed memory capacity when using custom SMBIOS memory config
- Removed no longer required
DeduplicateBootOrder
quirk - Fixed macserial crashes when processing invalid serials
- Fixed macserial issues when processing 2021 year serials
- Added advanced error checking in ocvalidate utility
- Added
SetupDelay
to configure audio setup delay - Reworked LogoutHook.command to support older macOS
- Implemented MP3 audio decoding for audio assistant support
- Added support for
PickerVariant
for more theme variants - Added
OC_ATTR_HIDE_THEMED_ICONS
PickerAttribute
for Time Machine - Fixed OpenUsbKb compatibility with certain keyboards
- Added
BlacklistAppleUpdate
to fix macOS 11 broken update optout - Dropped HII services from OpenDuet improving size and performance
- Fixed patching of injected kexts in mkext
- Added support for launching from relative paths
- Added direct path passing for tools via
RealPath
- Allowed launching tools and entries in text mode via
TextMode
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed ACPI patches not applying if tables are in locked memory
- Fixed
EnableSafeModeSlide
on macOS 11 - Added
AllowRelocationBlock
quirk for older macOS and safe mode - Fixed CPU frequency calculation on AMD 19h family
- Updated recovery_urls
- Fixed
DisableSingleUser
quirk when Apple Secure Boot is enabled - Added
BootstrapShort
to workaround buggy Insyde firmware - Changed
Bootstrap(Short)
to choose dynamic entry (requires NVRAM reset) - Avoided
Boot
prefix inRequestBootVarRouting
to workaround AMI issues - Added bootloader patch support in
Booter
Patch
section - Fixed startup hang on firmware that permit timer function re-entrance
- Made pointer control optional for OpenCanopy via
PickerAttributes
- Added support for
StartupMute
variable inPlayChime
- Added support for per-volume icons for APFS on Preboot
- Removed HII dependency from OpenUsbKbDxe driver
- Fixed undefined behavior in OpenDuet causing random crashes and hangs
- Added support for xml comments in plist files
- Updated underlying EDK II package to edk2-stable202008
- Provide fallbacks for NULL memory SMBIOS strings
- Fixed
BOOTx64.efi
andBOOTIA32.efi
convention - Fixed SMBIOS handling with multiple memory arrays
- Fixed memory array handle assignment on empty slots
- Fixed CPUID patching on certain versions of macOS 10.4.10 and 10.4.11
- Fixed incorrect core/thread counts on Pentium M processors
- Added
SSDT-UNC.dsl
ACPI sample to resolve X99 issues, thx @RemB - Updated builtin firmware versions for SMBIOS and the rest
- Increased slide allocation reserve to 200 MB for Big Sur beta 10
- Fixed assert when trying to enable direct renderer on blit-only GOP
- Added support for custom memory properties
- Fixed intermittent 32-bit prelinking failures caused by improper Mach-O expansion
- Fixed failures in cacheless injection dependency resolution
- Fixed detection issues with older Atom CPUs
- Fixed
ScanPolicy
NVMe handling on MacPro5,1 - Fixed I/O issues on platforms incapable of reading over 1MB at once
- Fixed plist-only kext injection in Big Sur
- Add
ForceResolution
option for enabling non-default resolutions - Fixed Ps2MouseDxe not properly loading under OpenDuetPkg
- Added workaround for read-only errors on some X299 boards
- Added support for
x86legacy
Secure Boot model - Added missing Secure Boot NVRAM variables required by 11.0
- Added setting of
system-id
NVRAM variable - Added
ForceSecureBootScheme
quirk for virtual machines - Fixed kernel and ACPI patches failing to replace last bytes of memory
- Updated builtin firmware versions for SMBIOS and the rest
- Added
ProcessorType
option toGeneric
allowing custom CPU names - Fixed
UnblockFsConnect
option not working with APFS JumpStart - Added IA32 binary variant to the release bundles
- Fixed improper handling of cacheless kexts without an Info.plist
- Fixed improper calculation of kext startup address for blocking
- Added mkext 32-bit kext injection (10.4-10.6)
- Added cacheless 32-bit kext injection (10.4-10.7)
- Added 32-bit kernel/kext patching/blocking support
- Fixed issues loading 10.7 EfiBoot
- Added
Type
toReservedMemory
to fulfil hibernation hack needs - Added workaround to displaying
Preboot
instead ofMacintosh HD
- Added prelinkedkernel 32-bit kext injection (10.6-10.7)
- Added
SystemMemoryStatus
to override memory replacement on some models - Added older Pentium CPU recognition in SMBIOS
- Added
ExtendBTFeatureFlags
to properly setFeatureFlags
for Bluetooth (which substitutes BT4LEContinuityFixup) - Added
MinKernel
/MaxKernel
to CPUID emulation andDummyPowerManagement
- Fixed
-legacy
not being added inKernelArch
Auto
mode - Fixed
i386-user32
not forcingi386
on macOS 10.7 on X64 firmware - Fixed
i386-user32
being incorrectly enabled in macOS 10.4, 10.5, and 10.7 - Disabled prelinked boot for macOS 10.4 and 10.5 in
KernelCache
Auto
mode - Fixed
macserial
compatibility with iMac20,x serials and other models from 2020 - Added
LegacyCommpage
quirk to improve pre-SSSE3 userspace compatibility - Fixed legacy SATA HDDs displaying as external drives in the picker
- Improved recognition of early pressed hotkeys, thx @varahash
- Made DMG loading support configurable via
DmgLoading
- Added iMac20,1 and iMac20,2 model codes
- Fixed display name for older Xeon CPUs like Xeon E5450
- Added Comet Lake-LP HDA device code
- Fixed OS boot selection on SATA controllers with legacy OPROMs
- Fixed RSDP ACPI table checksum recalculation
- Added immutablekernel loading support for 10.13+
- Fixed solving some symbols to zero in 11.0 kext inject
- Reduced OpenCanopy size by restricting boot management access
- Added
BuiltinText
variant forTextRenderer
for older laptops - Fixed
SyncRuntimePermissions
creating invalid MAT table - Added EFI FAT image loading support (macOS 10.8 and earlier)
- Added 64-bit cacheless kext injection and patching support (macOS 10.9 and earlier)
- Added 64-bit mkext kext injection and patching support (macOS 10.6 and earlier)
- Fixed XNU hook matching non-kernel files
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed patching of ACPI tables in low memory
- Fixed macOS 11.0 DMG recovery loading without hotplug
- Fixed
XhciPortLimit
quirk on 10.12.6 and possibly other versions - Fixed
IncreasePciBarSize
quirk on 10.11.5 and possibly other versions - Fixed
LapicKernelPanic
quirk on 10.8.5 and possibly other versions - Fixed hard-lock caused by EHCI SMI in OpenDuetPkg
- Added preview UEFI Secure Boot compatibility
- Added
FuzzyMatch
option to support fuzzy kernelcache matching on 10.6 and earlier - Added
KernelArch
option to specify architecture preference on older kernels - Added
KernelCache
option to specify kernel caching preference for older kernels - Added
Force
section to provide support for injecting drivers in older macOS - Changed kernel driver injection to happen prior to kernel driver patching
- Added
Arch
filtering option toAdd
,Block
,Force
, andPatch
sections - Added
DisableLinkeditJettison
quirk to workaround 11.0b5 kernel panics - Added debugging of missing fields in the configuration
- Fixed sound corruption with AudioDxe
- Fixed icon choice for Apple FW update in OpenCanopy
- Fixed APFS driver loading on Fusion Drive
- Added Comet Lake HDA device code
- Fixed audio stream position reporting on non-Intel platforms
- Added
Firmware
mode toResetSystem
to reboot into preferences - Replaced
BlacklistAppleUpdate
withrun-efi-updater
NVRAM variable - Fixed reset value and detection in
FadtEnableReset
ACPI quirk - Fixed freezes during boot option expansion with PXE boot entries
- Updated underlying EDK II package to edk2-stable202005
- Added
ProvideMaxSlide
quirk to improve laptop stability, thx @zhen-zen - Fixed slide choice on platforms when 0 slide is unavailable, thx @zhen-zen
- Fixed assertions caused by unaligned file path access in DEBUG builds
- Renamed
ConfigValidity
utility toocvalidate
for consistency - Added
GlobalConnect
for APFS loading to workaround older firmware issues - Added 11.0 support for
AvoidRuntimeDefrag
Booter quirk - Fixed 11.0 lapic kernel quirk as of DP1
- Improved boot selection scripts for macOS without NVRAM
- Added UGA protocol compatibility in
ProvideConsoleGop
quirk - Added
UgaPassThrough
option to support UGA protocol over GOP - Added
AppleFramebufferInfo
protocol implementation and override - Fixed serial initialisation when file logging is disabled
- Fixed FSBFrequency reporting on Meron and similar CPUs
- Fixed incorrect volume icon dimension requirements in OpenCanopy
- Added preview version of KernelCollection injection code
- Fixed ACPI reset register detection in DxeIpl
- Added MacBookPro16,4 model code
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed OSXSAVE reporting when emulating CPUID on newer CPUs
- Added
SerialInit
option to perform serial initialisation separately - Fixed OpenDuetPkg booting on Intel G33 with SATA controller in RAID mode
PlatformInfo
Automatic
for all models- Fixed 32-bit OpenDuetPkg booting on machines with over 4 GBs of RAM
- Fixed delays with OpenDuetPkg booting with certain SATA controllers in IDE mode
- Fixed display name for some high core count i9 CPUs like 7920X
- Fixed SSDT-EC-USBX
- Added full HiDPI support in OpenCanopy
- Improved OpenCanopy font rendering by using CoreText
- Fixed light and custom background font rendering
- Added
Boot####
options support in boot entry listing - Removed
HideSelf
by pattern recognisingBOOTx64.efi
- Added
BlacklistAppleUpdate
to avoid Apple FW updates - Fixed accidental tool and NVRAM reset booting by default
- Fixed unrecognised select
com.apple.recovery.boot
entries - Changed NVRAM reset not to erase
BootProtect
boot options - Improved boot performance when picker UI is disabled
- Enforced the use of builtin picker when external fails
- Fixed warnings for empty NVRAM variables (e.g. rtc-blacklist)
- Added
ApplePanic
to store panic logs on ESP root - Fixed
ReconnectOnResChange
reconnecting even without res change - Fixed OpenCanopy showing internal icons for external drives
- Fixed OpenCanopy launching Shell with text over it
- Added partial hotkey support to OpenCanopy (e.g. Ctrl+Enter)
- Added builtin text renderer compatibility with Shell page mode
- Fixed
FadtEnableReset
with too small FACP tables and some laptops - Fixed CPU detection crash with QEMU 5.0 and KVM accelerator
- Removed
RequestBootVarFallback
due to numerous bugs - Added
DeduplicateBootOrder
UEFI quirk - Removed
DirectGopCacheMode
due to being ineffective - Fixed assertions on log exhaustion causing boot failures
- Fixed builtin text renderer failing to provide ConsoleControl
- Fixed compatibility with blit-only GOP (e.g. OVMF Bochs)
- Fixed ignoring
#
in DeviceProperty and NVRAMDelete
- Renamed
Block
toDelete
inACPI
,DeviceProperties
, andNVRAM
- Added MacBookPro16,2 and MacBookPro16,3 model codes
- Added PCI device scanning policy support (e.g. VIRTIO)
- Improved playback performance in AudioDxe
- Updated builtin firmware versions for SMBIOS and the rest
- Added improved CPU type detection for newer CPU types
- Added ConfigValidity utility and improved config validation
- Added serial port initialisation for serial debug logging
- Disabled empty debug log file creation to avoid ESP cluttering
- Added
TscSyncTimeout
quirk to workaround debug kernel assertions - Added first-class Windows support to bless model
- Fixed
LapicKernelPanic
kernel quirk on 10.9 - Added prebuilt version of
CrScreenshotDxe
driver - Fixed Hyper-V frequency detection compatibility
- Added
SysReport
option for DEBUG builds to dump system info - Fixed crashes on some AMD firmware when performing keyboard input
- Fixed invalid CPU object reference in SSDT-PLUG
- Fixed incorrect utilities and resources packaging
- Fixed
Custom
UpdateSMBIOSMode
modifying SMBIOSv3 table - Updated docs to cover separating SMBIOS via
UpdateSMBIOSMode
- Fixed rendering macOS installer icons in OpenCanopy
- Added APFS support with Fusion Drive and enhanced security
- Added AppleEvent mouse support in OpenCanopy
- Fixed AppleEvent and OpenCanopy compatibility with OVMF TPL restrictions
- Added mouse drivers to the package as OVMF needs one
- Added memory region reservation support
- Added RtcRw tool to manipulate RTC memory
- Added
PatchAppleRtcChecksum
kernel quirk - Added
AppleRtcRam
protocol implementation - Renamed
Protocols
toProtocolOverrides
for clarity - Added ResetSystem tool to allow shutdown/reset actions in the menu
- Added experimental
BootProtect
Security
option - Fixed kext injection in 10.8 installer
- Added timeout support to OpenCanopy user interface
- Fixed handling 24-bit screen resolutions
- Added
Ps2KeyboardDxe
driver for DuetPkg - Updated
BootInstall
DuetPkg version (now opensource) - Added partial HiDPI support in OpenCanopy
- Update builtin firmware
- Fixed invalid checksum checks when creating vault (thx @dakanji)
- Added TimeMachine detection to picker
- Added early preview version of OpenCanopy
- Fixed FS discovery on NVMe with legacy drivers
- Added
DirectGopCacheMode
option for FB cache policy - Added
KeyFiltering
option to workaround buggy KB drivers - Added tool and custom entry separation in audio assistant
- Added
OpenControl
tool to configure full NVRAM access from Shell - Added
boot.efi
debug protocol support for 10.15.4+ - Added
boot.efi
performance logging for 10.15.4+ - Added
ProtectUefiServices
quirk to fixDevirtualiseMmio
on Z390 - Replaced
BOOTCAMP Windows
withWindows
to match the original - Added bundled
OpenShell
originally available as OpenCoreShell - Rework
readlabel
utility intodisklabel
with encoding support - Renamed
FwRuntimeServices
driver toOpenRuntime
- Renamed
AppleUsbKbDxe
driver toOpenUsbKbDxe
- Update builtin firmware
- Fixed
PowerTimeoutKernelPanic
on 10.15.4 - Fixed 4K section alignment in
OpenRuntime
to fix Linux booting on SKL - Introduced
SyncRuntimePermissions
to fix multiple memory permission flaws - Introduced
RebuildAppleMemoryMap
to fix macOS booting on Dell 5490 - Removed
ShrinkMemoryMap
in favour of more advancedRebuildAppleMemoryMap
- Marked
EnableWriteUnprotector
as deprecated on modern systems - Introduced
ProtectMemoryRegions
to fix memory region handling - Removed
ProtectCsmRegion
in favour ofProtectMemoryRegions
- Renamed
PickerAttributes
toConsoleAttributes
- Introduced
PickerAttributes
as a matter of UI configuration
- Various improvements to builtin text renderer
- Fixed locating DMG recovery in APTIO IV firmware on FAT32
- Fixed loading DMG recovery in APTIO IV firmware on FAT32
- Removed
AvoidHighAlloc
quirk due to removed I/O over 4GB - Moved
ConsoleMode
,Resolution
options toOutput
section - Moved console-related UEFI quirks to
Output
section - Replaced
ConsoleControl
andBuiltinTextRenderer
withTextRenderer
- Removed
ConsoleBehaviourOs
andConsoleBehaviourUi
- Fixed providing ConsoleOutHandle GOP when running from Shell
- Added
PickerAttributes
option to colour picker - Added
ProtectSecureBoot
option through FwRuntimeServices - Replaced
RequireVault
andRequireSignature
withVault
- Added
BootKicker
tool to support launching Apple BootPicker - Added BootPicker support as an external UI in OC through
PickerMode
- Added
DirectGopRendering
option to use direct GOP output - Multiple memory corruption and performance fixes for PNG support
- Fixed
DefaultBackgroundColor
variable handling - Added
HideAuxiliary
andAuxiliary
options - Fixed picker timeout and log timestamps for VMware
- Fixed NULL parent DeviceHandle for launched tools
- Added bundled HiiDatabase driver for very old firmware
- Added SSE2 support in memory intrinsics for better performance
- Improved ACPI PM timer CPU frequency calculation performance
- Improved LapicKernelPanic compatibility with newer macOS versions
- Fixed drivers starting with
#
not being skipped - Added audio support through AudioDxe with optional boot chime
- Added VoiceOver accessability support in boot.efi for 10.13+
- Added
PickerAudioAssist
option for audio assistance in picker - Added
HdaCodecDump.efi
tool in default package - Added legacy AudioDxe and Microsoft namespaces to Reset NVRAM
- Merged
OcSupportPkg
withOpenCorePkg
for easier bisection - Disabled warnings in release versions of NVMe and XHCI drivers
- Fixed CPU bus ratio calculation for Nehalem and Westmere
- Fixed CPU package calculation on MacPro5,1 and similar
- Improved OpenCore rerun detection for new versions
- Fixed loading picker on boot failure when it is hidden
- Added PMC ACPI sample for 300-series chipsets
- Improved driver connection performance on APTIO IV
- Fixed boot option saving in LogoutHook.command
- Added support for OEM information in
ExposeSensitiveData
- Improved
SanitiseClearScreen
to avoid mode switching - Replaced
SupportsCsm
withAdviseWindows
enabling UEFI mode - Fixed issues with default boot path selection on some boards
- Update builtin firmware versions
- Fixed
AdviseWindows
not settingFirmwareFeatures
in NVRAM - Added
TakeoffDelay
option for improved action hotkey support - Added Mac GOP support to
ProvideConsoleGop
quirk - Added experimental
BuiltinTextRenderer
boot option - Added
DummyPowerManagement
kernel quirk to disable CPU PM
- Added Enter key handling in boot menu for quick proceed
- Update builtin firmware versions
- Bundled FwRuntimeServices driver with OpenCore
- Allowed writing to non-volatile variables with disabled write
- Fixed microcode reading on Intel CPUs
- Fixed SMBIOS Type4 External Clock values
- Improved Windows compatibility on some setups (acidanthera/bugtracker#614)
- Added
SupportsCsm
and option inPlatformInfo/Generic
- Added
OSInfo
protocol support - Added
SignalAppleOS
Booter
quirk to enable IGPU on Macs in other OS - Added
AppleSmcIo
protocol support (replacesVirtualSmc
UEFI driver) - Added
AuthRestart
security property for VirtualSMC authenticated restart - Fixed input protocol initialisation on VMware fusion
- Added arrow key handling in boot menu
- FileVault 2-like key input is now the only supported input in boot menu
- Fixed 5 second delay when exiting Shell to OpenCore Picker
- Added default boot option update and
AllowSetDefault
Security
option - Fixed CPU package detection on configurations with multiple CPUs
- Bundled CleanNvram and VerifyMsrE2 tools for debugging
- Added screen clearing after choosing boot entry in picker
- Added
WriteFlash
NVRAM option to enable writing variables inAdd
- Added
LegacyOverwrite
NVRAM option to allow overwriting variables by nvram.plist - Added
AppleXcpmForceBoost
kernel quirk to maximise select Xeon performance - Bundled NvmExpressDxe and XhciDxe drivers for platforms that need them
- Added
IncreasePciBarSize
kernel quirk for select platforms with PCI space issues
- Update builtin firmware versions
- Fixed interpreting letters in boot menu
- Fixed timeout abortion with PollAppleHotKeys quirk
- Fixed rare kext injection failure due to plist-only kext in prelinkedkernel
- Fixed error reporting for dmg loading
- Added various debugging improvements
- Added new crypto stack resulting in vault key format changes
- Added
UnblockFsConnect
UEFI quirk to fix missing filesystems on some laptops - Added
RequestBootVarFallback
UEFI quirk to circumvent firmware boot option issues - Added
ThirdPartyDrives
kernel quirk fixing SSD trim and 10.15 SATA hibernation (thx @lvs1974) - Removed
ThirdPartyTrim
kernel quirk in favour ofThirdPartyDrives
- Added Intel Xeon E5 (Broadwell-EP) support (thx @crazyi)
- Switched to edk2-stable201911, which is now the minimum supportd EDK II version
- Fixed
MinKernel
andMaxKernel
logic (thx @dhinakg, @reitermarkus) - Fixed ASSERT when booting non-Apple OSes without arguments from the DEBUG version
- Added
MmioWhitelist
configuration option - Added
PowerTimeoutKernelPanic
kernel quirk - Fixed erratic cursor appearing in release builds
- Moved
ReconnectOnResChange
to a user-configurable quirk to avoid freezes - Added OpenCore version to picker ui, configured by
ExposeSensitiveData
- Added hypervisor CPUID support to work with virtualization (thx @Leoyzen)
- Added support of kernel resource kext injection
- Added support for 0.25% clock slowdown on Xeon Scalable CPUs (thx @mrmiller)
- Replaced
MatchKernel
withMinKernel
andMaxKernel
- Added
Arguments
toTools
andEntries
sections - Fixed broken timer for 300 series Intel chipsets
- Added
Input
section for mouse and keyboard aggregation
- Added builtin firmware versions for new models 2019
- Fixed LogoutHook leaving random directories in
$HOME
- Fixed FSBFrequency calculation on Xeon Scalable CPUs (thx @mrmiller)
- Fixed ARTFrequency specifying on Intel server and atom models
- Increased log size to 256 KB by default
- Added
ReplaceTabWithSpace
quirk to improve Shell experience - Added
ClearScreenOnModeSwitch
quirk to avoid visual glitches - Added
MISC_PWR_MGMT
patch toAppleXcpmExtraMsrs
quirk (thx @mrmiller) - Added
DevirtualiseMmio
quirk toBooter
section - Added FileVault 2 user interface protocols formerly in AppleUiSupport
- Improved kernel patch logging to include configuration comments
- Added MSFT basic data and Linux root fs recognition to
ScanPolicy
- Fixed RT region protection restoration regression (thx Sniki)
- Added
OPT
,CMD+R
,CMD+OPT+P+R
boot action hotkey support - Added
PollAppleHotKeys
to register boot.efi hotkeys in the picker - Added
DisableSingleUser
quirk to prohibit single user mode - Upgraded EDK II base package to edk2-stable201908
- Prohibited argument changing by BootNext
- Fixed kext injection issues with dummy dependencies
- Fixed kext injection issues with reused vtables
- Fixed Custom SMBIOS table update patches
- Added timestamp to the log file and changed extension to txt
- Enhanced
LogoutHook
script used for emulated NVRAM saving - Fixed multiple operating system support in APFS containers
- Added
AvoidHighAlloc
UEFI quirk to avoid high memory allocs - Updated builtin firmware versions for 10.15 beta support
- Added
Booter
section for Apple bootloader preferences - Dropped
AptioMemoryFix.efi
support forBooter
andFwRuntimeServices.efi
- Fixed hibernation issues in Windows with
RequestBootVarRouting
- Significantly improved boot stability on APTIO
- Added support for Windows & OpenCore on the same drive through
BlessOverride
- Added advanced user-specified boot entries through
Misc
->Entries
- Added
DisableVariableWrite
quirk to disable hardware NVRAM write in macOS
- Added complete modern platform database (2012+)
- Added
DisableIoMapper
kernel quirk - Fixed ACPI modification failures with nested multiboot
- Dropped
IgnoreForWindows
quirk legacy - Added basic AMD Zen CPU support
- Added
Misc
->Tools
section to add third-party tools - Added
Kernel
->Emulate
section for CPUID patches - Added
CustomSMBIOSGuid
quirk for Custom SMBIOS update mode - Added
PanicNoKextDump
quirk to avoid kext dump in panics - Switched to EDK II stable and reduced image size
- Added
LapicKernelPanic
kernel quirk - Added
AppleXcpmExtraMsrs
quirk and improved XCPM patches - Added
(external)
suffix for external drives in boot menu - Added
UsePicker
option, do enable for OC boot management - Added nvram.plist loading for legacy and incompatible platforms
- Improved instructions for legacy and Windows installation
- Added Windows Boot Camp switching support
- Added basic hibernation detection & support
- Added
ResetHwSig
ACPI quirk to workaround hibernation - Removed
Custom
subfolder requirement fromACPI
tables - Fixed kext injection in 10.7.x and 10.8.x
- Added ESP partition type detection to ScanPolicy
- Added support for third-party user interfaces
- Documentation improvements (see Differences.pdf)
- Platform information database updates
- Fixed misbehaving
Debug
->Target
enable bit - Added
ResetLogoStatus
ACPI quirk - Added
SpoofVendor
PlatformInfo feature - Replaced
ExposeBootPath
withExposeSensitiveData
- Added builtin implementation of Data Hub protocol
- Dropped
UpdateSMBIOSMode
Auto
mode in favour ofCreate
- Fixed SMBIOS CPU detection for Xeon and Core models
- Moved
ConsoleControl
configuration toProtocols
- Added
Security
->ScanPolicy
preference - Fixed invalid
board-rev
exposure in Data Hub - Fixed SMBIOS Type 133 table exposure
- Added support for SMBIOS Type 134 table exposure
- Initial developer preview release