- 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
- OpenCore (UEFI)
- Mac
- Mac mini
- MacBook Pro
- Mobile Phone
- Android
- 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
2. Add the Device path which you obtained in STEP #1 of this guide under
3. Add the required Device Properties under
For OpenCore:
1. Open your
2. Add the Device path which you obtained in STEP #1 of this guide under the
3. Add the required Device Properties under the
4. Save your
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.
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: