mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-11-14 05:56:42 +00:00
Log Ryujinx Version, OS Name, CPU Name and RAM size (#1102)
* Log Ryujinx version and OS * Log total RAM size and CPU name * Requested changes * requested change * jd's requested changes * jd's requested changes
This commit is contained in:
parent
fe5bb439f1
commit
a065dc1626
3 changed files with 50 additions and 1 deletions
|
@ -31,6 +31,7 @@
|
||||||
<NoWarn>NU1701</NoWarn>
|
<NoWarn>NU1701</NoWarn>
|
||||||
</PackageReference>
|
</PackageReference>
|
||||||
<PackageReference Include="MsgPack.Cli" Version="1.0.1" />
|
<PackageReference Include="MsgPack.Cli" Version="1.0.1" />
|
||||||
|
<PackageReference Include="System.Management" Version="4.7.0" />
|
||||||
<PackageReference Include="Utf8Json" Version="1.3.7" />
|
<PackageReference Include="Utf8Json" Version="1.3.7" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
|
||||||
|
|
41
Ryujinx.Common/SystemInfo.cs
Normal file
41
Ryujinx.Common/SystemInfo.cs
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
using System;
|
||||||
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Management;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
namespace Ryujinx.Common
|
||||||
|
{
|
||||||
|
public static class SystemInfo
|
||||||
|
{
|
||||||
|
public static string OsDescription { get; private set; }
|
||||||
|
public static string CpuName { get; private set; }
|
||||||
|
public static string RamSize { get; private set; }
|
||||||
|
|
||||||
|
static SystemInfo()
|
||||||
|
{
|
||||||
|
OsDescription = $"{RuntimeInformation.OSDescription} ({RuntimeInformation.OSArchitecture})";
|
||||||
|
CpuName = "Unknown";
|
||||||
|
RamSize = "Unknown";
|
||||||
|
|
||||||
|
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
|
||||||
|
{
|
||||||
|
foreach (ManagementBaseObject mObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_Processor").Get())
|
||||||
|
{
|
||||||
|
CpuName = mObject["Name"].ToString();
|
||||||
|
}
|
||||||
|
|
||||||
|
foreach (ManagementBaseObject mObject in new ManagementObjectSearcher("root\\CIMV2", "SELECT * FROM Win32_OperatingSystem").Get())
|
||||||
|
{
|
||||||
|
RamSize = $"{Math.Round(double.Parse(mObject["TotalVisibleMemorySize"].ToString()) / 1024, 0)} MB";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux))
|
||||||
|
{
|
||||||
|
CpuName = File.ReadAllLines("/proc/cpuinfo").Where(line => line.StartsWith("model name")).ToList()[0].Split(":")[1].Trim();
|
||||||
|
RamSize = $"{Math.Round(double.Parse(File.ReadAllLines("/proc/meminfo")[0].Split(":")[1].Trim().Split(" ")[0]) / 1024, 0)} MB";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
using Gtk;
|
using Gtk;
|
||||||
|
using Ryujinx.Common;
|
||||||
using Ryujinx.Common.Logging;
|
using Ryujinx.Common.Logging;
|
||||||
using Ryujinx.Configuration;
|
using Ryujinx.Configuration;
|
||||||
using Ryujinx.Debugger.Profiler;
|
using Ryujinx.Debugger.Profiler;
|
||||||
|
@ -42,6 +43,12 @@ namespace Ryujinx
|
||||||
// Initialize Discord integration
|
// Initialize Discord integration
|
||||||
DiscordIntegrationModule.Initialize();
|
DiscordIntegrationModule.Initialize();
|
||||||
|
|
||||||
|
Logger.PrintInfo(LogClass.Application, $"Ryujinx Version: {Version}");
|
||||||
|
|
||||||
|
Logger.PrintInfo(LogClass.Application, $"Operating System: {SystemInfo.OsDescription}");
|
||||||
|
Logger.PrintInfo(LogClass.Application, $"CPU: {SystemInfo.CpuName}");
|
||||||
|
Logger.PrintInfo(LogClass.Application, $"Total RAM: {SystemInfo.RamSize}");
|
||||||
|
|
||||||
string localConfigurationPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json");
|
string localConfigurationPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Config.json");
|
||||||
string globalBasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx");
|
string globalBasePath = Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "Ryujinx");
|
||||||
string globalConfigurationPath = Path.Combine(globalBasePath, "Config.json");
|
string globalConfigurationPath = Path.Combine(globalBasePath, "Config.json");
|
||||||
|
|
Loading…
Reference in a new issue