Skip to content

Commit

Permalink
ver 0.0.92
Browse files Browse the repository at this point in the history
  • Loading branch information
gorouflex committed Feb 6, 2024
1 parent b53046f commit 387c2a9
Show file tree
Hide file tree
Showing 10 changed files with 182 additions and 5 deletions.
7 changes: 7 additions & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,10 @@
## [0.0.92]

- Supported for custom preset
- Fix image not being shown on CFU
- Rework structure


## [0.0.91]

- Optimize code
Expand Down
61 changes: 61 additions & 0 deletions Custom.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
# Custom args

```
Ryzen Power Management adjust tool.
-h, --help show this help message and exit
Options
-i, --info Show information and most important power metrics after adjustment
--dump-table Show whole power metric table before and after adjustment
Settings
-a, --stapm-limit=<u32> Sustained Power Limit - STAPM LIMIT (mW)
-b, --fast-limit=<u32> Actual Power Limit - PPT LIMIT FAST (mW)
-c, --slow-limit=<u32> Average Power Limit - PPT LIMIT SLOW (mW)
-d, --slow-time=<u32> Slow PPT Constant Time (s)
-e, --stapm-time=<u32> STAPM constant time (s)
-f, --tctl-temp=<u32> Tctl Temperature Limit (degree C)
-g, --vrm-current=<u32> VRM Current Limit - TDC LIMIT VDD (mA)
-j, --vrmsoc-current=<u32> VRM SoC Current Limit - TDC LIMIT SoC (mA)
--vrmgfx-current=<u32> VRM GFX Current Limit - TDC LIMIT GFX (mA)
--vrmcvip-current=<u32> VRM CVIP Current Limit - TDC LIMIT CVIP (mA)
-k, --vrmmax-current=<u32> VRM Maximum Current Limit - EDC LIMIT VDD (mA)
-l, --vrmsocmax-current=<u32> VRM SoC Maximum Current Limit - EDC LIMIT SoC (mA)
--vrmgfxmax_current=<u32> VRM GFX Maximum Current Limit - EDC LIMIT GFX (mA)
-m, --psi0-current=<u32> PSI0 VDD Current Limit (mA)
--psi3cpu_current=<u32> PSI3 CPU Current Limit (mA)
-n, --psi0soc-current=<u32> PSI0 SoC Current Limit (mA)
--psi3gfx_current=<u32> PSI3 GFX Current Limit (mA)
-o, --max-socclk-frequency=<u32> Maximum SoC Clock Frequency (MHz)
-p, --min-socclk-frequency=<u32> Minimum SoC Clock Frequency (MHz)
-q, --max-fclk-frequency=<u32> Maximum Transmission (CPU-GPU) Frequency (MHz)
-r, --min-fclk-frequency=<u32> Minimum Transmission (CPU-GPU) Frequency (MHz)
-s, --max-vcn=<u32> Maximum Video Core Next (VCE - Video Coding Engine) (MHz)
-t, --min-vcn=<u32> Minimum Video Core Next (VCE - Video Coding Engine) (MHz)
-u, --max-lclk=<u32> Maximum Data Launch Clock (MHz)
-v, --min-lclk=<u32> Minimum Data Launch Clock (MHz)
-w, --max-gfxclk=<u32> Maximum GFX Clock (MHz)
-x, --min-gfxclk=<u32> Minimum GFX Clock (MHz)
-y, --prochot-deassertion-ramp=<u32> Ramp Time After Prochot is Deasserted: limit power based on value, higher values does apply tighter limits after prochot is over
--apu-skin-temp=<u32> APU Skin Temperature Limit - STT LIMIT APU (degree C)
--dgpu-skin-temp=<u32> dGPU Skin Temperature Limit - STT LIMIT dGPU (degree C)
--apu-slow-limit=<u32> APU PPT Slow Power limit for A+A dGPU platform - PPT LIMIT APU (mW)
--skin-temp-limit=<u32> Skin Temperature Power Limit (mW)
--gfx-clk=<u32> Forced Clock Speed MHz (Renoir Only)
--oc-clk=<u32> Forced Core Clock Speed MHz (Renoir and up Only)
--oc-volt=<u32> Forced Core VID: Must follow this calcuation (1.55 - [VID you want to set e.g. 1.25 for 1.25v]) / 0.00625 (Renoir and up Only)
--enable-oc Enable OC (Renoir and up Only)
--disable-oc Disable OC (Renoir and up Only)
--set-coall=<u32> All core Curve Optimiser
--set-coper=<u32> Per core Curve Optimiser
--set-cogfx=<u32> iGPU Curve Optimiser
--power-saving Hidden options to improve power efficiency (is set when AC unplugged): behavior depends on CPU generation, Device and Manufacture
--max-performance Hidden options to improve performance (is set when AC plugged in): behavior depends on CPU generation, Device and Manufacture
P-State Functions
WARNING: Use at your own risk!
By Jiaxun Yang <[email protected]>, Under LGPL.
Version: v0.14.0
```
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
- Run `start-macOS.command`.
- Follow the instructions.

## For advanced user please visit [Custom.md](Custom.md)
### Auto preset results in better power management (2:30 hours of my battery usage).
### The Extreme preset yields the full potential performance that my Ryzen 5 4500U (Renoir) can handle but only lasts for 1:30 hours of my battery usage. To achieve maximum performance, please plug in with AC.
### [Removed] ECO Preset
Expand Down
Binary file removed UXTU4Mac/DirectHW.kext.zip
Binary file not shown.
83 changes: 83 additions & 0 deletions UXTU4Mac/Kexts/DirectHW.kext/Contents/Info.plist
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
<?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>BuildMachineOSBuild</key>
<string>21G726</string>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>DirectHW</string>
<key>CFBundleIdentifier</key>
<string>com.coresystems.DirectHW</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>DirectHW</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.6.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleSupportedPlatforms</key>
<array>
<string>MacOSX</string>
</array>
<key>CFBundleVersion</key>
<string>1.6.1</string>
<key>DTCompiler</key>
<string>com.apple.compilers.llvm.clang.1_0</string>
<key>DTPlatformBuild</key>
<string>14C18</string>
<key>DTPlatformName</key>
<string>macosx</string>
<key>DTPlatformVersion</key>
<string>13.1</string>
<key>DTSDKBuild</key>
<string>22C55</string>
<key>DTSDKName</key>
<string>macosx13.1</string>
<key>DTXcode</key>
<string>1420</string>
<key>DTXcodeBuild</key>
<string>14C18</string>
<key>IOKitPersonalities</key>
<dict>
<key>DirectHWUserClient</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.coresystems.DirectHW</string>
<key>IOClass</key>
<string>DirectHWService</string>
<key>IOMatchCategory</key>
<string>DirectHWService</string>
<key>IOProviderClass</key>
<string>IOResources</string>
<key>IOResourceMatch</key>
<string>IOKit</string>
<key>IOUserClientClass</key>
<string>DirectHWUserClient</string>
</dict>
</dict>
<key>LSMinimumSystemVersion</key>
<string>13.1</string>
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2008-2010 coresystems GmbH &lt;[email protected]&gt;. All rights reserved.</string>
<key>OSBundleCompatibleVersion</key>
<string>1.0</string>
<key>OSBundleLibraries</key>
<dict>
<key>com.apple.iokit.IOPCIFamily</key>
<string>1.0.0</string>
<key>com.apple.kpi.iokit</key>
<string>8.0.0</string>
<key>com.apple.kpi.libkern</key>
<string>8.0.0</string>
<key>com.apple.kpi.mach</key>
<string>8.0.0</string>
<key>com.apple.kpi.unsupported</key>
<string>8.0.0</string>
</dict>
</dict>
</plist>
Binary file not shown.
1 change: 1 addition & 0 deletions UXTU4Mac/Kexts/DirectHW.kext/Contents/PkgInfo
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
KEXT????
32 changes: 28 additions & 4 deletions UXTU4Mac/RielUXTU.py → UXTU4Mac/UXTU4Mac.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@

CONFIG_PATH = 'config.ini'
LATEST_VERSION_URL = "https://github.com/AppleOSX/UXTU4Mac/releases/latest"
LOCAL_VERSION = "0.0.91"
LOCAL_VERSION = "0.0.92"

def clr_print_logo():
os.system('cls' if os.name == 'nt' else 'clear')
Expand All @@ -35,7 +35,6 @@ def main_menu():
print("2. Settings")
print()
print("A. About")
print()
print("Q. Quit")

def about_menu():
Expand Down Expand Up @@ -112,10 +111,12 @@ def check_updates():
latest_version = get_latest_ver()

if LOCAL_VERSION < latest_version:
clr_print_logo()
print("A new update is available! Please visit the following link for details:")
print(LATEST_VERSION_URL)
sys.exit()
elif LOCAL_VERSION > latest_version:
clr_print_logo()
print("Welcome to RielUXTU4Mac Beta Program.")
print("This build may not be as stable as expected. Only for testing purposes!")
result = input("Do you want to continue? (y/n): ").lower()
Expand Down Expand Up @@ -166,10 +167,33 @@ def main():
while True:
main_menu()
choice = input("Option: ")

if choice == "1":
clr_print_logo()
run_cmd(PRESETS[read_cfg()], read_cfg())
print("Apply Preset:")
print("1. Load from config file")
print("2. Custom preset")
print()
print("B. Back")
preset_choice = input("Option: ")

if preset_choice == "1":
user_mode = read_cfg()
if user_mode:
clr_print_logo()
print(f"Using mode: {user_mode}")
run_cmd(PRESETS[user_mode], user_mode)
else:
print("Config file is missing or invalid. Please run the script again.")
elif preset_choice == "2":
custom_args = input("Custom arguments (preset): ")
user_mode = "Custom"
clr_print_logo()
print(f"Using mode: {user_mode}")
run_cmd(custom_args, user_mode)
elif preset_choice.lower() == "b":
continue
else:
print("Invalid choice. Please enter a valid option.")
elif choice == "2":
clr_print_logo()
create_cfg()
Expand Down
Binary file modified UXTU4Mac/ryzenadj
Binary file not shown.
2 changes: 1 addition & 1 deletion UXTU4Mac/start-macOS.command
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
cd "$(dirname "$0")"
clear
python3 RielUXTU.py
python3 UXTU4Mac.py

0 comments on commit 387c2a9

Please sign in to comment.