From 60d10201e9bc349b2d803a0efa3f81d444cc136c Mon Sep 17 00:00:00 2001 From: Joona Date: Tue, 22 Aug 2017 18:02:03 -0700 Subject: NOISSUE Add GPU vendor and driver version --- api/logic/minecraft/launch/PrintInstanceInfo.cpp | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'api/logic/minecraft/launch/PrintInstanceInfo.cpp') diff --git a/api/logic/minecraft/launch/PrintInstanceInfo.cpp b/api/logic/minecraft/launch/PrintInstanceInfo.cpp index da204c1b..5f25970d 100644 --- a/api/logic/minecraft/launch/PrintInstanceInfo.cpp +++ b/api/logic/minecraft/launch/PrintInstanceInfo.cpp @@ -38,17 +38,39 @@ void PrintInstanceInfo::executeTask() } char buff[512]; - FILE *fp = popen("lspci", "r"); + int gpuline = -1; + int cline = 0; + FILE *fp = popen("lspci -k", "r"); while (fgets(buff, 512, fp) != NULL) { std::string str(buff); if (str.substr(8, 3) == "VGA") { + gpuline = cline; QStringList glines = (QStringList() << QString::fromStdString(str.substr(35, std::string::npos))); logLines(glines, MessageLevel::MultiMC); } + if (gpuline > -1 && gpuline != cline) + { + if (cline - gpuline < 3) + { + QStringList alines = (QStringList() << QString::fromStdString(str.substr(1, std::string::npos))); + logLines(alines, MessageLevel::MultiMC); + } + } + cline++; } + FILE *fp2 = popen("glxinfo", "r"); + while (fgets(buff, 512, fp2) != NULL) + { + if (strncmp(buff, "OpenGL version string:", 22) == 0) + { + QStringList drlines = (QStringList() << QString::fromUtf8(buff)); + logLines(drlines, MessageLevel::MultiMC); + break; + } + } #endif logLines(lines, MessageLevel::MultiMC); -- cgit v1.2.3