mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-12-29 12:46:02 +00:00
6e28a4dd13
* dotnet format style --severity info Some changes were manually reverted. * dotnet format analyzers --serverity info Some changes have been minimally adapted. * Silence dotnet format IDE0060 warnings * Address dotnet format CA1401 warnings * dotnet-format fixes after rebase * Address most dotnet format whitespace warnings * Apply dotnet format whitespace formatting A few of them have been manually reverted and the corresponding warning was silenced * Another rebase, another dotnet format run * Run dotnet format style after rebase * Add comments to disabled warnings * Remove a few unused parameters * Simplify properties and array initialization, Use const when possible, Remove trailing commas * Address IDE0251 warnings * Revert "Simplify properties and array initialization, Use const when possible, Remove trailing commas" This reverts commit 9462e4136c0a2100dc28b20cf9542e06790aa67e. * dotnet format whitespace after rebase * Small optimizations * Remove alignment * Apply formatting * Fix build issues * Final pass for dotnet format * Add trailing commas Co-authored-by: Ac_K <Acoustik666@gmail.com> * Add trailing commas --------- Co-authored-by: Ac_K <Acoustik666@gmail.com>
62 lines
1.8 KiB
C#
62 lines
1.8 KiB
C#
using System;
|
|
using System.Diagnostics;
|
|
using System.IO;
|
|
using System.Runtime.Versioning;
|
|
|
|
namespace Ryujinx.Ui.Common.Helper
|
|
{
|
|
[SupportedOSPlatform("linux")]
|
|
public static class LinuxHelper
|
|
{
|
|
// NOTE: This value was determined by manual tests and might need to be increased again.
|
|
public const int RecommendedVmMaxMapCount = 524288;
|
|
public const string VmMaxMapCountPath = "/proc/sys/vm/max_map_count";
|
|
public const string SysCtlConfigPath = "/etc/sysctl.d/99-Ryujinx.conf";
|
|
public static int VmMaxMapCount => int.Parse(File.ReadAllText(VmMaxMapCountPath));
|
|
public static string PkExecPath { get; } = GetBinaryPath("pkexec");
|
|
|
|
private static string GetBinaryPath(string binary)
|
|
{
|
|
string pathVar = Environment.GetEnvironmentVariable("PATH");
|
|
|
|
if (pathVar is null || string.IsNullOrEmpty(binary))
|
|
{
|
|
return null;
|
|
}
|
|
|
|
foreach (var searchPath in pathVar.Split(":", StringSplitOptions.TrimEntries | StringSplitOptions.RemoveEmptyEntries))
|
|
{
|
|
string binaryPath = Path.Combine(searchPath, binary);
|
|
|
|
if (File.Exists(binaryPath))
|
|
{
|
|
return binaryPath;
|
|
}
|
|
}
|
|
|
|
return null;
|
|
}
|
|
|
|
public static int RunPkExec(string command)
|
|
{
|
|
if (PkExecPath == null)
|
|
{
|
|
return 1;
|
|
}
|
|
|
|
using Process process = new()
|
|
{
|
|
StartInfo =
|
|
{
|
|
FileName = PkExecPath,
|
|
ArgumentList = { "sh", "-c", command },
|
|
},
|
|
};
|
|
|
|
process.Start();
|
|
process.WaitForExit();
|
|
|
|
return process.ExitCode;
|
|
}
|
|
}
|
|
}
|