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

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

  • 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 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.

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

-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

  • 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


-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

  • 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

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

  • 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

Boot Args
Description

-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

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)

Source: EliteMacx86 (May 24, 2023)

Last updated