SMCAMDProcessor.kext

Shaneee

The AMD Guy
Staff member
Administrator
Mar 13, 2020
2,415
11
1,367
212
33
Scotland
amd-osx.com
CPU:
Ryzen 5 5600X
XNU kernel extension for power management and monitoring of AMD processors. Also comes with a plugin for VirtualSMC to export readings to other applications.

Please note that this release is at very initial stage of development, make sure you have a proper backup of your EFI folder and never run on any system that matters.

Installation
SMCAMDProcessor now comes in two separate binaries(kernel extensions):

  • AMDRyzenCPUPowerManagement.kext for all power management features. This kext is also required if you would like to use AMD Power Gadget.
  • SMCAMDProcessor.kext to publish readings to VirtualSMC, which enables macOS applications like iStat to display sensor data. This kext depends on AMDRyzenCPUPowerManagement.kext to collect sensor data, thus must be loaded after.
  1. Download the kext(s) and application from Release page
  2. Add AMDRyzenCPUPowerManagement.kext to kext folder of your bootloader.
  3. Edit your bootloader's config file to make sure the kext is enabled.
  4. If you're using VirtualSMC you can also load SMCAMDProcessor.kext to publish sensor data.
  5. Bootloaders like OpenCore will link each kext in the order they present in config file, so make sure AMDRyzenCPUPowerManagement.kext comes before SMCAMDProcessor.kext as it serves as a dependency.
Features
  • CPU power management for AMD 17h processors.
  • Supports for reading of temperature, energy and frequency data on AMD 17h Processors.
  • Manual switching of processor speed.
  • PState editing.

 
Hallo Shaneee,
would you please do me the favor and compile me the master? I would be very grateful for it because I just can't do it.
 
Open the project in Xcode, then drag Lilu.kext into the project navigator pane on the left. Xcode will then ask which targets to include it in, select them all and you should be able to compile any of the targets.
 
You need VirtualSMC too to compile it.
 
I have all this installed in the correct order but dont get CPU temps in iStat, any ideas ?

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Add</key>
    <array>
        <dict>
            <key>BundlePath</key>
            <string>Lilu.kext</string>
            <key>Comment</key>
            <string>Patch engine</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/Lilu</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>VirtualSMC.kext</string>
            <key>Comment</key>
            <string>SMC emulator</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/VirtualSMC</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>WhateverGreen.kext</string>
            <key>Comment</key>
            <string>Video patches</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/WhateverGreen</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>AppleALC.kext</string>
            <key>Comment</key>
            <string>Audio patches</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/AppleALC</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>AMDRyzenCPUPowerManagement.kext</string>
            <key>Comment</key>
            <string></string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/AMDRyzenCPUPowerManagement</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>SMCAMDProcessor.kext</string>
            <key>Comment</key>
            <string></string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/SMCAMDProcessor</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>VoodooTSCSyncAMD-12Core.kext</string>
            <key>Comment</key>
            <string>CPU</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/VoodooTSCSyncAMD</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>RadeonBoost.kext</string>
            <key>Comment</key>
            <string>Video PM</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string></string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>AMD-USB-Map-MacPro7,1.kext</string>
            <key>Comment</key>
            <string>USB mapping </string>
            <key>Enabled</key>
            <false/>
            <key>ExecutablePath</key>
            <string></string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>AMD-USB-Map-XHC0-MacPro7,1.kext</string>
            <key>Comment</key>
            <string>USB mapping without XHC0 to fix sleep</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string></string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>SmallTree-Intel-211VA-PCIe-GBE.kext</string>
            <key>Comment</key>
            <string>Ethernet</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/SmallTreeIntel82576</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>IntelBluetoothFirmware.kext</string>
            <key>Comment</key>
            <string></string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/IntelBluetoothFirmware</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>IntelBluetoothInjector.kext</string>
            <key>Comment</key>
            <string></string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string></string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>AppleMCEReporterDisabler.kext</string>
            <key>Comment</key>
            <string></string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string></string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>MacProMemoryNotificationDisabler.kext</string>
            <key>Comment</key>
            <string></string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/MacProMemoryNotificationDisabler</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>NVMeFix.kext</string>
            <key>Comment</key>
            <string>NVMe</string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/NVMeFix</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
        <dict>
            <key>BundlePath</key>
            <string>HibernationFixup.kext</string>
            <key>Comment</key>
            <string></string>
            <key>Enabled</key>
            <true/>
            <key>ExecutablePath</key>
            <string>Contents/MacOS/HibernationFixup</string>
            <key>MaxKernel</key>
            <string></string>
            <key>MinKernel</key>
            <string></string>
            <key>PlistPath</key>
            <string>Contents/Info.plist</string>
        </dict>
    </array>
</dict>
</plist>
 
I have all this installed in the correct order but dont get CPU temps in iStat, any ideas ?

iStats uses the SMBIOS and as far as I know does not yet work with MacPro7,1. You’d have to try with iMacPro1,1 instead.
 
  • Like
Reactions: ftln
You could also test with iStatistica. Not sure if it uses the same sensor info as iStats.
 
Hi, CPU temps do infact display with iStatistica, Thanks :)
 
@Kokowski try
Code:
xcodebuild -scheme SMCAMDProcessor -configuration Release
xcodebuild -scheme AMDRyzenCPUPowerManagement -configuration Release
xcodebuild -scheme "AMD Power Gadget" -configuration Release
 
Thanks for the advice @Aluveitie , but i don't really understand. Would you please take a look?
 

Attachments

  • 5.58.png
    5.58.png
    1.1 MB · Views: 48
Last edited:
I'm using the command line to build the final kexts, don't know too much about XCode myself.
 
Then what would be your commands for cloning over adding lilu and virtualsmc to building?
 
Then what would be your commands for cloning over adding lilu and virtualsmc to building?

That I did in XCode. I have look up later where I placed them exactly.
 
Looks fine, you should be able to build with the commands I posted
 
  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.