Add mixed-vendor GPU summary and fix startup heap corruption

Collect AMD amdgpu sysfs and optional NVIDIA nvidia-smi stats in the
background, auto-detecting supported adapters in PCI order and rotating
additional pairs alongside CPU/RAM. Explicit PCI selection and off mode
remain supported; missing metrics render as N/A.

Initialize the bitmap-only canvas locally instead of the ABI-dependent
libg15render initializer: the installed TTF-enabled renderer wrote an
8-byte FreeType pointer past the smaller bitmap-only allocation, corrupting
the heap before GPU threads started. Add collector, rendering and full-main
regression tests.
This commit is contained in:
Mikhail Yevchenko committed 2026-09-07 17:06:32 +00:00
1 parent 076641c867
commit 7c06a8089d
12 files changed
+1417 -4

No files matched your search

+13
View File
@@ -11,5 +11,18 @@ LIBS = -lg15daemon_client -lg15render -lpthread -lm -lrt
IMCLUDES = -I
g15stats_LDFLAGS = -avoid-version
g15stats_SOURCES = g15stats.c g15stats.h
EXTRA_DIST = gpu.h tests/gpu-test.c tests/render-test.c tests/runtime-test.c tests/render-layouts.sh tests/render-images.sh
noinst_HEADERS += gpu.h
AUTOMAKE_OPTIONS = subdir-objects
check_PROGRAMS = gpu-test render-test runtime-test
TESTS = $(check_PROGRAMS) tests/render-layouts.sh
TEST_EXTENSIONS = .sh
SH_LOG_COMPILER = $(SHELL)
gpu_test_SOURCES = tests/gpu-test.c
gpu_test_LDADD = -lpthread
render_test_SOURCES = tests/render-test.c
render_test_LDADD = -lg15daemon_client -lg15render -lpthread -lm -lrt $(GTOP_LIBS)
runtime_test_SOURCES = tests/runtime-test.c
runtime_test_LDADD = -lg15render -lpthread -lm -lrt $(GTOP_LIBS)