All: Support [unofficial APU drivers](https://sourceforge.net/projects/amernimezone/files/Release%20Polaris-Vega-Navi/AMD%20SOC%20Driver%20Variant/) that present themselves as AMD Radeon 670M

This commit is contained in:
Kamil Trzcinski 2023-04-28 22:57:19 +02:00 committed by Kamil Trzciński
parent ec15d52f5a
commit af6cee0bff
3 changed files with 32 additions and 8 deletions

View file

@ -52,6 +52,7 @@ namespace PerformanceOverlay
public class HardwareSensor : ValueSensor
{
public string HardwareName { get; set; } = "";
public IList<string> HardwareNames { get; set; } = new List<string>();
public HardwareType HardwareType { get; set; }
public string SensorName { get; set; } = "";
public SensorType SensorType { get; set; }
@ -60,11 +61,29 @@ namespace PerformanceOverlay
{
return sensor != null &&
sensor.Hardware.HardwareType == HardwareType &&
sensor.Hardware.Name.StartsWith(HardwareName) &&
MatchesHardwareName(sensor.Hardware.Name) &&
sensor.SensorType == SensorType &&
sensor.Name == SensorName;
}
private bool MatchesHardwareName(string sensorHardwareName)
{
if (HardwareNames.Count > 0)
{
if (HardwareNames.Any(hardwareName => sensorHardwareName.StartsWith(hardwareName)))
return true;
}
// Empty string matches always
if (HardwareName.Length == 0)
return true;
if (sensorHardwareName.StartsWith(HardwareName))
return true;
return false;
}
public string? GetValue(ISensor sensor)
{
if (!sensor.Value.HasValue)
@ -216,7 +235,7 @@ namespace PerformanceOverlay
"GPU_%", new HardwareSensor()
{
HardwareType = HardwareType.GpuAmd,
HardwareName = "AMD Custom GPU 0405",
HardwareNames = { "AMD Custom GPU 0405", "AMD Radeon 670M" },
SensorType = SensorType.Load,
SensorName = "D3D 3D",
Format = "F0"
@ -226,7 +245,7 @@ namespace PerformanceOverlay
"GPU_MB", new HardwareSensor()
{
HardwareType = HardwareType.GpuAmd,
HardwareName = "AMD Custom GPU 0405",
HardwareNames = { "AMD Custom GPU 0405", "AMD Radeon 670M" },
SensorType = SensorType.SmallData,
SensorName = "D3D Dedicated Memory Used",
Format = "F0"
@ -236,7 +255,7 @@ namespace PerformanceOverlay
"GPU_GB", new HardwareSensor()
{
HardwareType = HardwareType.GpuAmd,
HardwareName = "AMD Custom GPU 0405",
HardwareNames = { "AMD Custom GPU 0405", "AMD Radeon 670M" },
SensorType = SensorType.SmallData,
SensorName = "D3D Dedicated Memory Used",
Format = "F0",
@ -247,7 +266,7 @@ namespace PerformanceOverlay
"GPU_W", new HardwareSensor()
{
HardwareType = HardwareType.GpuAmd,
HardwareName = "AMD Custom GPU 0405",
HardwareNames = { "AMD Custom GPU 0405", "AMD Radeon 670M" },
SensorType = SensorType.Power,
SensorName = "GPU SoC",
Format = "F1"
@ -257,7 +276,7 @@ namespace PerformanceOverlay
"GPU_MHZ", new HardwareSensor()
{
HardwareType = HardwareType.GpuAmd,
HardwareName = "AMD Custom GPU 0405",
HardwareNames = { "AMD Custom GPU 0405", "AMD Radeon 670M" },
SensorType = SensorType.Clock,
SensorName = "GPU Core",
Format = "F0"
@ -267,7 +286,7 @@ namespace PerformanceOverlay
"GPU_T", new HardwareSensor()
{
HardwareType = HardwareType.GpuAmd,
HardwareName = "AMD Custom GPU 0405",
HardwareNames = { "AMD Custom GPU 0405", "AMD Radeon 670M" },
SensorType = SensorType.Temperature,
SensorName = "GPU Temperature",
Format = "F1",

View file

@ -10,7 +10,11 @@ namespace PowerControl.Helpers.AMD
public static readonly Device[] SupportedDevices =
{
// SteamDeck
new Device("AMD Custom GPU 0405", 0x80300000, 0x8037ffff, new uint[] { 0x43F3900, 0x43F3C05, 0x43F3E00 })
new Device("AMD Custom GPU 0405", 0x80300000, 0x8037ffff, new uint[] { 0x43F3900, 0x43F3C05, 0x43F3E00 }),
// SteamDeck unofficial APU drivers
// https://sourceforge.net/projects/amernimezone/files/Release%20Polaris-Vega-Navi/AMD%20SOC%20Driver%20Variant/
new Device("AMD Radeon 670M", 0x80300000, 0x8037ffff, new uint[] { 0x43F3900, 0x43F3C05, 0x43F3E00 }),
};
private static Device? DetectedDevice;

View file

@ -9,6 +9,7 @@
## 0.6.x
- All: Support [unofficial APU drivers](https://sourceforge.net/projects/amernimezone/files/Release%20Polaris-Vega-Navi/AMD%20SOC%20Driver%20Variant/) that present themselves as `AMD Radeon 670M`
- PowerControl: Show Game Profiles menu item
- PowerControl: Support SMU of Vangogh GPU shipped with BIOS 115
- SteamController: Add `DS4` support (with Gyro, Accel, Trackpads and Haptics)