fetch nvidia vram used from nvctrl

pull/20/head
FlightlessMango 4 years ago committed by jackun
parent 23280e0e78
commit 6affdb8c51
No known key found for this signature in database
GPG Key ID: 119DB3F1D05A9ED3

@ -14,6 +14,8 @@
#include <sstream>
#include <regex>
#include "nvidia_info.h"
#include "memory.h"
#include "nvctrl.h"
using namespace std;
@ -74,6 +76,7 @@ void *getNvidiaGpuInfo(void *){
getNvidiaInfo();
gpuLoad = nvidiaUtilization.gpu;
gpuTemp = nvidiaTemp;
gpuMemUsed = nvidiaMemUsed();
}
pthread_detach(nvidiaSmiThread);

@ -40,8 +40,10 @@ vklayer_files = files(
'nvml.cpp',
'file_utils.cpp',
'memory.cpp',
'nvctrl.cpp',
)
lib_xnvctrl = cc.find_library('XNVCtrl')
vklayer_mesa_overlay = shared_library(
'MangoHud',
util_files,
@ -64,7 +66,8 @@ vklayer_mesa_overlay = shared_library(
vulkan_wsi_deps,
libimgui_core_dep,
dep_dl,
dep_pthread],
dep_pthread,
lib_xnvctrl],
include_directories : inc_common,
link_args : cc.get_supported_link_arguments(['-Wl,-Bsymbolic-functions', '-Wl,-z,relro']),
install : true

@ -0,0 +1,13 @@
#include "nvctrl.h"
Display *display = XOpenDisplay(NULL);
int nvidiaMemUsed(){
int ret;
XNVCTRLQueryTargetAttribute(display,
NV_CTRL_TARGET_TYPE_GPU,
0,
0,
NV_CTRL_USED_DEDICATED_GPU_MEMORY,
&ret);
return ret;
}

@ -0,0 +1,5 @@
#include <X11/Xlib.h>
#include "NVCtrl/NVCtrl.h"
#include "NVCtrl/NVCtrlLib.h"
int nvidiaMemUsed(void);

@ -29,5 +29,5 @@ void getNvidiaInfo(){
nvml.nvmlDeviceGetHandleByIndex(0, &nvidiaDevice);
nvml.nvmlDeviceGetUtilizationRates(nvidiaDevice, &nvidiaUtilization);
nvml.nvmlDeviceGetTemperature(nvidiaDevice, NVML_TEMPERATURE_GPU, &nvidiaTemp);
nvml.nvmlDeviceGetMemoryInfo(nvidiaDevice, &nvidiaMemory);
// nvml.nvmlDeviceGetMemoryInfo(nvidiaDevice, &nvidiaMemory);
}
Loading…
Cancel
Save