-
v0.43.0 Stable
released this
2026-05-29 15:01:01 +00:00 | 0 commits to main since this releaseAdded
- GPU stress test + close thermal monitoring (
rigdoctor stress, and a "Stress test…" button
on System Health). Runs a GPU load and samples sensors at a high rate (default 0.5 s), then
reports per-metric min/avg/peak, how long the core spent above each temperature threshold,
power vs the limit, throttling (decoded from the NVML clocks-event bitmask), and any GPU fault
(Xid / VA-space freeze / a query-timeout hang) that hit during the window — the on-demand way to
reproduce load-correlated crashes. The load comes from an explicit--command(a game or a tool
like gpu-burn), an auto-detected loader (gpu-burn/vkmark/glmark2/vkcube), or monitor-only when
none is found (you launch the game; it tracks temps while you play). - Drive health & wear in the health report. A new
core/drives.pyparses the full
smartctl --jsonfor every drive into prioritized findings: the SMART verdict, a derived
life-left % (NVMepercentage_usedor the SATA wear-leveling attribute), power-on hours,
data written (TBW), temperature, and the early-failure predictors (reallocated / pending /
offline-uncorrectable sectors, NVMe media errors, low available spare). Replaces the old
pass/fail-only SMART check; flows through the same elevated path (GUI launch /sudo rigdoctor report), degrading to per-drive "needs root" notes unprivileged.
Fixed
- GUI "Add game…" can now link a launcher. The dialog only asked for a name, so a custom
game (e.g. SPT) couldn't be given its launch command or log folder from the app — those were
CLI-only, leaving it unlaunchable from the GUI. It's now a proper form: name + an optional
launch command/script (with a Browse… file picker) + an optional log folder (auto-detected
from the script's folder when left blank).
Downloads
- GPU stress test + close thermal monitoring (
-
v0.42.0 Stable
released this
2026-05-29 14:11:55 +00:00 | 4 commits to main since this releaseAdded
- Detect hard freezes that log no Xid. The kernel-log scanner caught Xid codes, OOM, panic,
MCE, PCIe AER, thermal events, and amdgpu resets — but a crash that logs no Xid slipped
through. It now flags the NVIDIA open-kernel-module VA-space mapping fault (gpu_vaspace.c
/dmaAllocMappingassertions, NVKMS GEM-allocation failures) — a driver-internal error that
can storm for minutes and end in a freeze without the GPU ever "falling off the bus" (distinct
from Xid 79). A newcheck_nvidia_module()notes when the open module (nvidia-*-open) is
loaded — the context behind these faults — and a newai_knowledgeentry lets the assistant
tell the no-Xid freeze apart from the Xid 79 hardware drop. - Add games no launcher reports (e.g. SPT). A user-authored custom-games list
(core/customgames.py) shows alongside Steam/Lutris/Heroic inrigdoctor gamesand the GUI
("Add game…"), for standalone mod launchers (Single-Player Tarkov), itch.io downloads, or any
hand-installed game. Each entry can carry a launch command and a log directory:
rigdoctor games add "SPT" --command .../tarkov.sh(a siblinglogs/is auto-detected),
rigdoctor games play "SPT"launches it under the crash-capture wrapper (tagged with the real
name, not the script's), and the diagnostic now tails the game's own logs — SPT's
server/launcher logs — alongside the kernel log so the analysis sees what the game logged
before the freeze.
Downloads
- Detect hard freezes that log no Xid. The kernel-log scanner caught Xid codes, OOM, panic,
-
v0.41.0 Stable
released this
2026-05-25 16:41:56 +00:00 | 9 commits to main since this releaseAdded
- Import a crash dump (
.dmp) and explain it with AI. The Games page gains an
"Import crash dump…" button (shown once an AI provider is configured) that opens a Windows
minidump — the kind a Proton/Wine game writes when it hard-crashes — parses it, and hands the
result to the opt-in AI assistant (D24; cloud sends still ask first). A new stdlib
core/minidump.pyreads theMDMPstreams withstruct(no new deps): the exception / crash
reason (e.g. access violation0xC0000005), the faulting module (which DLL the crash
address lands in —nvwgf2umx.dll,d3d11.dll, an anticheat, the game's own.exe…), OS/CPU,
and the loaded-module list. Ifminidump_stackwalk(Breakpad) orminidump-stackwalk
(rust-minidump) is on PATH, its fuller report is appended best-effort. The model is told the
dump came from a Windows process under Proton, so fixes stay Linux/Proton-side (Proton version,
DXVK/VKD3D, driver, launch options) — never Windows admin/registry steps. Newai_knowledge
facts cover the common exception codes and faulting-module signatures. CLI parity:
rigdoctor ai dump <file>.
Downloads
- Import a crash dump (
-
v0.40.0 Stable
released this
2026-05-22 15:01:20 +00:00 | 12 commits to main since this releaseAdded
- RAM speed / XMP-EXPO check. Inventory now shows each module's configured speed and, when it's
below the rated speed, the rating (e.g.4800 MT/s (rated 5600)); System Health flags it
("RAM at 4800 MT/s (rated 5600 MT/s)") with the fix — enable XMP/EXPO in BIOS. With the profile
off, dmidecode only reports the JEDEC base, so the rated speed is read from both dmidecode and
the part number (matched against known DDR5 speed grades, so no false positives). Needs dmidecode
(root / launch elevation). Completes the "underperforming hardware" trio with PCIe gen + refresh.
Downloads
- RAM speed / XMP-EXPO check. Inventory now shows each module's configured speed and, when it's
-
v0.39.0 Stable
released this
2026-05-22 14:57:08 +00:00 | 14 commits to main since this releaseAdded
- Displays in the Inventory. A new
core/displays.pylists each connected monitor with its
resolution and current/max refresh — e.g.DP-1 · Samsung LC34G55T → 3440x1440 @ 165 Hz. Reads
GNOME's MutterDisplayConfigover D-Bus (works on X11 and Wayland), falling back toxrandr
on other X11 desktops. - System Health flags monitors below their max refresh. If a monitor supports a higher refresh
at its current resolution (e.g. a 165 Hz panel set to 60 Hz — an easily-missed gaming setting),
Health reports it with the fix (raise it in Display settings). Max is computed at the current
resolution, so it never suggests dropping resolution.
Downloads
- Displays in the Inventory. A new
-
v0.38.0 Stable
released this
2026-05-22 14:46:40 +00:00 | 20 commits to main since this releaseAdded
- PCIe link in the Inventory. Each NVMe drive now shows its negotiated PCIe link next to the
model — e.g.Samsung SSD 980 PRO 1TB (931.5G) · PCIe Gen4 x4— read from sysfs
(current/max_link_speed+ width). If a drive negotiates below its capability (a slower M.2
slot, lane-sharing, or a downtrain) it's flagged:PCIe Gen3 x4 (capable of Gen4 x4). So you
can confirm a Gen4 SSD is actually in a Gen4 slot. (SATA disks show no PCIe link.)
Downloads
- PCIe link in the Inventory. Each NVMe drive now shows its negotiated PCIe link next to the
-
v0.37.1 Stable
released this
2026-05-22 14:41:11 +00:00 | 24 commits to main since this releaseFixed
rigdoctor updatenow uses the right method for how RigDoctor was installed. It detects
apt (.deb), pip (venv/.run), or source installs (updates.install_kind()); only pip
installs self-update in place. An apt install no longer fails with "No module named pip" —
it (and the GUI Update button) showssudo apt update && sudo apt install --only-upgrade rigdoctor; a source checkout points togit pull.
Downloads
-
v0.37.0 Stable
released this
2026-05-22 14:30:54 +00:00 | 26 commits to main since this releaseAdded
- Version footer — a footer across the bottom of the window shows
RigDoctor v<version>in
the bottom-right (moved out of the sidebar).
Fixed
- Pages scroll when content doesn't fit, and the window is no longer pinned to the tallest
page's height. Long pages (Settings, Tuning, …) get a scrollbar when too tall — so controls
like Uninstall are always reachable — and the window can now be resized smaller than the screen
(min height dropped from "taller than the screen" to ~600px). Pages that manage their own
scroll/fill (Dashboard, System Health, Inventory, Share) are unchanged.
Downloads
- Version footer — a footer across the bottom of the window shows
-
v0.36.1 Stable
released this
2026-05-22 13:50:23 +00:00 | 30 commits to main since this releaseFixed
rigdoctor guiprinted the wrong fix when PySide6 is missing — it suggested the non-existent
python3-pyside6package. Now it names the real split modules
(python3-pyside6.qt{widgets,gui,websockets,svg}+python3-pyte).
Downloads
-
v0.36.0 Stable
released this
2026-05-22 13:39:57 +00:00 | 35 commits to main since this releaseFixed
.debnow installs all dependencies automatically — no manual tool install. The previous
Recommends: python3-pyside6named a package that doesn't exist on Debian/Ubuntu (PySide6 is
split per module), so apt silently skipped it and the GUI wouldn't start. Now it Recommends the
actual modules the GUI imports —python3-pyside6.qt{widgets,gui,websockets,svg}+python3-pyte.
Changed
apt install rigdoctorsets up the whole toolset. The.debalso Recommends the optional
diagnostic/gaming tools (smartmontools, lm-sensors, dmidecode, pciutils, libnotify-bin,
libsecret-tools, gamemode, mangohud) so they install by default — users never hand-install
tools.cpupoweris a Suggests (kernel-tied);--no-install-recommendsstill gives CLI-only.
Downloads