Common Boot Args for macOS [Clover/OpenCore]
Booting macOS requires some boot args. 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 kexts specific. This is a list of common boot boot args for macOS which can be used on Clover and OpenCore as well.
Common Boot Args
Boot Args | Purpose |
---|
-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 . Change Auto to Cacheless .
- 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 | |
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 and npci=0x3000 together
|
npci=0x3000 |
- Required for all HEDT and a few 500 and 600 series Motherboards.
- Required where
npci=0x2000 is not compatible
- 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=0x3000 and npci=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.
|
Kexts Specific
Lilu
-liludbg | Enables debug printing. Requires DEBUG version of 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 in CoreDisplay.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
Boot Args | Purpose |
---|
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 | |
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 | |
-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 | |
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
-nreddbg | Enable debugging output from kext and FB. |
-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 | |
-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
Boot Args | Description |
---|
bpr_initialdelay=x |
- Changes
mInitialDelay , where x represents the delay in ms before any communication happens with the device. The default value is 100 .
|
bpr_handshake=x |
- Overrides
mSupportsHandshake , firmware uploaded handshake support status.
0 means wait bpr_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 when bpr_handshake is 1 (passed manually or applied automatically based on the device identifier). The default value is 250 .
|
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 is 100 .
|
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
Boot Args | Description |
---|
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
Boot Args | Description |
---|
-mausiwol |
- Froce enables Wake on LAN functionality for Intel Ethernet for testing purposes.
- Required for misconfigured hardware.
- Requires IntelMausi.kext.
|
CPUTscSync
Boot Args | Description |
---|
-cputsdbg |
- Enables debug logging. Requires DEBUG version of CPUTscSync.
|
-cputsoff | |
-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
Boot Args | Description |
---|
-cpufdbg |
- Enables debug logging. Requires DEBUG version of CPUFriend.
|
-cpufoff | |
-cpufbeta |
- Enables CPUFriend on unsupported macOS versions (macOS 13 and below are enabled by default).
- Usually relevant for newly announced macOS.
|
CryptexFixup
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-brkeysdbg | Enables debug printing. Requires DEBUG version of BrightnessKeys. |
MacHyperVSupport
Core Controller (HyperVController)
Core Hyper-V controller module
Boot Arg | Description |
---|
-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
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-vi2c-force-polling |
- Force enable polling mode for specific I2C Controller.
- Required where APIC interrupt is unavailable.
|
RTCMemoryFixup
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-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
Boot Args | Description |
---|
-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) |