From 387c2a960c1ddbc8bf4ddd005d6bdf48bd78909f Mon Sep 17 00:00:00 2001 From: GorouFlex <98001973+gorouflex@users.noreply.github.com> Date: Tue, 6 Feb 2024 09:15:53 +0700 Subject: [PATCH] ver 0.0.92 --- Changelog.md | 7 ++ Custom.md | 61 +++++++++++++ README.md | 1 + UXTU4Mac/DirectHW.kext.zip | Bin 16259 -> 0 bytes .../Kexts/DirectHW.kext/Contents/Info.plist | 83 ++++++++++++++++++ .../DirectHW.kext/Contents/MacOS/DirectHW | Bin 0 -> 186608 bytes UXTU4Mac/Kexts/DirectHW.kext/Contents/PkgInfo | 1 + UXTU4Mac/{RielUXTU.py => UXTU4Mac.py} | 32 ++++++- UXTU4Mac/ryzenadj | Bin 107856 -> 108512 bytes UXTU4Mac/start-macOS.command | 2 +- 10 files changed, 182 insertions(+), 5 deletions(-) create mode 100644 Custom.md delete mode 100644 UXTU4Mac/DirectHW.kext.zip create mode 100644 UXTU4Mac/Kexts/DirectHW.kext/Contents/Info.plist create mode 100644 UXTU4Mac/Kexts/DirectHW.kext/Contents/MacOS/DirectHW create mode 100644 UXTU4Mac/Kexts/DirectHW.kext/Contents/PkgInfo rename UXTU4Mac/{RielUXTU.py => UXTU4Mac.py} (85%) diff --git a/Changelog.md b/Changelog.md index 839acd7..d8e1f94 100644 --- a/Changelog.md +++ b/Changelog.md @@ -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 diff --git a/Custom.md b/Custom.md new file mode 100644 index 0000000..7ab0855 --- /dev/null +++ b/Custom.md @@ -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= Sustained Power Limit - STAPM LIMIT (mW) + -b, --fast-limit= Actual Power Limit - PPT LIMIT FAST (mW) + -c, --slow-limit= Average Power Limit - PPT LIMIT SLOW (mW) + -d, --slow-time= Slow PPT Constant Time (s) + -e, --stapm-time= STAPM constant time (s) + -f, --tctl-temp= Tctl Temperature Limit (degree C) + -g, --vrm-current= VRM Current Limit - TDC LIMIT VDD (mA) + -j, --vrmsoc-current= VRM SoC Current Limit - TDC LIMIT SoC (mA) + --vrmgfx-current= VRM GFX Current Limit - TDC LIMIT GFX (mA) + --vrmcvip-current= VRM CVIP Current Limit - TDC LIMIT CVIP (mA) + -k, --vrmmax-current= VRM Maximum Current Limit - EDC LIMIT VDD (mA) + -l, --vrmsocmax-current= VRM SoC Maximum Current Limit - EDC LIMIT SoC (mA) + --vrmgfxmax_current= VRM GFX Maximum Current Limit - EDC LIMIT GFX (mA) + -m, --psi0-current= PSI0 VDD Current Limit (mA) + --psi3cpu_current= PSI3 CPU Current Limit (mA) + -n, --psi0soc-current= PSI0 SoC Current Limit (mA) + --psi3gfx_current= PSI3 GFX Current Limit (mA) + -o, --max-socclk-frequency= Maximum SoC Clock Frequency (MHz) + -p, --min-socclk-frequency= Minimum SoC Clock Frequency (MHz) + -q, --max-fclk-frequency= Maximum Transmission (CPU-GPU) Frequency (MHz) + -r, --min-fclk-frequency= Minimum Transmission (CPU-GPU) Frequency (MHz) + -s, --max-vcn= Maximum Video Core Next (VCE - Video Coding Engine) (MHz) + -t, --min-vcn= Minimum Video Core Next (VCE - Video Coding Engine) (MHz) + -u, --max-lclk= Maximum Data Launch Clock (MHz) + -v, --min-lclk= Minimum Data Launch Clock (MHz) + -w, --max-gfxclk= Maximum GFX Clock (MHz) + -x, --min-gfxclk= Minimum GFX Clock (MHz) + -y, --prochot-deassertion-ramp= Ramp Time After Prochot is Deasserted: limit power based on value, higher values does apply tighter limits after prochot is over + --apu-skin-temp= APU Skin Temperature Limit - STT LIMIT APU (degree C) + --dgpu-skin-temp= dGPU Skin Temperature Limit - STT LIMIT dGPU (degree C) + --apu-slow-limit= APU PPT Slow Power limit for A+A dGPU platform - PPT LIMIT APU (mW) + --skin-temp-limit= Skin Temperature Power Limit (mW) + --gfx-clk= Forced Clock Speed MHz (Renoir Only) + --oc-clk= Forced Core Clock Speed MHz (Renoir and up Only) + --oc-volt= 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= All core Curve Optimiser + --set-coper= Per core Curve Optimiser + --set-cogfx= 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 , Under LGPL. +Version: v0.14.0 +``` diff --git a/README.md b/README.md index fc82c6d..3344e8c 100644 --- a/README.md +++ b/README.md @@ -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 diff --git a/UXTU4Mac/DirectHW.kext.zip b/UXTU4Mac/DirectHW.kext.zip deleted file mode 100644 index 9f29c937801c03e6b32ea10fba212e5ceb3ec954..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 16259 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 + + + + BuildMachineOSBuild + 21G726 + CFBundleDevelopmentRegion + en + CFBundleExecutable + DirectHW + CFBundleIdentifier + com.coresystems.DirectHW + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + DirectHW + CFBundlePackageType + KEXT + CFBundleShortVersionString + 1.6.1 + CFBundleSignature + ???? + CFBundleSupportedPlatforms + + MacOSX + + CFBundleVersion + 1.6.1 + DTCompiler + com.apple.compilers.llvm.clang.1_0 + DTPlatformBuild + 14C18 + DTPlatformName + macosx + DTPlatformVersion + 13.1 + DTSDKBuild + 22C55 + DTSDKName + macosx13.1 + DTXcode + 1420 + DTXcodeBuild + 14C18 + IOKitPersonalities + + DirectHWUserClient + + CFBundleIdentifier + com.coresystems.DirectHW + IOClass + DirectHWService + IOMatchCategory + DirectHWService + IOProviderClass + IOResources + IOResourceMatch + IOKit + IOUserClientClass + DirectHWUserClient + + + LSMinimumSystemVersion + 13.1 + NSHumanReadableCopyright + Copyright © 2008-2010 coresystems GmbH <info@coresystems.de>. All rights reserved. + OSBundleCompatibleVersion + 1.0 + OSBundleLibraries + + com.apple.iokit.IOPCIFamily + 1.0.0 + com.apple.kpi.iokit + 8.0.0 + com.apple.kpi.libkern + 8.0.0 + com.apple.kpi.mach + 8.0.0 + com.apple.kpi.unsupported + 8.0.0 + + + diff --git a/UXTU4Mac/Kexts/DirectHW.kext/Contents/MacOS/DirectHW b/UXTU4Mac/Kexts/DirectHW.kext/Contents/MacOS/DirectHW new file mode 100644 index 0000000000000000000000000000000000000000..4fdf82c03518cc8b502e04b7824f3dbe5e7eb406 GIT binary patch literal 186608 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%0A8LooAm`^j7w1L~muEHuP5ZX+m#hpB99D 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 literal 0 HcmV?d00001 diff --git a/UXTU4Mac/Kexts/DirectHW.kext/Contents/PkgInfo b/UXTU4Mac/Kexts/DirectHW.kext/Contents/PkgInfo new file mode 100644 index 0000000..bdab95b --- /dev/null +++ b/UXTU4Mac/Kexts/DirectHW.kext/Contents/PkgInfo @@ -0,0 +1 @@ +KEXT???? \ No newline at end of file diff --git a/UXTU4Mac/RielUXTU.py b/UXTU4Mac/UXTU4Mac.py similarity index 85% rename from UXTU4Mac/RielUXTU.py rename to UXTU4Mac/UXTU4Mac.py index 2e71e9f..cfbce83 100644 --- a/UXTU4Mac/RielUXTU.py +++ b/UXTU4Mac/UXTU4Mac.py @@ -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') @@ -35,7 +35,6 @@ def main_menu(): print("2. Settings") print() print("A. About") - print() print("Q. Quit") def about_menu(): @@ -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() @@ -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() diff --git a/UXTU4Mac/ryzenadj b/UXTU4Mac/ryzenadj index 668c801f8ac6643cb35c541a069fe846597f0d50..cd40aca983c3ab5269c2b58c741132f35e5b51ad 100755 GIT binary patch delta 18522 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 MO5)#@JIK=i0MSXPx&QzG diff --git a/UXTU4Mac/start-macOS.command b/UXTU4Mac/start-macOS.command index 837039c..62ed4ba 100755 --- a/UXTU4Mac/start-macOS.command +++ b/UXTU4Mac/start-macOS.command @@ -1,3 +1,3 @@ cd "$(dirname "$0")" clear -python3 RielUXTU.py +python3 UXTU4Mac.py