• Become a Premium Member for $25/year with no ads to improve your community experience. Upgrade to Pro Account for faster response and no wait times!

GUIDE How to Inject Device Properties [Clover/OpenCore]

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
8,461
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
How to Inject Device Properties [Clover/OpenCore]

This guide describes how to inject device properties on macOS. The guide works for both, Clover and OpenCore. By following this guide, you'll be able to inject the desired device properties.

Overview


Device Properties are one of the most important parts when running OS X/macOS on non-Apple computers. On a real Mac, these Device Properties are either automatically injected using the .efi driver in the UEFI Module or with the help of ACPI Tables (DSDT and SSDTs), wherever applicable. These properties are required for the proper functioning of the hardware which helps the OS X/macOS Drivers to communicate with the hardware and use specific command sets for performing several tasks. Sometimes, a few properties which are used on a non-Apple computer aren't needed on a real Mac due to the big difference in the hardware specification between the two. A lot of problems can be fixed by simply injecting the device properties. Depending on the property type, these properties can be injected either using boot arg or via Device Properties or DSDT/SSDT patch. However, not all properties can be injected via Boot Args. Moreover, a particular property may differ when used as a Boot Arg. In addition, not all properties will reflect in IOReg or PCI section under System Report.

Injecting Device Properties


Following are the steps for injecting device properties on OS X/macOS.



Method #1: config.plist properties

STEP 1: Finding Device Path

The very step is to find the Device's Path. Without the correct path, the device properties injection will never work.

STEP 2: Injecting Properties
Once you have obtained the Device's Path, you're ready to inject the device properties. To inject the device properties, follow the steps below.

1. Mount your ESP.
2. Depending on your bootloader,

For Clover:
1. Open your config.plist using any XML editor from the EFI/Clover directory.
2. Add the Device path which you obtained in STEP #1 of this guide under Devices>Properties section of your config.plist.
3. Add the required Device Properties under Properties in the Devices section of your config.plist.

For OpenCore:
1. Open your config.plist using any XML editor from the EFI/OC directory.
2. Add the Device path which you obtained in STEP #1 of this guide under the DeviceProperties section of your config.plist.
3. Add the required Device Properties under the DeviceProperties section of your config.plist.

4. Save your config.plist.

STEP 3: Restarting your System

After performing all the above steps, restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.


Method #2: ACPI Method
Using the DSDT or SSDT patch, you can specify a particular device property in the DSDT or the SSDT itself. However, beginner users can find this method a bit difficult. New users are advised to use Method #1. To add the device property using the "ACPI Method" follow the steps below.

STEP 1: Extracting DSDT

The very first step is to extract your native DSDT. We recommend it extracting using Clover, for the highest level of integrity. If you're not aware of how to do that, a guide is already available which is linked below.

STEP 2: Injecting Properties
Once you have extracted the native DSDT, the next step is to inject the device properties. To inject the device properties, follow the steps below.

1. Download the MaciASL of your choice.
2. Extract the MaciASL and move it to the Applications folder.
3. Open your disassembled DSDT using MaciASL.

STEP 3: Installing DSDT

The next step is to install the DSDT for fixing the IRQ conflicts. Follow the steps below to install the DSDT.

1. Copy the patched DSDT
2. Mount your EFI partition
3. Depending on your bootloader,

For Clover:
If you're using Clover, copy the patched DSDT to EFI/Clover/ACPI/patched directory.

For OpenCore:
If you're using OpenCore, copy the patched DSDT to EFI/OC/ACPI directory. You'll also need to add the ACPI entries in ACPI>Add section of your config.plist

STEP 4: Restarting your System

After performing all the above steps, restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.
 
Last edited:
  • Like
Reactions: trus0und

Forum statistics

Threads
1,935
Messages
18,085
Members
27,828
Latest member
イツミてんちむデモン(Real_That_Itsu