Code Monkey home page Code Monkey logo

restrictevents's Introduction

RestrictEvents

Build Status Scan Status

Lilu Kernel extension for blocking unwanted processes causing compatibility issues on different hardware and unlocking the support for certain features restricted to other hardware. The list of blocks currently includes:

  • /System/Library/CoreServices/ExpansionSlotNotification
  • /System/Library/CoreServices/MemorySlotNotification

The list of patches currently includes:

  • Disabled MacBookAir model memory replacement UI (comes in pair with SystemMemoryStatus = Upgradable quirk).
  • Disabled MacPro7,1 PCI Expansion view and RAM view.
  • CPU brand string patch for non-Intel CPUs (can be forced for Intel with revcpu=1).
  • Disabled uninitialized disk UI

Note: Apple CPU identifier must be 0x0F01 for 8 core CPUs or higher and 0x0601 for 1, 2, 4, or 6 cores. This is the default in OpenCore for non-natively supported CPUs.

Boot arguments

  • -revoff (or -liluoff) to disable
  • -revdbg (or -liludbgall) to enable verbose logging (in DEBUG builds)
  • -revbeta (or -lilubetaall) to enable on macOS older than 10.8 or newer than 13
  • -revproc to enable verbose process logging (in DEBUG builds)
  • revpatch=value to enable patching as comma separated options. Default value is auto.
    • 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 to enable (1, non-Intel default)/disable (0, Intel default) CPU brand string patching.
  • 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. Default value is auto.
    • 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.

Credits

restrictevents's People

Contributors

vit9696 avatar andrey1970applelife avatar pmheart avatar khronokernel avatar goldfish64 avatar joemmetry avatar lorys89 avatar enstrayed avatar b00t0x avatar startergo avatar vandroiy2013 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.