git: bf0fcd0b2550 - main - benchmarks/mangohud: reapply missing parts of commit 423b6f5be5e4
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 20 Oct 2026 17:38:29 UTC
The branch main has been updated by danfe:
URL: https://cgit.FreeBSD.org/ports/commit/?id=bf0fcd0b2550902c8d691c5f4d14a576a38c18b5
commit bf0fcd0b2550902c8d691c5f4d14a576a38c18b5
Author: Alexey Dokuchaev <danfe@FreeBSD.org>
AuthorDate: 2026-10-20 17:36:46 +0000
Commit: Alexey Dokuchaev <danfe@FreeBSD.org>
CommitDate: 2026-10-20 17:36:46 +0000
benchmarks/mangohud: reapply missing parts of commit 423b6f5be5e4
Now CPU stats and system information are reported correctly again.
---
benchmarks/mangohud/files/patch-src_overlay.cpp | 83 ++++++++++++++++++++++++-
1 file changed, 81 insertions(+), 2 deletions(-)
diff --git a/benchmarks/mangohud/files/patch-src_overlay.cpp b/benchmarks/mangohud/files/patch-src_overlay.cpp
index f56fbfa12996..c348bba02482 100644
--- a/benchmarks/mangohud/files/patch-src_overlay.cpp
+++ b/benchmarks/mangohud/files/patch-src_overlay.cpp
@@ -1,5 +1,14 @@
--- src/overlay.cpp.orig 2023-04-13 17:40:23 UTC
+++ src/overlay.cpp
+@@ -25,7 +25,7 @@
+ #include "amdgpu.h"
+
+
+-#ifdef __linux__
++#ifndef _WIN32
+ #include <libgen.h>
+ #include <unistd.h>
+ #endif
@@ -106,11 +106,11 @@ void update_hw_info(const struct overlay_params& param
if (params.enabled[OVERLAY_PARAM_ENABLED_cpu_stats] || logger->is_active()) {
cpuStats.UpdateCPUData();
@@ -13,7 +22,77 @@
if (params.enabled[OVERLAY_PARAM_ENABLED_cpu_power])
cpuStats.UpdateCpuPower();
#endif
-@@ -928,6 +928,7 @@ std::string get_device_name(uint32_t vendorID, uint32_
+@@ -646,10 +646,10 @@ void render_imgui(swapchain_stats& data, struct overla
+
+ void init_cpu_stats(overlay_params& params)
+ {
+-#ifdef __linux__
+ auto& enabled = params.enabled;
+ enabled[OVERLAY_PARAM_ENABLED_cpu_stats] = cpuStats.Init()
+ && enabled[OVERLAY_PARAM_ENABLED_cpu_stats];
++#ifdef __linux__
+ enabled[OVERLAY_PARAM_ENABLED_cpu_temp] = cpuStats.GetCpuFile()
+ && enabled[OVERLAY_PARAM_ENABLED_cpu_temp];
+ enabled[OVERLAY_PARAM_ENABLED_cpu_power] = cpuStats.InitCpuPowerData()
+@@ -809,21 +809,21 @@ void init_gpu_stats(uint32_t& vendorID, uint32_t repor
+ }
+
+ void init_system_info(){
+- #ifdef __linux__
+ const char* ld_preload = getenv("LD_PRELOAD");
+ if (ld_preload)
+ unsetenv("LD_PRELOAD");
+
+- ram = exec("sed -n 's/^MemTotal: *\\([0-9]*\\).*/\\1/p' /proc/meminfo");
+- trim(ram);
+- cpu = exec("sed -n 's/^model name.*: \\(.*\\)/\\1/p' /proc/cpuinfo | sed 's/([^)]*)//g' | tail -n1");
+- trim(cpu);
+- kernel = exec("uname -r");
+- trim(kernel);
+- os = exec("sed -n 's/PRETTY_NAME=\\(.*\\)/\\1/p' /etc/*-release");
+- os.erase(remove(os.begin(), os.end(), '\"' ), os.end());
+- trim(os);
+- cpusched = read_line("/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor");
++ ram = to_string(sysconf(_SC_PHYS_PAGES) * sysconf(_SC_PAGESIZE)
++ / 1024 / 1024) + " MB";
++ cpu = read_sysctl<string>("hw.model");
++ kernel = to_string(read_sysctl<int>("kern.osreldate"));
++ os = read_sysctl<string>("kern.ostype") + " " +
++ read_sysctl<string>("kern.osrelease");
++ gpu = exec("pciconf -lv | grep -A2 ^vgapci0 | tail -1 | cut -d\\' -f2");
++ trim(gpu);
++ driver = exec("glxinfo -B | grep 'OpenGL version' | sed 's/^.*: //'");
++ trim(driver);
++ cpusched = read_sysctl<string>("kern.sched.name");
+
+ const char* mangohud_recursion = getenv("MANGOHUD_RECURSION");
+ if (!mangohud_recursion) {
+@@ -882,6 +882,8 @@ void init_system_info(){
+ else {
+ wineVersion = "";
+ }
++
++#ifdef __linux__
+ // check for gamemode and vkbasalt
+ fs::path path("/proc/self/map_files/");
+ for (auto& p : fs::directory_iterator(path)) {
+@@ -894,6 +896,7 @@ void init_system_info(){
+ if (HUDElements.gamemode_bol && HUDElements.vkbasalt_bol)
+ break;
+ }
++#endif
+
+ if (ld_preload)
+ setenv("LD_PRELOAD", ld_preload, 1);
+@@ -904,7 +907,6 @@ void init_system_info(){
+ SPDLOG_DEBUG("Os:{}", os);
+ SPDLOG_DEBUG("Driver:{}", driver);
+ SPDLOG_DEBUG("CPU Scheduler:{}", cpusched);
+-#endif
+ }
+
+ std::string get_device_name(uint32_t vendorID, uint32_t deviceID)
+@@ -928,6 +930,7 @@ std::string get_device_name(uint32_t vendorID, uint32_
}
void update_fan(){
@@ -21,7 +100,7 @@
// This just handles steam deck fan for now
static bool init;
string hwmon_path;
-@@ -948,6 +949,7 @@ void update_fan(){
+@@ -948,6 +951,7 @@ void update_fan(){
fan_speed = stoi(read_line(hwmon_path));
else
fan_speed = -1;