- Added
BlacklistAppleUpdate
to fix 11.0 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.0
- 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