Common Boot Args for macOS
Common boot flags for macOS used by OpenCore (and Clover)
Booting macOS requires some boot arguments. Boot args are also known as boot flags. There are several boot args used for different purposes. There are some common boot args and some are kext specific. This is a list of common boot boot args for macOS which can be used on OpenCore (and Clover) as well. (Some of the more common ones that I have come across are shown in bold.)
Common Boot Args
-v
Enables verbose mode. Replaces the progress bar below the Apple logo with a text output of the boot process.
Helpful to track the installation progress or when booting.
We recommend using this boot arg.
Once you're done with the installation and post-installation, you can disable this boot arg.
-s
Enables single-user mode.
Boots macOS in Terminal mode.
-x
Enables safe mode.
Boots macOS with a minimal set of system extensions and features.
Useful for reverting the root patches applied by OpenCore Legacy Patcher if they no longer work or if macOS won't boot after applying the patches.
-f
Enables cacheless booting.
Only applicable for Clover Bootloader. OpenCore uses a different option available in
Kernel>Scheme>KernelCache
. ChangeAuto
toCacheless
.Only applicable to OS X 10.6 to OS X 10.9.
debug=0x100
This disables macOS's watchdog which helps prevents a reboot on a kernel panic.
keepsyms=1
This is a companion setting to debug=0x100 that tells the OS to also print the symbols on a kernel panic.
This can give some more helpful insight as to what's causing the panic itself.
rootless=0
Enables Rootless Mode
Only valid on Yosemite.
slide=0
Offset to load kernel
dart=0
Disables VT-d
Drops OEM DMAR table.
Superseded by OpenCore's
DisableIoMapper
Quirk.
cpus=1
Enables Single CPU Core Mode.
-xcpm
Enables XCPM
Only required on OS X 10.11 and older
kext-dev-mode=1
Allows loading of unsigned kexts
Only valid on Yosemite
-disablegfxfirmware
To avoid firmware load endless loop
Only applicable to iGPUs.
-no_compat_check
Disables macOS compatibility checks.
Allows booting macOS with unsupported SMBIOS/board-ids.
Required for booting new macOS version on old hardware while using the old SMBIOS, which is considered obsolete by Apple.
A clean install isn't possible when using this boot arg. In addition, you cannot install system updates if this boot-arg is active.
npci=0x2000
Disables PCI debugging related to kIOPCIConfiguratorPFM64.
Required for all HEDT and a few 500 and 600 series Motherboards.
This issue can also fix stuck on "PCI Start Configuration Begin" as there are IRQ conflicts relating to PCI lanes.
This boot flag may cause a hang on systems where it is not required.
Do not use
npci=0x2000
andnpci=0x3000
together
npci=0x3000
Required for all HEDT and a few 500 and 600 series Motherboards.
Required where
npci=0x2000
is not compatibleThis issue can also fix stuck on "PCI Start Configuration Begin" as there are IRQ conflicts relating to PCI lanes.
This boot flag may cause a hang on systems where it is not required.
Do not use
npci=0x3000
andnpci=0x2000
together
nvda_drv=1
Enables loading of NVIDIA Drivers
Similar to Clover's NVIDIAWeb
nv_disable=1
Disables loading of NVIDIA Drivers.
If you're having NVIDIA GPU and cannot reach the installation screen or unable to boot into your Desktop after the installation, use this boot arg to disable the NVIDIA drivers and install the drivers at the time of postinstallation.
amfi=0x80 or
amfi_get_out_of_my_way=0x1
Use one or the other, as both do the same: Disables Apple Mobile File Integrity validation. Required for applying Root Patches with OCLP.
Kexts Specific
Lilu
-liludbgall
Enables debug printing in Lilu and all loaded plugins (available in DEBUG binaries).
-liluoff
Disables Lilu.
All other kexts relying on Lilu will not be injected when using this boot-arg.
Be careful when using this boot-arg. It's highly recommended not to use this boot-arg.
-liluuseroff
Disables Lilu user patcher (for e.g. dyld_shared_cache manipulations).
-liluslow
Enables legacy user patcher.
-lilulowmem
Disables kernel unpack (disables Lilu in recovery mode).
-lilubeta
Enables Lilu on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-lilubetaall
Enables Lilu and all loaded plugins on unsupported os versions (use very carefully).
-liluforce
Enables Lilu regardless of the mode, OS, installer, or recovery.
liludelay=1000
Adds 1 second (100ms) delay after each print for troubleshooting.
lilucpu=N
Spoofs CPU Generation.
The Nrefers to the following Intel generations:
4 - Sandy Bridge
5 - Ivy Bridge
6 - Haswell
7 - Broadwell
8 - Skylake
9 - Kaby Lake
10 - Coffee Lake
liludump=N
to let Lilu DEBUG version dump log to /var/log/Lilu_VERSION_KERN_MAJOR.KERN_MINOR.txt after N seconds
VirtualSMC
-vsmcdbg
Enables debug printing.
Requires DEBUG version of VirtualSMC.
-vsmcoff
Disables all the Lilu enhancements.
Without this kext, no macOS/OS X version will boot due to a lack of SMC Emulation.
Be careful when using this boot-arg. It's highly recommended not to use this boot-arg.
-vsmcbeta
Enables VirtualSMC on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-vsmcrpt
Reports missing SMC keys to the system log.
-vsmccomp
Prefer existing hardware SMC implementation if found.
vsmcgen=X
Forces exposing X-gen SMC device (1 and 2 are supported).
vsmchbkp=X
Sets HBKP dumping mode (0 - off, 1 - normal, 2 - without encryption).
vsmcslvl=X
Set value serialisation level (0 - off, 1 - normal, 2 - with sensitive data (default)).
smcdebug=0xff
Enables AppleSMC debug information printing.
watchdog=0
Disables WatchDog timer.
Required if you get accidental reboots.
WhateverGreen
Global
-wegdbg
Enables debug printing. Requires DEBUG version of WhateverGreen
-wegoff
Disables WhateverGreen
Disabling this boot-arg can cause several Graphics related issues.
Be careful when using this boot-arg. It's highly recommended not to use this boot-arg.
-wegbeta
Enables WhateverGreen on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-cdfon
Enables CoreDisplayFixup functionality via WhateverGreen.kext.
Enables HDMI 2.0 patches on IGPU and dGPU.
Patches
CheckTimingWithRange
inCoreDisplay.framework
to skip validation of the pixel clock.This prevents a black screen for HDMI in UHD resolution with 60FPS or more.
Required for Laptops and OEM systems with 4K/UHD/QHD Displays.
If you get "gIOScreenLockState3 error", you'll need to use this property.
Does not work on macOS Big Sur (11.x) and later.
wegtree=1
Forces device renaming on Apple FW.
gfxrst=1
Prefers drawing Apple logo at 2nd boot stage instead of framebuffer copying.
gfxrst=4
Disables framebuffer init interaction during 2nd boot stage
Board-id
agdpmod=vit9696
Disables board-id check.
Fixes black screen
agdpmod=pikera
Fixes black screen when macOS finishes loading.
Required for Navi based AMD GPU.
agdpmod=ignore
Disables AGDP patches
GPU Switching
-wegnoegpu
Disables all external GPUs (NVIDIA and AMD). Mainly required on Dual GPU Laptops.
Users who have patched ACPI and dGPU is disabled via DSDT and SSDT, you don't need to use this boot arg.
This boot arg is a temporary solution. It's recommended to patch your DSDT and related SSDTs to disable the discrete Graphics for a better power management and improved battery performance.
-wegnoigpu
Disables internal GPU
-wegswitchgpu
Disables internal GPU when external GPU is installed.
NVIDIA Graphics
-ngfxdbg
Enables NVIDIA driver error logging
ngfxgl=1
Disables metal support on NVIDIA GPUs
ngfxcompat=1
Ignores compatibility check in NVDAStartupWeb
ngfxsubmit=0
Disables interface stuttering fix on 10.13
AMD Graphics
-radvesa
Disables ATI/AMD graphics acceleration.
-rad24
Enforces 24-bit display mode
-raddvi
Enables DVI transmitter correction
Required for 290X, 370, etc.
-radcodec
Forces the spoofed PID to be used in AMDRadeonVADriver
radpg=15
Fixes initialization for Radeon HD 7730/7750/7770/R7 250/R7 250X
Disables several power gating modes
Intel Graphics
igfxframe=frame
Injects a dedicated framebuffer identifier into IGPU
Only for TESTING purposes.
igfxsnb=0
Disables IntelAccelerator name fix for Sandy Bridge CPUs.
igfxgl=1
Disables Metal support on IGPU.
igfxmetal=1
to force enable Metal support on Intel for offline rendering.
igfxpavp=1
to force enable PAVP output
igfxfw=2
Forces loading of Apple GuC firmware
Requires 300 series chipset.
-igfxvesa
Disables IGPU acceleration.
-igfxnohdmi
Disables DP to HDMI conversion patches for digital sound.
-igfxtypec
Forces DP connectivity for Type-C platforms.
-igfxdump
Dumps IGPU framebuffer kext to /var/log/AppleIntelFramebuffer_X_Y (available in DEBUG binaries).
-igfxfbdump
Dumps native and patched framebuffer table to IOReg at IOService:/IOResources/WhateverGreen
applbkl=0
Disables AppleBacklight.kext patches for IGPU
-igfxmlr
Fixes invalid maximum link rate
This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
Usually required by Laptops with a Sharp Display and more refresh rate.
-igfxhdmidivs
Fixes the infinite loop when establishing an HDMI connection with a higher pixel clock.
For example, connecting to a 2K/4K display with HDMI 1.4, otherwise, the system just hangs and the built-in display will remain black when plugging the HDMI cable.
-igfxlspcon
Enables LSPCPN driver support to enable DisplayPort to HDMI 2.0 output on IGPU.
LSPCON driver is only applicable for Laptops with HDMI 2.0 routed to IGPU.
If your HDMI 2.0 is routed to IGPU and is working properly right now, you don't need to enable this driver, as your onboard LSPCON might have been already configured in the firmware to work in PCON mode.
This property can also provide HDR signaling over HDMI.
-igfxi2cdbg
Enables verbose output in I2C-over-AUX transactions (only for debugging purposes).
-igfxnotelemetryload
Disables iGPU telemetry loading that may cause a freeze during startup on certain laptops such as Chromebooks
igfxagdc=0
Disables AGDC
igfxfcms=1
to force complete modeset on Skylake or Apple firmwares.
igfxfcmsfbs=
to specify indices of connectors for which complete modeset must be enforced. Each index is a byte in a 64-bit word; for example, value 0x010203 specifies connectors 1, 2, 3. If a connector is not in the list, the driver's logic is used to determine whether complete modeset is needed. Pass -1 to disable.
igfxonln=1
Forces online status on all displays.
Resolves display after wake on CFL and later.
igfxonlnfbs=MASK
to specify indices of connectors for which online status is enforced. Format is similar to igfxfcmsfbs
wegtree=1
Forces device renaming on Apple FW.
igfxrpsc=1
Enables RPS control patch (improves IGPU performance)
-igfxcdc
Enables all valid Core Display Clock (CDCLK) frequencies on ICL platforms.
This property on IGPU can be used to prevent a kernel due to an unsupported CD clock decimal frequency.
Usually required by Laptops with lower clock frequency values such as 172.8MHz.
-igfxdvmt
Fixes Kernel Panic due to incorrect amount of DVMT pre-allocated memory.
This property on IGPU can fix the invalid link rate otherwise a kernel panic can occur due to a division-by-zero.
Usually required by Laptops where the BIOS is locked and the variables cannot be modified using Shell.
-igfxmpc
Fixes HDMI in UHD resolution with 60FPS
This property on IGPU can be used to raise the max pixel clock limit (as an alternative to patching CoreDisplay.framework).
Prevents black screen on 4K/UHD/QHD Displays @60Hz and HDMI 2.0 in UHD resolution with 60Hz or more.
Requires Invalid Maximum Link rate for Laptop Displays with more than 60Hz.
This property can be used for 4K@60Hz over HDMI 2.0.
Required for Laptops and OEM systems with 4K/UHD/QHD Displays @60Hz.
If you get "gIOScreenLockState3" when booting, you'll need to use this property.
-igfxbls
Make brightness transitions smoother on IVB+ platforms
-igfxdbeo
Fixes garbled display on the built-in screen on Ice Lake platforms.
-igfxsklaskbl
To enforce Kaby Lake (KBL) graphics kext loading on SKL.
KBL device-id and ig-platform-id are required.
applbkl=3
Enables PWM backlight control of AMD Radeon RX 5000 series graphic cards
Backlight
applbkl=0
Disables AppleBacklight.kext patches for IGPU
applbkl=3
Enables PWM backlight control of AMD Radeon RX 5000 series graphic cards
NootedRed
-nreddmlogger
Enables Display Core debugging output
-nredoff
Disables NootedRed
-nredfbonly
Boot in FB-only, without acceleration. Visual artifacts and glitches are present.
-nred24bit
AppleALC
alcid=xx
Sets Layout ID for AppleALC.
The xx represents the layout ID for your codec.
-alcoff
Disables AppleALC
-alcdbg
Enables debug printing.
Requires DEBUG version of AppleALC
-alcbeta
Enables WhateverGreen on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
alcverbs=1
Enables alc-verb support.
alcdelay=xxx
Adds delay in AppleHDAController.
Useful where the hardware isn't initialized in time for AppleHDAController which results in no Audio output.
The xx represents the delay in ms.
Must not exceed 3000ms.
alctcsel=1
Fixes Audio on macOS after rebooting from Windows.
AirPortBrcmFixup
-brcmfxdbg
Enables debug printing.
Requires DEBUG version of AirPortBrcmFixup
-brcmfxbeta
Enables AirPortBrcmFixup on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-brcmfxoff
Disables AirPortBrcmFixup
-brcmfxwowl
Enables WOWL (WoWLAN)
WOWL is disabled by default
-brcmfx-alldrv
Allows patching for all supported drivers, disregarding the current system version
brcmfx-country=XX
Changes the country code to XX (US, CN, #a, ...)
Can be injected via DSDT or Properties → DeviceProperties in bootloader
brcmfx-aspm
Overrides value used for pci-aspm-default
brcmfx-delay=xxxxx
Delays start of native Broadcom driver for the specified amount of milliseconds.
It can solve panics or missing wi-fi devices in Monterey. You can start with 15 seconds (brcmfx-delay=15000) and successively reduce this value until you notice instability in boot.
The xxxxx represents the delay in ms.
brcmfx-driver=0|1|2|3
Enables only one kext for loading 0 - AirPortBrcmNIC-MFG, 1 - AirPortBrcm4360, 2 - AirPortBrcmNIC, 3 - AirPortBrcm4331, Can be injected via DSDT or Properties → DeviceProperties in bootloader
BrcmPatchRAM
bpr_initialdelay=x
Changes
mInitialDelay
, wherex
represents the delay in ms before any communication happens with the device. The default value is100
.
bpr_handshake=x
Overrides
mSupportsHandshake
, firmware uploaded handshake support status.0
means waitbpr_preresetdelay
ms after uploading firmware, and then reset the device.1
means wait for a specific response from the device and then reset the device. The default value depends on the device identifier.
bpr_preresetdeay
Changes
mPreResetDelay
, where x represents the delay in ms assumed to be needed for the device to accept the firmware. The value is unused whenbpr_handshake
is1
(passed manually or applied automatically based on the device identifier). The default value is250
.
bpr_postresetdelay=x
Changes
mPostResetDelay
, where x represents the delay in ms assumed to be needed for the firmware to initialize after resetting the device upon firmware upload. The default value is100
.
bpr_probedelay=x
Changes mProbeDelay (removed in BrcmPatchRAM3), the delay in ms before probing the device. The default value is 0.
-btlfxallowanyaddr
Disables address check in macOS 12.4 and newer.
Required for macOS 12.4 and newer as Apple introduced a new address check in
bluetoothd
, which will trigger an error if two Bluetooth devices have the same address.Only applicable for macOS 12.4 and newer.
itlwm
itlwm_cc=COUNTRY_CODE
Change the country code to a desired one, effective on all devices, mostly useful for iwn, 7000 & 8000 series iwm using itlwm.kext or running macOS earlier than 10.14.
-novht
Disables IEEE802.11AC support Useful if the router has compatibility issues.
-noht40
Disables 40MHz when using 2.4GHz (Use this option if the network with this config causes instabilities. Natively supported adapters by Apple disable 2.4GHz HT40 by default)
IntelMausi
-mausiwol
Froce enables Wake on LAN functionality for Intel Ethernet for testing purposes.
Required for misconfigured hardware.
Requires IntelMausi.kext.
CPUTscSync
-cputsdbg
Enables debug logging. Requires DEBUG version of CPUTscSync.
-cputsoff
Disables CPUTscSync.
-cputsbeta
Enables CPUTscSync on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-cputsclock
Forces using of method clock_get_calendar_microtime to sync TSC (the same method is used when boot-arg
TSC_sync_margin
is specified)
CPUFriend
-cpufdbg
Enables debug logging. Requires DEBUG version of CPUFriend.
-cpufoff
Disables CPUFriend.
-cpufbeta
Enables CPUFriend on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
CryptexFixup
-cryptdbg
Enables verbose logging. Requires DEBUG version of CryptexFixup
-cryptoff
Disables CryptexFixup
-cryptbeta
Enables CryptexFixup on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-crypt_allow_hash_validation
Disables APFS.kext patching
-crypt_force_avx
Force installing Rosetta Cryptex on AVX2.0 systems
ECEnabler
-ecedbg
Enables verbose logging. Requires DEBUG version of ECEnabler.
-eceoff
Disables ECEnabler
-ecebeta
Enables ECEnabler on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
NVMeFix
-nvmefdbg
Enables debug logging. Requires DEBUG version of NVMeFix.
-nvmefoff
Disables NVMeFix.
-nvmefaspm
Forces ASPM L1 on all the devices. This argument is recommended exclusively for testing purposes, as for daily usage one could inject pci-aspm-default
device property with <02 00 00 00>
value into the SSD devices and bridge devices they are connected to onboard. Updated values will be visible as pci-aspm-custom
in the affected devices.
FeatureUnlock
-cardbg
Enables verbose logging. Requires DEBUG version of FeatureUnlock.
-carbeta
Enables FeatureUnlock on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-caroff
Disables FeatureUnlock
-allow_sidecar_ipad
Enables SideCar support on unsupported iPads.
-disable_sidecar_mac
Disables SideCar/AirPlay/Universal Control patches.
-disable_nightshift
Disables NightShift patches
-force_uni_control
Forces Universal Control patching even when model doesn't require.
BrightnessKeys
-brkeysdbg
Enables debug printing. Requires DEBUG version of BrightnessKeys.
MacHyperVSupport
Core Controller (HyperVController)
Core Hyper-V controller module
-hvctrldbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
CPU Disabler (HyperVCPU)
Disables additional CPUs under macOS 10.4
-hvcpudbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
File Copy (HyperVFileCopy)
Provides host to guest file copy support (Guest Services). Requires the hvfilecopyd
userspace daemon to be running.
-hvfcopydbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvfcopymsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperVSupport.
-hvfcopyoff
Disables this module
Graphics Bridge (HyperVGraphicsBridge)
Provides basic graphics support for macOS.
-hvgfxbdgb
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvgfxbmsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperVSupport
-hvgfxboff
Disables this module
Heartbeat (HyoerVHeartbeat)
Provides heartbeat reporting to Hyper-V.
-hvheartdbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvheartmsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperVSupport
-hvheartoff
Disables this module
Keyboard (HyperVKeyboard)
Provides keyboard support.
-hvkbddbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvkbdmsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperVSupport
-hvkbdoff
Disables this module
Mouse (HyperVMouse)
Provides mouse support.
-hvkbddbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvkbdmsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperVSupport
-hvmouseoff
Disables this module
Network (HyperVNetwork)
Provides networking support.
-hvnetdbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvnetdmsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperVSupport
-hvnetoff
Disables this module
PCI Bridge (HyperVPCIBridge)
Provides PCI passthrough support.
-hvpcibddbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvpcibmsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperVSupport
-hvpciboff
Disables this module
PCI Module Device (HyperVmoduleDevice)
Provides MMIO allocation/deallocation functions for PCI passthrough.
-hvpcimdbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
PCI Provider (HyperVPCIProvider)
Provides IOACPIPlatformDevice nub on generation 2 VMS for fake PCI root bridge (HyperVPCIRoot).
-hvkbddbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
PCI Root Bridge (HyperVPCIRoot)
Provides a fake PCI root bridge for proper macOS functionality on generation 2 VMs, and provides support for PCI passthrough.
-hvpcirddbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
Shutdown (HyperVShutdown)
Provides software shutdown through Virtual Machine Connection and PowerShell. Requires the hvshutdownd
userspace daemon to be running.
-hvshutdbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvshutmsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperSupport
-hvshutoff
Disables this module
Storage (HyperVStorage)
Provides SCSI storage support
-hvstordbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvstormsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperSupport
-hvstoroff
Disables this module
Time Synchronization (HyperVTimeSync)
Provides host to guest time synchronization support. Requires the hvtimesyncd
userspace daemon to be running.
-hvtimedbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
-hvtimemsgdbg
Enables debug printing of message data. Requires DEBUG version of MacHyperSupport
-hvtimeoff
Disables this module
VMBus Controller (HyperVVMBus)
Provides root of VMBus devices and services.
-hvvmbusdbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
VMBus Device Nub (HyperVVMBusDevice)
Provides connection nub for child VMBus device modules.
-hvvmbusdebdbg
Enables debug printing. Requires DEBUG version of MacHyperVSupport.
RealtekCardReader
-iosd3v3
initialize all cards at 3.3V, so cards can work at the default or the high speed mode only.
-iosddsm
initialize all cards at the default speed mode. The maximum data transfer rate is limited to 12 MB/s.
-iosdhsm
initialize all cards at the high speed mode. The maximum data transfer rate is limited to 25 MB/s.
-iosdsabr
separate each CMD18/25 request into multiple CMD17/24 ones, so the host driver will not access multiple blocks on the card in one shot.
-iosdnoacmd23
ask the host driver not to issue the ACMD23 before sending the CMD25 to the card. When the driver processes a multi-block write (CMD25) request, the specification recommends to issue an ACMD23 to pre-erase blocks to be written to improve the write performance. By default, the host driver always sends the ACMD23 before the CMD25. Use this boot argument if you observe any write performance degradation.
iosdamna
Specify the maximum number of attempts to retry an application command (ACMD*).
rtsxdcib
Specify the amount of time in milliseconds to delay the card initialization if the card is present when the driver starts. Increase the delay if your card cannot be initialized when the system boots.
rtsxdspi
Specify the interval in milliseconds of polling for the device status. A background thread checks whether a card is present every interval milliseconds and notifies other driver components if a card is inserted or removed. Increasing the interval will increase the latency of processing the card event, while decreasing the value will waste your CPU cycle, so please choose an interval value wisely.
-rtsxppsta
fetch the card status via the control endpoint instead of a bulk transfer. Some RTS5139 chips can report the card status only via the control endpoint thus are not compatible with the default mechanism.
rtsxdssc
Specify the amount of time in milliseconds to wait until the SSC clock becomes stable. If the value is too small, commands may timeout after the driver switches the card clock. Increase this value if you find that the driver fails to enable the 4-bit bus in the kernel log.
VoodooI2C
-vi2c-force-polling
Force enable polling mode for specific I2C Controller.
Required where APIC interrupt is unavailable.
RTCMemoryFixup
-rtcfxdbg
Enables debug logging. Requires DEBUG version of RTCMemoryFixup.
rtcfx_exclude=offset1,offset2,start_offset-end_offset
List of offsets or ranges of offsets where writing is not allowed
HibernationFixup
-hbfxdbg
Enables debug logging. Requires DEBUG version of RTCMemoryFixup.
-hbfxbeta
Enables FeatureUnlock on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-hbfxoff
disables kext loading
-hbfx-dump-nvram
Saves NVRAM to a file nvram.plist before hibernation and after kernel panic (with panic info)
-hbfx-disable-patch-pci
disables patching of IOPCIFamily (this patch helps to avoid hang & black screen after resume (restoreMachineState won't be called for all devices)
hbfx-patch-pci=XHC,IMEI,IGPU
allows to specify explicit device list (and restoreMachineState won't be called only for these devices). Also supports values none, false, off.
hbfx-ahbm=abhm_value
controls auto-hibernation feature, where abhm_value is an arithmetic sum of respective values below:
EnableAutoHibernation = 1: If this flag is set, system will hibernate instead of regular sleep (flags below can be used to limit this behavior)
WhenLidIsClosed = 2: Auto hibernation can happen when lid is closed (if bit is not set - no matter which status lid has)
WhenExternalPowerIsDisconnected = 4: Auto hibernation can happen when external power is disconnected (if bit is not set - no matter whether it is connected)
WhenBatteryIsNotCharging = 8: Auto hibernation can happen when battery is not charging (if bit is not set - no matter whether it is charging)
WhenBatteryIsAtWarnLevel = 16: Auto hibernation can happen when battery is at warning level (macOS and battery kext are responsible for this level)
WhenBatteryAtCriticalLevel = 32: Auto hibernation can happen when battery is at critical level (macOS and battery kext are responsible for this level)
DoNotOverrideWakeUpTime = 64: Do not alter next wake up time, macOS is fully responsible for sleep maintenance dark wakes
DisableStimulusDarkWakeActivityTickle = 128: Disable power event kStimulusDarkWakeActivityTickle in kernel, so this event cannot trigger a switching from dark wake to full wake
RestrictEvents
-revdbg
Enables verbose logging. Requires DEBUG version of RestrictEvents.
-revoff
Disables RestrictEvents.
-revbeta
Enables RestrictEvents on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-revproc
Enables verbose process logging. Requires DEBUG version of RestrictEvents.
revpatch=value
Enables patching as comma separated options. The default value is auto.
Possible values for patching:
memtab - enable memory tab in System Information on MacBookAir and MacBookPro10,x platforms
pci - prevent PCI configuration warnings in System Settings on MacPro7,1 platforms
cpuname - custom CPU name in System Information
diskread - disables uninitialized disk warning in Finder
asset - allows Content Caching when sysctl kern.hv_vmm_present returns 1 on macOS 11.3 or newer
sbvmm - forces VMM SB model, allowing OTA updates for unsupported models on macOS 11.3 or newer
f16c - resolve CoreGraphics crashing on Ivy Bridge CPUs by disabling f16c instruction set reporting in macOS 13.3 or newer
none - disable all patching
auto - same as memtab,pci,cpuname, without memtab and pci patches being applied on real Macs
revcpu=value
Enables or disables CPU brand string patching.
1 = non-Intel default, 0 = Intel default
revcpuname=value
Custom CPU brand string (max 48 characters, 20 or less recommended, taken from CPUID otherwise)
revblock=value
To block processes as comma separated options. The default value is auto
Possible values for patching:
pci - prevent PCI and RAM configuration notifications on MacPro7,1 platforms
gmux - block displaypolicyd on Big Sur+ (for genuine MacBookPro9,1/10,1)
media - block mediaanalysisd on Ventura+ (for Metal 1 GPUs)
none - disable all blocking
auto - same as PCI
NOTE: 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revpatch
, 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revcpu
, 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revcpuname
and 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102:revblock
NVRAM variables work the same as the boot arguments, but have lower priority.
DebugEnhancer
-dbgenhdbg
Enables debugging output. Requires DEBUG version of DebugEnhancer
-dbgenhbeta
Enables DebugEnhancer on unsupported macOS versions (macOS 13 and below are enabled by default).
Usually relevant for newly announced macOS.
-dbgenhoff
Disables DebugEnhancer.
-dbgenhiolog
Redirects IOLog output to kernel vprintf (the same as for kdb_printf and kprintf)
Source: EliteMacx86 (May 24, 2023)
Last updated