Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/lzhoang2801/OpCore-Simplify/llms.txt

Use this file to discover all available pages before exploring further.

Before OpCore Simplify can build your EFI, it needs a complete picture of your system’s hardware. This is captured in a Report.json file — a structured JSON document that describes your motherboard, CPU, GPU, network adapters, storage controllers, and more — accompanied by an ACPI dump directory containing your system’s raw ACPI tables. Together these two artifacts give the tool everything it needs to check compatibility, select kexts, apply ACPI patches, and generate a working config.plist.

What Is the Hardware Report?

The hardware report is a pair of outputs produced by Hardware Sniffer, a companion utility written for OpCore Simplify:
  • Report.json — a JSON file that encodes every relevant device on your system, grouped by category (Motherboard, BIOS, CPU, GPU, Network, Storage Controllers, etc.).
  • ACPI/ directory — a dump of your firmware’s ACPI tables (DSDT and SSDTs) that OpCore Simplify uses when generating ACPI patches.
Both outputs are required. If the ACPI dump is missing, the tool will prompt you to select ACPI tables manually later in the workflow.

Two Ways to Generate the Report

1

Option A — Windows Built-In Export (Recommended)

On Windows, OpCore Simplify can download and run Hardware Sniffer for you automatically.
  1. Launch OpCore Simplify and select Option 1 — Select Hardware Report from the main menu.
  2. At the report prompt, type E and press Enter.
  3. The tool downloads the latest Hardware-Sniffer-CLI.exe from GitHub (or reuses a cached copy if already up to date), then runs it with the -e flag.
  4. The report is saved to the SysReport/ folder inside the OpCore Simplify directory.
  5. Validation runs automatically; if successful, the workflow proceeds to the Compatibility Checker.
Always make sure you are using the latest version of Hardware Sniffer before generating a new report. The tool self-updates on each export, so typing E is sufficient.
2

Option B — Manual Generation (All Platforms)

If you are not on Windows, or if you prefer to generate the report on the target machine and transfer it separately, you can run Hardware Sniffer manually.
  1. Download Hardware Sniffer from the lzhoang2801/Hardware-Sniffer releases page.
  2. Run it on the machine you want to make a Hackintosh. It will produce a Report.json and an ACPI/ folder.
  3. Copy both to any location accessible from the machine running OpCore Simplify.
  4. Launch OpCore Simplify, select Option 1 — Select Hardware Report, and drag-and-drop the Report.json path into the terminal prompt, then press Enter.
  5. OpCore Simplify will locate the ACPI/ folder automatically if it sits next to Report.json in the same directory.

Report Validation

Every time a report path is entered manually, OpCore Simplify runs it through ReportValidator before accepting it. The validator checks:
  • File existence — the path must point to a real file.
  • Valid JSON — the file must parse without errors.
  • Schema compliance — required top-level sections must be present and each field must match its expected type and pattern.
  • Field patterns — values are checked against regular expressions for correctness (e.g. Device IDs must match XXXX or XXXX-XXXX hex format, platform must be Desktop or Laptop, firmware type must be UEFI or BIOS).
If any check fails, OpCore Simplify prints a Validation Report listing each error and warning, then suggests re-exporting the report:
Suggestion: Please re-export the hardware report and try again.
Do not manually edit Report.json unless you know exactly what you are doing. Hand-editing can easily produce schema violations that fail validation silently.

Report.json Structure

The table below maps each top-level key in Report.json to its purpose and whether it is required by the validator.
KeyRequiredDescription
MotherboardBoard name, chipset, and platform (Desktop / Laptop)
BIOSFirmware type, Secure Boot state, version, and release date
CPUManufacturer, processor name, codename, core/thread count, SIMD feature flags
GPUPer-GPU manufacturer, codename, Device ID, device type, PCI/ACPI path, Resizable BAR state
MonitorConnected displays with connector type and resolution
NetworkEthernet and wireless adapters with bus type and Device ID
SoundAudio codecs and controllers with audio endpoint names
USB ControllersUSB host controllers with PCI/ACPI path
InputKeyboards, mice, and trackpads
Storage ControllersNVMe/SATA/AHCI controllers with Device ID and attached drives
BiometricFingerprint readers or other biometric sensors
BluetoothBluetooth adapters with bus type and Device ID
SD ControllerSD card readers with Device ID
System DevicesMiscellaneous ACPI and PCI system devices

Example Skeleton

{
  "Motherboard": {
    "Name": "ASUS ROG STRIX B550-F GAMING",
    "Chipset": "B550",
    "Platform": "Desktop"
  },
  "BIOS": {
    "Firmware Type": "UEFI",
    "Secure Boot": "Disabled",
    "Version": "2803",
    "Release Date": "06/14/2023"
  },
  "CPU": {
    "Manufacturer": "AMD",
    "Processor Name": "AMD Ryzen 9 5900X",
    "Codename": "Vermeer",
    "Core Count": "12",
    "CPU Count": "1",
    "SIMD Features": "SSE4.1, SSE4.2, AVX, AVX2"
  },
  "GPU": {
    "AMD Radeon RX 6800 XT": {
      "Manufacturer": "AMD",
      "Codename": "Navi 21",
      "Device ID": "1002-73BF",
      "Device Type": "Discrete GPU",
      "Resizable BAR": "Enabled"
    }
  },
  "Network": { "...": {} },
  "Storage Controllers": { "...": {} },
  "USB Controllers": { "...": {} },
  "Input": { "...": {} }
}

Common Errors

ErrorLikely CauseFix
Missing required key 'GPU'Report generated without GPU informationRe-export using option E while a display is connected
Value 'VEN_8086&DEV_1234' does not match patternMalformed Device ID in JSONRe-export; do not manually edit Device IDs
Missing required key 'Firmware Type'Outdated Hardware Sniffer versionUpdate Hardware Sniffer and re-export
File does not existWrong path dragged inRe-drag the correct Report.json file

Hardware Sniffer Limitations

Hardware Sniffer has two known limitations when running inside Windows PE environments (such as a WinPE-based USB installer):
  • Resizable BAR — GPU Resizable BAR status is not collected; it defaults to Disabled in the report.
  • Monitor connections — connected display information (connector type, resolution) is not available in PE environments.
These gaps can affect GPU ACPI patch decisions. For the most accurate report, run Hardware Sniffer from a fully booted Windows installation whenever possible.

Build docs developers (and LLMs) love