mirror of
https://github.com/jkocon/g-helper.git
synced 2026-02-23 13:00:52 +01:00
CPU power limits for old devices
This commit is contained in:
@@ -427,6 +427,7 @@ public class AsusACPI
|
||||
return DeviceGet(PPT_CPUB0) >= 0 && DeviceGet(PPT_GPUC0) < 0;
|
||||
}
|
||||
|
||||
|
||||
public void ScanRange()
|
||||
{
|
||||
int value;
|
||||
|
||||
249
app/Fans.Designer.cs
generated
249
app/Fans.Designer.cs
generated
@@ -31,14 +31,14 @@ namespace GHelper
|
||||
/// </summary>
|
||||
private void InitializeComponent()
|
||||
{
|
||||
ChartArea chartArea5 = new ChartArea();
|
||||
Title title5 = new Title();
|
||||
ChartArea chartArea6 = new ChartArea();
|
||||
Title title6 = new Title();
|
||||
ChartArea chartArea7 = new ChartArea();
|
||||
Title title7 = new Title();
|
||||
ChartArea chartArea8 = new ChartArea();
|
||||
Title title8 = new Title();
|
||||
ChartArea chartArea1 = new ChartArea();
|
||||
Title title1 = new Title();
|
||||
ChartArea chartArea2 = new ChartArea();
|
||||
Title title2 = new Title();
|
||||
ChartArea chartArea3 = new ChartArea();
|
||||
Title title3 = new Title();
|
||||
ChartArea chartArea4 = new ChartArea();
|
||||
Title title4 = new Title();
|
||||
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(Fans));
|
||||
panelFans = new Panel();
|
||||
labelTip = new Label();
|
||||
@@ -61,13 +61,6 @@ namespace GHelper
|
||||
comboBoost = new RComboBox();
|
||||
panelSliders = new Panel();
|
||||
panelAdvanced = new Panel();
|
||||
panelTemperature = new Panel();
|
||||
labelTemp = new Label();
|
||||
labelLeftTemp = new Label();
|
||||
trackTemp = new TrackBar();
|
||||
panelTitleTemp = new Panel();
|
||||
pictureTemp = new PictureBox();
|
||||
labelTempLimit = new Label();
|
||||
panelAdvancedApply = new Panel();
|
||||
checkApplyUV = new RCheckBox();
|
||||
buttonApplyAdvanced = new RButton();
|
||||
@@ -83,6 +76,13 @@ namespace GHelper
|
||||
panelTitleAdvanced = new Panel();
|
||||
pictureUV = new PictureBox();
|
||||
labelTitleUV = new Label();
|
||||
panelTemperature = new Panel();
|
||||
labelTemp = new Label();
|
||||
labelLeftTemp = new Label();
|
||||
trackTemp = new TrackBar();
|
||||
panelTitleTemp = new Panel();
|
||||
pictureTemp = new PictureBox();
|
||||
labelTempLimit = new Label();
|
||||
panelPower = new Panel();
|
||||
panelApplyPower = new Panel();
|
||||
checkApplyPower = new RCheckBox();
|
||||
@@ -141,10 +141,6 @@ namespace GHelper
|
||||
panelApplyFans.SuspendLayout();
|
||||
panelSliders.SuspendLayout();
|
||||
panelAdvanced.SuspendLayout();
|
||||
panelTemperature.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTemp).BeginInit();
|
||||
panelTitleTemp.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTemp).BeginInit();
|
||||
panelAdvancedApply.SuspendLayout();
|
||||
panelUViGPU.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackUViGPU).BeginInit();
|
||||
@@ -152,6 +148,10 @@ namespace GHelper
|
||||
((System.ComponentModel.ISupportInitialize)trackUV).BeginInit();
|
||||
panelTitleAdvanced.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureUV).BeginInit();
|
||||
panelTemperature.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTemp).BeginInit();
|
||||
panelTitleTemp.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTemp).BeginInit();
|
||||
panelPower.SuspendLayout();
|
||||
panelApplyPower.SuspendLayout();
|
||||
panelB0.SuspendLayout();
|
||||
@@ -234,8 +234,8 @@ namespace GHelper
|
||||
//
|
||||
// chartGPU
|
||||
//
|
||||
chartArea5.Name = "ChartArea1";
|
||||
chartGPU.ChartAreas.Add(chartArea5);
|
||||
chartArea1.Name = "ChartArea1";
|
||||
chartGPU.ChartAreas.Add(chartArea1);
|
||||
chartGPU.Dock = DockStyle.Fill;
|
||||
chartGPU.Location = new Point(12, 467);
|
||||
chartGPU.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -243,13 +243,13 @@ namespace GHelper
|
||||
chartGPU.Size = new Size(782, 437);
|
||||
chartGPU.TabIndex = 17;
|
||||
chartGPU.Text = "chartGPU";
|
||||
title5.Name = "Title1";
|
||||
chartGPU.Titles.Add(title5);
|
||||
title1.Name = "Title1";
|
||||
chartGPU.Titles.Add(title1);
|
||||
//
|
||||
// chartCPU
|
||||
//
|
||||
chartArea6.Name = "ChartArea1";
|
||||
chartCPU.ChartAreas.Add(chartArea6);
|
||||
chartArea2.Name = "ChartArea1";
|
||||
chartCPU.ChartAreas.Add(chartArea2);
|
||||
chartCPU.Dock = DockStyle.Fill;
|
||||
chartCPU.Location = new Point(12, 10);
|
||||
chartCPU.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -257,13 +257,13 @@ namespace GHelper
|
||||
chartCPU.Size = new Size(782, 437);
|
||||
chartCPU.TabIndex = 14;
|
||||
chartCPU.Text = "chartCPU";
|
||||
title6.Name = "Title1";
|
||||
chartCPU.Titles.Add(title6);
|
||||
title2.Name = "Title1";
|
||||
chartCPU.Titles.Add(title2);
|
||||
//
|
||||
// chartXGM
|
||||
//
|
||||
chartArea7.Name = "ChartAreaXGM";
|
||||
chartXGM.ChartAreas.Add(chartArea7);
|
||||
chartArea3.Name = "ChartAreaXGM";
|
||||
chartXGM.ChartAreas.Add(chartArea3);
|
||||
chartXGM.Dock = DockStyle.Fill;
|
||||
chartXGM.Location = new Point(12, 1381);
|
||||
chartXGM.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -271,14 +271,14 @@ namespace GHelper
|
||||
chartXGM.Size = new Size(782, 440);
|
||||
chartXGM.TabIndex = 14;
|
||||
chartXGM.Text = "chartXGM";
|
||||
title7.Name = "Title4";
|
||||
chartXGM.Titles.Add(title7);
|
||||
title3.Name = "Title4";
|
||||
chartXGM.Titles.Add(title3);
|
||||
chartXGM.Visible = false;
|
||||
//
|
||||
// chartMid
|
||||
//
|
||||
chartArea8.Name = "ChartArea3";
|
||||
chartMid.ChartAreas.Add(chartArea8);
|
||||
chartArea4.Name = "ChartArea3";
|
||||
chartMid.ChartAreas.Add(chartArea4);
|
||||
chartMid.Dock = DockStyle.Fill;
|
||||
chartMid.Location = new Point(12, 924);
|
||||
chartMid.Margin = new Padding(2, 10, 2, 10);
|
||||
@@ -286,8 +286,8 @@ namespace GHelper
|
||||
chartMid.Size = new Size(782, 437);
|
||||
chartMid.TabIndex = 14;
|
||||
chartMid.Text = "chartMid";
|
||||
title8.Name = "Title3";
|
||||
chartMid.Titles.Add(title8);
|
||||
title4.Name = "Title3";
|
||||
chartMid.Titles.Add(title4);
|
||||
chartMid.Visible = false;
|
||||
//
|
||||
// panelTitleFans
|
||||
@@ -494,87 +494,6 @@ namespace GHelper
|
||||
panelAdvanced.TabIndex = 14;
|
||||
panelAdvanced.Visible = false;
|
||||
//
|
||||
// panelTemperature
|
||||
//
|
||||
panelTemperature.AutoSize = true;
|
||||
panelTemperature.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelTemperature.Controls.Add(labelTemp);
|
||||
panelTemperature.Controls.Add(labelLeftTemp);
|
||||
panelTemperature.Controls.Add(trackTemp);
|
||||
panelTemperature.Dock = DockStyle.Top;
|
||||
panelTemperature.Location = new Point(0, 66);
|
||||
panelTemperature.Margin = new Padding(4);
|
||||
panelTemperature.MaximumSize = new Size(0, 124);
|
||||
panelTemperature.Name = "panelTemperature";
|
||||
panelTemperature.Size = new Size(520, 124);
|
||||
panelTemperature.TabIndex = 51;
|
||||
//
|
||||
// labelTemp
|
||||
//
|
||||
labelTemp.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelTemp.Location = new Point(347, 13);
|
||||
labelTemp.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTemp.Name = "labelTemp";
|
||||
labelTemp.Size = new Size(148, 32);
|
||||
labelTemp.TabIndex = 13;
|
||||
labelTemp.Text = "T";
|
||||
labelTemp.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelLeftTemp
|
||||
//
|
||||
labelLeftTemp.AutoSize = true;
|
||||
labelLeftTemp.Location = new Point(10, 10);
|
||||
labelLeftTemp.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftTemp.Name = "labelLeftTemp";
|
||||
labelLeftTemp.Size = new Size(183, 32);
|
||||
labelLeftTemp.TabIndex = 12;
|
||||
labelLeftTemp.Text = "CPU Temp Limit";
|
||||
//
|
||||
// trackTemp
|
||||
//
|
||||
trackTemp.Location = new Point(6, 48);
|
||||
trackTemp.Margin = new Padding(4, 2, 4, 2);
|
||||
trackTemp.Maximum = 0;
|
||||
trackTemp.Minimum = -40;
|
||||
trackTemp.Name = "trackTemp";
|
||||
trackTemp.Size = new Size(508, 90);
|
||||
trackTemp.TabIndex = 11;
|
||||
trackTemp.TickFrequency = 5;
|
||||
trackTemp.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// panelTitleTemp
|
||||
//
|
||||
panelTitleTemp.Controls.Add(pictureTemp);
|
||||
panelTitleTemp.Controls.Add(labelTempLimit);
|
||||
panelTitleTemp.Dock = DockStyle.Top;
|
||||
panelTitleTemp.Location = new Point(0, 0);
|
||||
panelTitleTemp.Name = "panelTitleTemp";
|
||||
panelTitleTemp.Size = new Size(520, 66);
|
||||
panelTitleTemp.TabIndex = 50;
|
||||
//
|
||||
// pictureTemp
|
||||
//
|
||||
pictureTemp.BackgroundImage = Properties.Resources.icons8_temperature_48;
|
||||
pictureTemp.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
pictureTemp.InitialImage = null;
|
||||
pictureTemp.Location = new Point(10, 18);
|
||||
pictureTemp.Margin = new Padding(4, 2, 4, 10);
|
||||
pictureTemp.Name = "pictureTemp";
|
||||
pictureTemp.Size = new Size(36, 38);
|
||||
pictureTemp.TabIndex = 48;
|
||||
pictureTemp.TabStop = false;
|
||||
//
|
||||
// labelTempLimit
|
||||
//
|
||||
labelTempLimit.AutoSize = true;
|
||||
labelTempLimit.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelTempLimit.Location = new Point(51, 20);
|
||||
labelTempLimit.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTempLimit.Name = "labelTempLimit";
|
||||
labelTempLimit.Size = new Size(140, 32);
|
||||
labelTempLimit.TabIndex = 47;
|
||||
labelTempLimit.Text = "Temp Limit";
|
||||
//
|
||||
// panelAdvancedApply
|
||||
//
|
||||
panelAdvancedApply.Controls.Add(checkApplyUV);
|
||||
@@ -618,11 +537,14 @@ namespace GHelper
|
||||
//
|
||||
// labelRisky
|
||||
//
|
||||
labelRisky.BackColor = Color.IndianRed;
|
||||
labelRisky.Dock = DockStyle.Top;
|
||||
labelRisky.ForeColor = SystemColors.ControlLightLight;
|
||||
labelRisky.Location = new Point(0, 504);
|
||||
labelRisky.Margin = new Padding(0, 0, 0, 0);
|
||||
labelRisky.Name = "labelRisky";
|
||||
labelRisky.Padding = new Padding(10, 10, 10, 5);
|
||||
labelRisky.Size = new Size(520, 198);
|
||||
labelRisky.Size = new Size(520, 220);
|
||||
labelRisky.TabIndex = 46;
|
||||
labelRisky.Text = resources.GetString("labelRisky.Text");
|
||||
//
|
||||
@@ -755,6 +677,87 @@ namespace GHelper
|
||||
labelTitleUV.TabIndex = 47;
|
||||
labelTitleUV.Text = "Undervolting";
|
||||
//
|
||||
// panelTemperature
|
||||
//
|
||||
panelTemperature.AutoSize = true;
|
||||
panelTemperature.AutoSizeMode = AutoSizeMode.GrowAndShrink;
|
||||
panelTemperature.Controls.Add(labelTemp);
|
||||
panelTemperature.Controls.Add(labelLeftTemp);
|
||||
panelTemperature.Controls.Add(trackTemp);
|
||||
panelTemperature.Dock = DockStyle.Top;
|
||||
panelTemperature.Location = new Point(0, 66);
|
||||
panelTemperature.Margin = new Padding(4);
|
||||
panelTemperature.MaximumSize = new Size(0, 124);
|
||||
panelTemperature.Name = "panelTemperature";
|
||||
panelTemperature.Size = new Size(520, 124);
|
||||
panelTemperature.TabIndex = 51;
|
||||
//
|
||||
// labelTemp
|
||||
//
|
||||
labelTemp.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelTemp.Location = new Point(347, 13);
|
||||
labelTemp.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTemp.Name = "labelTemp";
|
||||
labelTemp.Size = new Size(148, 32);
|
||||
labelTemp.TabIndex = 13;
|
||||
labelTemp.Text = "T";
|
||||
labelTemp.TextAlign = ContentAlignment.TopRight;
|
||||
//
|
||||
// labelLeftTemp
|
||||
//
|
||||
labelLeftTemp.AutoSize = true;
|
||||
labelLeftTemp.Location = new Point(10, 10);
|
||||
labelLeftTemp.Margin = new Padding(4, 0, 4, 0);
|
||||
labelLeftTemp.Name = "labelLeftTemp";
|
||||
labelLeftTemp.Size = new Size(183, 32);
|
||||
labelLeftTemp.TabIndex = 12;
|
||||
labelLeftTemp.Text = "CPU Temp Limit";
|
||||
//
|
||||
// trackTemp
|
||||
//
|
||||
trackTemp.Location = new Point(6, 48);
|
||||
trackTemp.Margin = new Padding(4, 2, 4, 2);
|
||||
trackTemp.Maximum = 0;
|
||||
trackTemp.Minimum = -40;
|
||||
trackTemp.Name = "trackTemp";
|
||||
trackTemp.Size = new Size(508, 90);
|
||||
trackTemp.TabIndex = 11;
|
||||
trackTemp.TickFrequency = 5;
|
||||
trackTemp.TickStyle = TickStyle.TopLeft;
|
||||
//
|
||||
// panelTitleTemp
|
||||
//
|
||||
panelTitleTemp.Controls.Add(pictureTemp);
|
||||
panelTitleTemp.Controls.Add(labelTempLimit);
|
||||
panelTitleTemp.Dock = DockStyle.Top;
|
||||
panelTitleTemp.Location = new Point(0, 0);
|
||||
panelTitleTemp.Name = "panelTitleTemp";
|
||||
panelTitleTemp.Size = new Size(520, 66);
|
||||
panelTitleTemp.TabIndex = 50;
|
||||
//
|
||||
// pictureTemp
|
||||
//
|
||||
pictureTemp.BackgroundImage = Properties.Resources.icons8_temperature_48;
|
||||
pictureTemp.BackgroundImageLayout = ImageLayout.Zoom;
|
||||
pictureTemp.InitialImage = null;
|
||||
pictureTemp.Location = new Point(10, 18);
|
||||
pictureTemp.Margin = new Padding(4, 2, 4, 10);
|
||||
pictureTemp.Name = "pictureTemp";
|
||||
pictureTemp.Size = new Size(36, 38);
|
||||
pictureTemp.TabIndex = 48;
|
||||
pictureTemp.TabStop = false;
|
||||
//
|
||||
// labelTempLimit
|
||||
//
|
||||
labelTempLimit.AutoSize = true;
|
||||
labelTempLimit.Font = new Font("Segoe UI", 9F, FontStyle.Bold, GraphicsUnit.Point);
|
||||
labelTempLimit.Location = new Point(51, 20);
|
||||
labelTempLimit.Margin = new Padding(4, 0, 4, 0);
|
||||
labelTempLimit.Name = "labelTempLimit";
|
||||
labelTempLimit.Size = new Size(140, 32);
|
||||
labelTempLimit.TabIndex = 47;
|
||||
labelTempLimit.Text = "Temp Limit";
|
||||
//
|
||||
// panelPower
|
||||
//
|
||||
panelPower.AutoSize = true;
|
||||
@@ -1393,12 +1396,6 @@ namespace GHelper
|
||||
panelSliders.PerformLayout();
|
||||
panelAdvanced.ResumeLayout(false);
|
||||
panelAdvanced.PerformLayout();
|
||||
panelTemperature.ResumeLayout(false);
|
||||
panelTemperature.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTemp).EndInit();
|
||||
panelTitleTemp.ResumeLayout(false);
|
||||
panelTitleTemp.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTemp).EndInit();
|
||||
panelAdvancedApply.ResumeLayout(false);
|
||||
panelUViGPU.ResumeLayout(false);
|
||||
panelUViGPU.PerformLayout();
|
||||
@@ -1409,6 +1406,12 @@ namespace GHelper
|
||||
panelTitleAdvanced.ResumeLayout(false);
|
||||
panelTitleAdvanced.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureUV).EndInit();
|
||||
panelTemperature.ResumeLayout(false);
|
||||
panelTemperature.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)trackTemp).EndInit();
|
||||
panelTitleTemp.ResumeLayout(false);
|
||||
panelTitleTemp.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)pictureTemp).EndInit();
|
||||
panelPower.ResumeLayout(false);
|
||||
panelPower.PerformLayout();
|
||||
panelApplyPower.ResumeLayout(false);
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
using CustomControls;
|
||||
using GHelper.Gpu;
|
||||
using Ryzen;
|
||||
using System;
|
||||
using System.Diagnostics;
|
||||
using System.Net.Sockets;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Forms.DataVisualization.Charting;
|
||||
|
||||
namespace GHelper
|
||||
@@ -53,6 +50,8 @@ namespace GHelper
|
||||
labelGPUBoostTitle.Text = Properties.Strings.GPUBoost;
|
||||
labelGPUTempTitle.Text = Properties.Strings.GPUTempTarget;
|
||||
|
||||
labelRisky.Text = Properties.Strings.UndervoltingRisky;
|
||||
|
||||
InitTheme(true);
|
||||
|
||||
MinRPM = 18;
|
||||
@@ -623,7 +622,7 @@ namespace GHelper
|
||||
public void InitPower(bool changed = false)
|
||||
{
|
||||
|
||||
bool modeA0 = Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0;
|
||||
bool modeA0 = Program.acpi.DeviceGet(AsusACPI.PPT_TotalA0) >= 0 || Undervolter.IsAMD();
|
||||
bool modeB0 = Program.acpi.IsAllAmdPPT();
|
||||
bool modeC1 = Program.acpi.DeviceGet(AsusACPI.PPT_APUC1) >= 0;
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<PlatformTarget>AnyCPU</PlatformTarget>
|
||||
<ProduceReferenceAssembly>False</ProduceReferenceAssembly>
|
||||
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
|
||||
<AssemblyVersion>0.89</AssemblyVersion>
|
||||
<AssemblyVersion>0.90</AssemblyVersion>
|
||||
</PropertyGroup>
|
||||
|
||||
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'">
|
||||
|
||||
@@ -193,6 +193,10 @@ namespace GHelper
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case "cpu":
|
||||
Startup.ReScheduleAdmin();
|
||||
settingsForm.FansToggle();
|
||||
break;
|
||||
case "gpu":
|
||||
Startup.ReScheduleAdmin();
|
||||
settingsForm.FansToggle(1);
|
||||
|
||||
11
app/Properties/Strings.Designer.cs
generated
11
app/Properties/Strings.Designer.cs
generated
@@ -160,7 +160,7 @@ namespace GHelper.Properties {
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Apply.
|
||||
/// Looks up a localized string similar to Apply Power Limits.
|
||||
/// </summary>
|
||||
internal static string ApplyPowerLimits {
|
||||
get {
|
||||
@@ -1176,6 +1176,15 @@ namespace GHelper.Properties {
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Undervolting is experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you..
|
||||
/// </summary>
|
||||
internal static string UndervoltingRisky {
|
||||
get {
|
||||
return ResourceManager.GetString("UndervoltingRisky", resourceCulture);
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Looks up a localized string similar to Updates.
|
||||
/// </summary>
|
||||
|
||||
@@ -403,7 +403,7 @@
|
||||
<value>Overdrive</value>
|
||||
</data>
|
||||
<data name="PerformanceMode" xml:space="preserve">
|
||||
<value>Modo de rendimiento</value>
|
||||
<value>Modo</value>
|
||||
</data>
|
||||
<data name="PictureGif" xml:space="preserve">
|
||||
<value>Imagen / Gif</value>
|
||||
|
||||
@@ -489,6 +489,9 @@
|
||||
<data name="UltimateMode" xml:space="preserve">
|
||||
<value>Ultimate</value>
|
||||
</data>
|
||||
<data name="UndervoltingRisky" xml:space="preserve">
|
||||
<value>Undervolting is experimental and risky feature. If applied values are too low for your hardware, it can become unstable, shut down or cause data corruption. If you want to try - start from small values first, click Apply and test what works for you.</value>
|
||||
</data>
|
||||
<data name="Updates" xml:space="preserve">
|
||||
<value>Updates</value>
|
||||
</data>
|
||||
|
||||
@@ -135,12 +135,16 @@ namespace Ryzen
|
||||
|
||||
public Status SendMp1(uint message, ref uint[] arguments)
|
||||
{
|
||||
return SendMsg(MP1_ADDR_MSG, MP1_ADDR_RSP, MP1_ADDR_ARG, message, ref arguments);
|
||||
var result = SendMsg(MP1_ADDR_MSG, MP1_ADDR_RSP, MP1_ADDR_ARG, message, ref arguments);
|
||||
Logger.WriteLine($"RyzenMP1:{message} {arguments[0]} {result}");
|
||||
return result;
|
||||
}
|
||||
|
||||
public Status SendPsmu(uint message, ref uint[] arguments)
|
||||
{
|
||||
return SendMsg(PSMU_ADDR_MSG, PSMU_ADDR_RSP, PSMU_ADDR_ARG, message, ref arguments);
|
||||
var result = SendMsg(PSMU_ADDR_MSG, PSMU_ADDR_RSP, PSMU_ADDR_ARG, message, ref arguments);
|
||||
Logger.WriteLine($"RyzenPSMU:{message} {arguments[0]} {result}");
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -126,11 +126,14 @@ namespace Ryzen
|
||||
|
||||
public static bool IsAMD()
|
||||
{
|
||||
|
||||
if (CPUName.Length == 0) Init();
|
||||
|
||||
return CPUName.Contains("AMD") || CPUName.Contains("Ryzen") || CPUName.Contains("Athlon") || CPUName.Contains("Radeon") || CPUName.Contains("AMD Custom APU 0405");
|
||||
}
|
||||
|
||||
public static bool IsRyzen9()
|
||||
{
|
||||
if (CPUName.Length == 0) Init();
|
||||
return CPUName.Contains("Ryzen 9");
|
||||
}
|
||||
|
||||
public static void SetAddresses()
|
||||
|
||||
@@ -1036,7 +1036,7 @@ namespace GHelper
|
||||
labelPerf.Text = Properties.Strings.PerformanceMode + ": " + Modes.GetCurrentName() + (customFans ? "+" : "") + ((customPower > 0) ? " " + customPower + "W" : "");
|
||||
}
|
||||
|
||||
public void SetPower()
|
||||
public void SetPower(bool launchAsAdmin = false)
|
||||
{
|
||||
|
||||
int limit_total = AppConfig.GetMode("limit_total");
|
||||
@@ -1058,6 +1058,21 @@ namespace GHelper
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_TotalA0, limit_total, "PowerLimit A0");
|
||||
Program.acpi.DeviceSet(AsusACPI.PPT_APUA3, limit_total, "PowerLimit A3");
|
||||
customPower = limit_total;
|
||||
} else if (Undervolter.IsAMD())
|
||||
{
|
||||
|
||||
if (ProcessHelper.IsUserAdministrator())
|
||||
{
|
||||
SendCommand.set_stapm_limit((uint)limit_total * 1000);
|
||||
SendCommand.set_stapm2_limit((uint)limit_total * 1000);
|
||||
SendCommand.set_slow_limit((uint)limit_total * 1000);
|
||||
SendCommand.set_fast_limit((uint)limit_total * 1000);
|
||||
customPower = limit_total;
|
||||
} else if (launchAsAdmin)
|
||||
{
|
||||
ProcessHelper.RunAsAdmin("cpu");
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
if (Program.acpi.IsAllAmdPPT()) // CPU limit all amd models
|
||||
@@ -1293,7 +1308,7 @@ namespace GHelper
|
||||
}
|
||||
else
|
||||
{
|
||||
if (applyPower) SetPower();
|
||||
if (applyPower) SetPower(true);
|
||||
SetGPUPower();
|
||||
AutoUV();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using CustomControls;
|
||||
using HidSharp;
|
||||
using System.Diagnostics;
|
||||
using System.Management;
|
||||
using System.Net;
|
||||
@@ -90,7 +89,8 @@ namespace GHelper
|
||||
{
|
||||
model = results[0];
|
||||
bios = results[1];
|
||||
} else
|
||||
}
|
||||
else
|
||||
{
|
||||
model = obj["SMBIOSBIOSVersion"].ToString();
|
||||
}
|
||||
@@ -118,7 +118,7 @@ namespace GHelper
|
||||
var groups = data.GetProperty("Result").GetProperty("Obj");
|
||||
|
||||
|
||||
List<string> skipList = new() { "Armoury Crate & Aura Creator Installer", "MyASUS", "ASUS Smart Display Control", "Aura Wallpaper", "Virtual Pet","ROG Font V1.5" };
|
||||
List<string> skipList = new() { "Armoury Crate & Aura Creator Installer", "MyASUS", "ASUS Smart Display Control", "Aura Wallpaper", "Virtual Pet", "ROG Font V1.5" };
|
||||
List<DriverDownload> drivers = new();
|
||||
|
||||
for (int i = 0; i < groups.GetArrayLength(); i++)
|
||||
|
||||
Reference in New Issue
Block a user