mirror of
https://github.com/FeralInteractive/gamemode.git
synced 2025-06-06 15:47:20 +02:00
Adjust checking in gpuclockctl to assist when errors happen
This commit is contained in:
parent
ab5fdad3cb
commit
42d7503482
@ -64,6 +64,9 @@ static int get_gpu_state_nv(struct GameModeGPUInfo *info)
|
||||
if (info->vendor != Vendor_NVIDIA)
|
||||
return -1;
|
||||
|
||||
if (!getenv("DISPLAY"))
|
||||
LOG_ERROR("Getting Nvidia parameters requires DISPLAY to be set - will likely fail!\n");
|
||||
|
||||
char arg[128] = { 0 };
|
||||
char buf[EXTERNAL_BUFFER_MAX] = { 0 };
|
||||
char *end;
|
||||
@ -127,7 +130,10 @@ static int set_gpu_state_nv(struct GameModeGPUInfo *info)
|
||||
if (info->vendor != Vendor_NVIDIA)
|
||||
return -1;
|
||||
|
||||
// These commands don't technically even need root
|
||||
if (!getenv("DISPLAY") || !getenv("XAUTHORITY"))
|
||||
LOG_ERROR(
|
||||
"Setting Nvidia parameters requires DISPLAY and XAUTHORITY to be set - will likely "
|
||||
"fail!\n");
|
||||
|
||||
/* Set the GPUGraphicsClockOffset parameter */
|
||||
char core_arg[128];
|
||||
@ -200,6 +206,12 @@ static int set_gpu_state_amd(struct GameModeGPUInfo *info)
|
||||
if (info->vendor != Vendor_AMD)
|
||||
return -1;
|
||||
|
||||
/* Must be root to set the state */
|
||||
if (geteuid() != 0) {
|
||||
fprintf(stderr, "gpuclockctl must be run as root to set AMD values\n");
|
||||
print_usage_and_exit();
|
||||
}
|
||||
|
||||
// Set the the core and mem clock speeds using the OverDrive files
|
||||
if (set_gpu_state_amd_file("pp_sclk_od", info->device, info->core) != 0)
|
||||
return -1;
|
||||
@ -278,12 +290,6 @@ int main(int argc, char *argv[])
|
||||
printf("%ld %ld\n", info.core, info.mem);
|
||||
|
||||
} else if (argc >= 6 && argc <= 7 && strncmp(argv[3], "set", 3) == 0) {
|
||||
/* Must be root to set the state */
|
||||
if (geteuid() != 0) {
|
||||
fprintf(stderr, "gpuclockctl must be run as root to set values\n");
|
||||
print_usage_and_exit();
|
||||
}
|
||||
|
||||
/* Get and verify the vendor and device */
|
||||
struct GameModeGPUInfo info;
|
||||
memset(&info, 0, sizeof(info));
|
||||
|
Loading…
x
Reference in New Issue
Block a user