[v0.20] Print help message when no GPU is detected to help people understand whats going on

This commit is contained in:
Dr-Noob
2021-12-21 17:02:08 +01:00
parent 3e9f72fcf0
commit a20e93f4db
6 changed files with 70 additions and 31 deletions

View File

@@ -1,32 +1,7 @@
#ifndef __ASCII__
#define __ASCII__
#define C_NONE ""
#define C_FG_BLACK "\x1b[30;1m"
#define C_FG_RED "\x1b[31;1m"
#define C_FG_GREEN "\x1b[32;1m"
#define C_FG_YELLOW "\x1b[33;1m"
#define C_FG_BLUE "\x1b[34;1m"
#define C_FG_MAGENTA "\x1b[35;1m"
#define C_FG_CYAN "\x1b[36;1m"
#define C_FG_WHITE "\x1b[37;1m"
#define C_BG_BLACK "\x1b[40;1m"
#define C_BG_RED "\x1b[41;1m"
#define C_BG_GREEN "\x1b[42;1m"
#define C_BG_YELLOW "\x1b[43;1m"
#define C_BG_BLUE "\x1b[44;1m"
#define C_BG_MAGENTA "\x1b[45;1m"
#define C_BG_CYAN "\x1b[46;1m"
#define C_BG_WHITE "\x1b[47;1m"
#define C_FG_B_BLACK "\x1b[90;1m"
#define C_FG_B_RED "\x1b[91;1m"
#define C_FG_B_GREEN "\x1b[92;1m"
#define C_FG_B_YELLOW "\x1b[93;1m"
#define C_FG_B_BLUE "\x1b[94;1m"
#define C_FG_B_MAGENTA "\x1b[95;1m"
#define C_FG_B_CYAN "\x1b[96;1m"
#define C_FG_B_WHITE "\x1b[97;1m"
#define C_RESET "\x1b[m"
#include "colors.hpp"
struct ascii_logo {
const char* art;

31
src/common/colors.hpp Normal file
View File

@@ -0,0 +1,31 @@
#ifndef __COLORS__
#define __COLORS__
#define C_NONE ""
#define C_FG_BLACK "\x1b[30;1m"
#define C_FG_RED "\x1b[31;1m"
#define C_FG_GREEN "\x1b[32;1m"
#define C_FG_YELLOW "\x1b[33;1m"
#define C_FG_BLUE "\x1b[34;1m"
#define C_FG_MAGENTA "\x1b[35;1m"
#define C_FG_CYAN "\x1b[36;1m"
#define C_FG_WHITE "\x1b[37;1m"
#define C_BG_BLACK "\x1b[40;1m"
#define C_BG_RED "\x1b[41;1m"
#define C_BG_GREEN "\x1b[42;1m"
#define C_BG_YELLOW "\x1b[43;1m"
#define C_BG_BLUE "\x1b[44;1m"
#define C_BG_MAGENTA "\x1b[45;1m"
#define C_BG_CYAN "\x1b[46;1m"
#define C_BG_WHITE "\x1b[47;1m"
#define C_FG_B_BLACK "\x1b[90;1m"
#define C_FG_B_RED "\x1b[91;1m"
#define C_FG_B_GREEN "\x1b[92;1m"
#define C_FG_B_YELLOW "\x1b[93;1m"
#define C_FG_B_BLUE "\x1b[94;1m"
#define C_FG_B_MAGENTA "\x1b[95;1m"
#define C_FG_B_CYAN "\x1b[96;1m"
#define C_FG_B_WHITE "\x1b[97;1m"
#define C_RESET "\x1b[m"
#endif

View File

@@ -71,6 +71,15 @@ int main(int argc, char* argv[]) {
return print_gpus_list(list);
}
if(get_num_gpus_available(list) == 0) {
printErr("No GPU was detected, or the detected GPU is not supported by gpufetch");
printf("Please, make sure that the appropiate backend is enabled:\n");
print_enabled_backends();
printf("Visit https://github.com/Dr-Noob/gpufetch#2-backends for more information\n");
return EXIT_FAILURE;
}
set_log_level(true);
printf("[WARNING]: gpufetch is in beta. The provided information may be incomplete or wrong.\n\

View File

@@ -1,6 +1,7 @@
#include <cstdlib>
#include <cstdio>
#include "colors.hpp"
#include "master.hpp"
#include "../cuda/cuda.hpp"
#include "../intel/intel.hpp"
@@ -56,6 +57,27 @@ bool print_gpus_list(struct gpu_list* list) {
return true;
}
void print_enabled_backends() {
printf("- CUDA backend: ");
#ifdef BACKEND_CUDA
printf("%sON%s\n", C_FG_GREEN, C_RESET);
#else
printf("%sOFF%s\n", C_FG_RED, C_RESET);
#endif
printf("- Intel backend: ");
#ifdef BACKEND_INTEL
printf("%sON%s\n", C_FG_GREEN, C_RESET);
#else
printf("%sOFF%s\n", C_FG_RED, C_RESET);
#endif
}
int get_num_gpus_available(struct gpu_list* list) {
return list->num_gpus;
}
struct gpu_info* get_gpu_info(struct gpu_list* list, int idx) {
return list->gpus[idx];
}

View File

@@ -7,6 +7,8 @@ struct gpu_list;
struct gpu_list* get_gpu_list();
bool print_gpus_list(struct gpu_list* list);
int get_num_gpus_available(struct gpu_list* list);
void print_enabled_backends();
struct gpu_info* get_gpu_info(struct gpu_list* list, int idx);
#endif