OpenCore 0.9.5 正式版黑苹果OC引导器(新一代黑苹果引导)
官方正式版最新黑苹果引导器OpenCore,简称OC,目前可以正常引导各种黑苹果。
主要特征:
- Apple磁盘映像加载支持
- 苹果键盘输入汇总
- Apple PE图像签名验证
- Apple UEFI安全启动补充代码
- 带有屏幕阅读支持的音频管理
- 基本的ACPI和SMBIOS操作
- 通过计时器支持收集CPU信息
- 加密原语(SHA-256,RSA等)
- 解压缩原语(zlib,lzss,lzvn等)
- ACPI的辅助代码读取和修改
- 文件,字符串,UEFI变量的高级抽象
- 溢出检查算法
- 没有UEFI安全启动冲突的PE映像加载
- Plist配置格式解析
- PNG图像处理
- 文本输出和图形输出实现
- XNU内核驱动程序注入和补丁引擎
v0.9.5
- Fixed GUID formatting for legacy NVRAM saving
- Fixed inability to open files in root directory on an NTFS filesystem
- Fixed hang while unloading NTFS driver
- Added UEFI quirk
ShimRetainProtocol
, allowing OpenCore chained from shim to verify Linux using shim’s certificates - Added
OpenLegacyBoot
driver for supporting legacy OS booting - Added
shim-make.tool
to download and build rhboot/shim, for Linux SBAT and MOK integration
v0.9.4
- Fixed kext blocker
Exclude
strategy for prelinked on 32-bit versions of macOS - Fixed
ForceAquantiaEthernet
quirk on macOS 14 beta 2, thx @SHikumo - Added
InstanceIdentifier
to OpenCore and option to target.contentVisibility
to specific instances (thx @dakanji) - Improved
LapicKernelPanic
quirk on legacy versions of macOS - Allowed
.contentVisibility
in same boot FS root locations as.VolumeIcon.icns
, in order to survive macOS updates - Fixed incorrect core count on Silvermont Atom/Celeron processors
- Fixed PM timer detection on Silvermont Atom/Celeron processors for TSC calculations
- Fixed PM timer detection on non-Intel chipsets when booted through OpenDuet
- Fixed
FadtEnableReset
on NVIDIA nForce chipset platforms - Added BlockIoDxe alternative OpenDuet variant
- Added support for ATI cards when using
ForceResolution
option
v0.9.3
- Added
--force-codec
option to AudioDxe, thx @xCuri0 - Downgraded additional warning message in normal operation of emulated NVRAM to info
- Disabled not present DVL0 device in SSDT-SBUS-MCHC by default, thx @stevezhengshiqi
- Added EFI mandated box drawing, block element and arrow characters to
Builtin
renderer console font - Improved support for overlong menu entries and very narrow console modes in builtin picker
- Made
Builtin
text renderer ignore UI Scale, when required to ensure that text mode reaches minimum UEFI supported size of 80×25 - Added save and restore of text and graphics mode round tools and failed boot entries
- Updated out-of-range cursor handling to work round minor display issue in memtest86
- Added optional
--enable-mouse-click
argument toCrScreenshotDxe
driver to additionally respond on mouse click - Added
--use-conn-none
option toAudioDxe
driver to discover additional usable output channels on some systems - Added
PciIo
protocol override used to fix Aptio IV compatiblity with Above 4G BARs, thx @xCuri0 - Fixed
AppleXcpmForceBoost
quirk on macOS 14 - Updated builtin firmware versions for SMBIOS and the rest
- Added
ConsoleFont
option to load custom console font forBuiltin
renderer - Improved
XhciPortLimit
quirk on macOS 11 to 14
v0.9.2
- Added
DisableIoMapperMapping
quirk, thx @CaseySJ - Fixed disabling single user mode when Apple Secure Boot is enabled
- Improved guard checks for
GopBurstMode
on systems where it’s not needed - Improved compatibility of
GopBurstMode
with some very non-standard GOP implementations - Fixed possible hang with
GopBurstMode
enabled on DEBUG builds - Enabled
GopBurstMode
even with natively supported cards, in EnableGop firmware driver - Fixed inability to patch force-injected kexts
- Fixed
ExternalDiskIcons
quirk on macOS 13.3+, thx @fusion71au - Fixed various recent reversions and some longer-standing minor bugs in
Builtin
text renderer - Applied some additional minor optimizations to
Builtin
text renderer - Implemented
InitialMode
option to allow fine control over text renderer operating mode - Added support for
ConsoleMode
text resolution setting toBuiltin
renderer - Fixed regression for ACPI quirks
RebaseRegions
andSyncTableIds
- Updated build process to provide stable and bleeding-edge versions of
EnableGop
- Implemented minor improvements in
PickerMode
Apple
- Improved filtering algorithm for
LogModules
and added?
filter for matching non-standard log lines - Fixed crash when gathering system report on virtualised CPUs
- Fixed unnecessary warning when first booting with emulated NVRAM
v0.9.1
- Fixed long comment printing for ACPI patches, thx @corpnewt
- Added sample config for VS Code source level debugging with
gdb
- Updated builtin firmware versions for SMBIOS and the rest
- Added GOP memory caching report to
SysReport
- Implemented
GopBurstMode
quirk for faster GOP operation on older firmware - Fixed
ThirdPartyDrives
quirk on macOS 13.3 and above
v0.9.0
- Resolved issues with verbose boot log appearing over picker graphics
- Added version number to EnableGop UI section, so tool builders can track it
- Added
ProvideCurrentCpuInfo
support for macOS 13.3 DP - Added AMD support, GOP offset auto-detection and macOS 10.11+ support to EnableGop vBIOS insertion script
- Included precompiled EDK-II
EfiRom
andGenFfs
inUtilities/BaseTools
with OpenCore releases
v0.8.9
- Improved debug logging when applying ACPI patches
- Fixed loading macOS with legacy boot without Apple Secure Boot
- Added Linux support to legacy boot BootInstall script
- Updated builtin firmware versions for SMBIOS and the rest
- Fixed incomplete console mode initialisation when started in graphics mode
- Provided additional UEFI forge mode, for use in firmware drivers
- Implemented firmware driver enabling pre-OpenCore graphics on non-natively supported GPUs on EFI-era Macs
- Prevented unwanted clear screen to console background colour when in graphics mode
- Added
ResizeUsePciRbIo
quirk to workaround broken PciIo on some UEFI firmwares, thx @xCuri0 - Fixed crash while using
SysReport
on older Atom systems - Fixed kexts without a Contents folder not being patched during a cacheless boot
- Added read-only sections (
.rdata
) to all drivers for better memory protection when supported - Fixed crash while using
SysReport
on systems with non-audio HDA codecs - Fixed debug script support for GDB and LLDB
- Fixed legacy boot debug builds asserting on macOS loading
v0.8.8
- Updated underlying EDK II package to edk2-stable202211
- Updated AppleKeyboardLayouts.txt from macOS 13.1
- Updated builtin firmware versions for SMBIOS and the rest
- Updated ocvalidate to allow duplicate tool if FullNvramAccess is different
- Fixed
Kernel
->Block
entries not being processed if one was skipped due toArch
- Fixed intermittent prelinking failures caused by XML corruption when kext blocking is enabled
- Removed magic Acidanthera sequence from OpenCore files used for picker hiding
- Added
.contentVisibility
to hide and disable boot entries - Added Linux support to QemuBuild.command used for Duet debugging
- Built in new secure PE/COFF loader
- Added prebuilt mtoc universal binary with Apple Silicon support
- Corrected OpenDuet build on Apple Silicon
- Added SD card device path support for boot device selection
v0.8.7
- Removed unwanted clear screen when launching non-text boot entry
- Fixed TSC/FSB for AMD CPUs in ProvideCurrentCpuInfo, thx @Shaneee
- Added
Misc
->Boot
->HibernateSkipsPicker
not to show picker if waking from macOS hibernation - Changed macrecovery to download files into
com.apple.recovery.boot
by default, thx @dreamwhite - Supported Apple builtin picker (using
BootKicker.efi
orPickerMode
Apple
) when running GPUs without Mac-EFI support on units such as the MacPro5,1 (thx @cdf, @tsialex) - Enabled
PickerMode
Apple
to successfully launch selected entry - Enabled
BootKicker.efi
to successfully launch selected entry (via reboot) (thx @cdf) - Added spoof proof UEFI 2.x checking to OpenVariableRuntimeDxe, thx @dakanji
v0.8.6
- Updated NVRAM save script for compatibilty with earlier macOS (Snow Leopard+ tested)
- Updated NVRAM save script to automatically install as launch daemon (Yosemite+) or logout hook (older macOS)
- Fixed maximum click duration and double click speed for non-standard poll frequencies
- Added support for pointer dwell-clicking
- Fixed recursive loop crash at first non-early log line on some systems
- Fixed early log preservation when using unsafe fast file logging
- Updated builtin firmware versions for SMBIOS and the rest
- Resolved wake-from-sleep failure on EFI 1.1 systems (including earlier Macs) with standalone emulated NVRAM driver
- Updated macrecovery commands with macOS 12 and 13, thx @Core-i99
- Updates SSDT-BRG0 with macOS-specific STA to avoid compatibility issues on Windows, thx @Lorys89
- Fixed memory issues in OpenLinuxBoot causing crashes on 32-bit UEFI firmware
v0.8.5
- Updated builtin firmware versions for SMBIOS and the rest
- Moved CPU objects that exist only in Windows Server 2022 into
SSDT-HV-DEV-WS2022.dsl
- Updated Hyper-V device path expansion to support hot add/remove of disks
- Improved verbose logging during kernel patching
v0.8.4
- Added checks for
Driver
->LoadEarly
in ocvalidate - Added
FullNvramAccess
option for tools which require direct access to NVRAM - Replaced
SSDT-HV-CPU.dsl
withSSDT-HV-DEV.dsl
for compatiblity with older macOS versions on Windows 10 and newer - Updated builtin zlib library to 1.2.12
- Changed ocpasswordgen not to print characters on password input
- Added ProcessKernel utility for testing kext injection based on configs
- Fixed crash while using
SysReport
on Pentium 4 systems - Fixed crash after ExitBootServices() is called while using DEBUG builds and file logging
- Fixed 32-bit userspace build support on macOS (use High Sierra 10.13 and below)
- Added basic set of NetworkPkg drivers with HTTP boot support
v0.8.3
- Added ext4 file system driver
- Added support for macOS 13 DP3 Kernel Collection
- Added
--force-device
option to AudioDxe, allowing UEFI audio on HDA contollers which misreport themselves as non-HDA audio devices - Provided optional unsafe fast file logging (suitable only for firmware with a fully compliant FAT32 driver)
- Fixed incorrect OSBundleLibraries_x86_64 handling during cacheless injection
- Changed RsaTool not to link against system ssl on macOS
- Fixed crash during cacheless injection when kext blocking is enabled
- Removed default codec connection delay from AudioDxe
- Added optional
--codec-setup-delay
argument to AudioDxe - Changed units of
Audio
->SetupDelay
from microseconds to milliseconds (divide previous value by 1000 if using this setting) - Fixed incorrect FAT binary slice being selected under macOS 10.4.11 when performing a cacheless boot
- Fixed rare assertion caused by label animation initialisation in OpenCanopy
- Added
--show-csr
option forToggle SIP
boot menu entry - Added macOS 10.4 and 10.5 support to
AllowRelocationBlock
Booter quirk - Added CPU cache info injection for macOS 10.4 to
ProvideCurrentCpuInfo
quirk - Added emulated NVRAM driver for use separately from OpenDuet
- Added support for NVRAM reset and set default boot entry when using emulated NVRAM
- Upgraded emulated NVRAM logout script to allow unsupervised installation of recent macOS OTA updates
- Added
Driver
->LoadEarly
for drivers which need to be loaded before NVRAM init
v0.8.2
- Fixed
AppleCpuPmCfgLock
on macOS 13 - Fixed
DummyPowerManagement
on macOS 13 - Updated builtin firmware versions for SMBIOS and the rest
- Added macOS 13 support for
AvoidRuntimeDefrag
Booter quirk - Added injected kext bundle version printing in DEBUG builds
- Added Linux compatibility for CreateVault scripts
v0.8.1
- Improved
ExtendBTFeatureFlags
quirk on newer macOS versions, thx @lvs1974 - Added notes about DMAR table and
ForceAquantiaEthernet
, thx @kokowski - Added System option in
LauncherOption
property, thx @stevezhengshiqi - Updated note about
CustomPciSerialDevice
, thx @joevt - Added read-only driver for NTFS
- Switched
Reset NVRAM
andToggle SIP
to configurable boot entry protocol drivers - Supported optional Apple firmware-native NVRAM reset, thx @syncretic
- Supported NVRAM reset optionally retaining BIOS boot entries
- Supported user specified
csr-active-config
value for Toggle SIP - Added optional
Enabled
andDisabled
flavours forToggle SIP
(allows theme designers to provide distinct icons) - Added PIIX4 ACPI PM timer detection for TSC calculations on Hyper-V Gen1 VMs
v0.8.0
- Added support for early log preservation
- Switched to Python 3 in scripts (use
python /path/to/script
to force Python 2) - Added
ForceAquantiaEthernet
for Aquantia AQtion AQC-107s based 10GbE network cards support, thx @Mieze and @Shikumo - Updated builtin firmware versions for SMBIOS and the rest
- Added
Misc
->Serial
section to customise serial port properties - Added
CustomPciSerialDevice
quirk for XNU to correctly recognise customised external serial devices
v0.7.9
- Added auto-detect
macOS Installer
volume name for use when.disk_label
file cannot be displayed - Added
--restore-nosnoop
flag to AudioDxe, making v0.7.7 fix for Windows sound opt-in - Added new method to disable trim when
SetApfsTrimTimeout
is set to zero - Fixed
SetApfsTrimTimeout
on macOS 12 (only works when set to zero) - Added script to build qemu recovery images to macrecovery
- Fixed selecting
SecureBootModel
on hypervisors (should bex86legacy
) - Added kext blocking
Strategy
for prelinked and newer - Added global MSR 35h fix to
ProvideCurrentCpuInfo
, allowing-cpu host
in KVM - Fixed potential memory corruption with AVX acceleration enabled
- Added
LogModules
for positive and negative log filtering by modules - Renamed OpenLinuxBoot driver argument from
partuuidopts:{PARTUUID}
toautoopts:{PARTUUID}
- Supported booting Linux from stand-alone
/boot
partition without/loader/entries
files (user must specify full kernel boot options) - Handled XML entities in driver arguments
- Updated underlying EDK II package to edk2-stable202202
v0.7.8
- Updated ocvalidate to warn about insecure
DmgLoading
with secureSecureBootModel
(already disallowed in runtime) - Fixed AudioDxe not disabling unused channels after recent updates
- Allow gain to track OS volume on old macOS without
SystemAudioVolumeDB
- Fixed crash on no mouse support when verifying password
- Fixed AppleInternal CSR bit being set with
ProvideCustomSlide
enabled - Added support for
.contentFlavour
and.contentDetails
files for boot entry protocol entries including OpenLinuxBoot - Added
LINUX_BOOT_ADD_RW
flag to OpenLinuxBoot to support e.g. EndeavourOS - Added
flags+=
andflags-=
arguments to OpenLinuxBoot to simplify setting driver flags if needed - Fixed OpenLinuxBoot entry name disambiguation when
LINUX_BOOT_USE_LATEST
flag is clear - Updated builtin firmware versions for SMBIOS and the rest
- Fixed crash in OpenLinuxBoot with partly (re-)installed Linux distro
- Improved robustness in malformed PE image file parsing
v0.7.7
- Fixed rare crash caused by register corruption in the entry point
- Added
ProvideCurrentCpuInfo
support for Intel Alder Lake - Fixed typo in
Cpuid1Data
recommendations for Intel Rocket Lake and newer - Updated builtin firmware versions for SMBIOS and the rest
- Updated underlying EDK II package to edk2-stable202111
- Resolved crashes in QEMU with AudioDxe
- Added AudioDxe settings caching (avoids non-needed setup delays)
- Added DisconnectHda quirk to allow UEFI sound on Apple hardware and others
- Added workarounds for bugs in QEMU
intel-hda
driver to allow UEFI sound in QEMU - Implemented multi-channel (e.g. bass+main speaker; speakers+headphones) UEFI sound with
AudioOutMask
- Fixed AudioDxe startup stalls when Nvidia HDA audio is present
- Resolved AudioDxe disabling sound in Windows on some firmware
- Added pointer polling period tuning in the builtin AppleEvent implementation
- Added pointer device list tuning in the builtin AppleEvent implementation
- Added VREF handling to support UEFI sound on more Apple hardware
- Updated audio output channel detection to support UEFI sound on more Apple hardware
- Added manual GPIO config (use
--gpio-setup
AudioDxe driver argument for UEFI sound on Apple hardware) - Switched UEFI audio levels to decibel gain to allow accurate matching of saved macOS volume levels
- Separated settings for minimum audio assist volume and minimum audible volume
v0.7.6
- 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
- Fixed handling PCI device paths with logical units in ScanPolicy
- Added
ReconnectGraphicsOnConnect
option for enabling alternative UEFI graphics drivers - Added BiosVideo.efi driver to use with
ReconnectGraphicsOnConnect
- Changed
FadtEnableReset
to avoid unreliable keyboard controller reset - Added
EnableVmx
quirk to allow virtualization in other OS on some Macs - Upgraded
ProtectUefiServices
to prevent GRUB shim overwriting service pointers when chainloading with Secure Boot enabled - Removed deprecated SSDT-PNLFCFL
- Fixed handling of zero-sized Memory Attributes Table
v0.7.5
- 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
v0.7.4
- 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
v0.7.3
- 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
v0.7.2
- 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
v0.7.1
- 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
v0.7.0
- 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
and.icns
support.icns - 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
/.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
v0.6.9
- 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
v0.6.8 这个版本使用了新的主题,需要更新你的主题!
- 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
v0.6.7
- 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
v0.6.6
- 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
v0.6.5
- 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
v0.6.4
- 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 firmwares - 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 firmwares allowong reentrance for timer functions
- 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
WARN: Upgrading to 0.6.4 may require additional steps when BootProtect
is set to Bootstrap
. For more details please refer to this instruction.
v0.6.3
- 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
v0.6.2
- 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 firmwares - 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
v0.6.1
- 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
v0.6.0
- 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
v0.5.9
- 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 firmwares when performing keyboard input
v0.5.8 2020-05-04正式版
- 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)
0.5.7 更新 2020-04-06正式版
- 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
v0.5.6更新:
- Various improvements to builtin text renderer
- Fixed locating DMG recovery in APTIO IV firmwares on FAT32
- Fixed loading DMG recovery in APTIO IV firmwares 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 firmwares
- 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
下载仅供下载体验和测试学习,不得商用和正当使用。