SMCAMDProcessor.kext

Shaneee

The AMD Guy
Staff member
Administrator
Joined
Mar 13, 2020
Messages
2,149
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.

 

Kokowski

Donator
Donator
Joined
May 2, 2020
Messages
10
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.
 

Shaneee

The AMD Guy
Staff member
Administrator
Joined
Mar 13, 2020
Messages
2,149

Kokowski

Donator
Donator
Joined
May 2, 2020
Messages
10
Yes, you've already mentioned it, but i don't understand how to do it. :(
 

Shaneee

The AMD Guy
Staff member
Administrator
Joined
Mar 13, 2020
Messages
2,149

Enkido

New member
AMD OS X Member
Joined
May 3, 2020
Messages
1
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.
 

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
You need VirtualSMC too to compile it.
 

ftln

New member
AMD OS X Member
Joined
May 2, 2020
Messages
17
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>
 

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
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.
 

Shaneee

The AMD Guy
Staff member
Administrator
Joined
Mar 13, 2020
Messages
2,149
You could also test with iStatistica. Not sure if it uses the same sensor info as iStats.
 

ftln

New member
AMD OS X Member
Joined
May 2, 2020
Messages
17
Hi, CPU temps do infact display with iStatistica, Thanks :)
 

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
@Kokowski try
Code:
xcodebuild -scheme SMCAMDProcessor -configuration Release
xcodebuild -scheme AMDRyzenCPUPowerManagement -configuration Release
xcodebuild -scheme "AMD Power Gadget" -configuration Release
 

Kokowski

Donator
Donator
Joined
May 2, 2020
Messages
10
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: 47
Last edited:

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
I'm using the command line to build the final kexts, don't know too much about XCode myself.
 

Kokowski

Donator
Donator
Joined
May 2, 2020
Messages
10
Then what would be your commands for cloning over adding lilu and virtualsmc to building?
 

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
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.
 

Aluveitie

Donator
Donator
AMD OS X Member
Joined
May 2, 2020
Messages
895
Looks fine, you should be able to build with the commands I posted
 
Back
Top Bottom
  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.