Skip to content

GpuTerm 1.0.8 Beta

Pre-release
Pre-release

Choose a tag to compare

@fortranmentis fortranmentis released this 16 Jul 17:22

Highlights

  • Windows remote telemetry: connecting to a Windows host (OpenSSH Server) now populates the full telemetry bar. GpuTerm detects the remote OS per connection (with a cmd.exe /c ver fallback when uname is absent; MSYS/Cygwin count as Windows) and switches to Windows-native sources:
    • CPU: model/core counts from Win32_Processor and a true two-poll usage delta from raw Win32_PerfRawData_PerfOS_Processor counters — locale-independent, unlike Get-Counter paths
    • Memory: Win32_OperatingSystem with page-file usage as swap
    • Disk: Win32_LogicalDisk fixed drives (C:, D:, …)
    • Users: quser, parsed positionally so localized headers don't break it
    • NVIDIA GPUs: full metrics (utilization, VRAM, power, temperature, processes) via nvidia-smi, same as Linux
    • AMD/Intel GPUs: utilization and dedicated VRAM from WDDM GPU performance counters
  • Hybrid iGPU+dGPU hosts show both cards — counter data is attributed by adapter LUID from the DirectX registry, and the GPU detail popover appends the integrated GPU alongside the NVIDIA cards. VRAM totals for counter-based GPUs come from the registry's DedicatedVideoMemory.
  • All per-tick commands are batched into a single PowerShell 5.1 script sent as -EncodedCommand, so telemetry works whether the OpenSSH default shell is cmd.exe or PowerShell — nothing is installed on the server and no admin rights are required.
  • CPU/RAM detail popovers work on Windows too (per-core usage, top processes from a two-sample Get-Process delta, uptime). The detail path now caches the detected remote OS per session instead of re-probing every popover tick.
  • Refreshed app icon set (all platforms).

Fixes

  • The main window now closes properly from the title-bar close button on every platform. Registering the close-requested handler (which takes detached detail windows along) had disabled Tauri's automatic close, and the follow-up destroy() call lacked the core:window:allow-destroy capability, so the request was silently rejected.

Validation

  • 54 frontend tests passed.
  • 83 Rust tests passed (33 new Windows parser/detection fixtures).
  • cargo clippy is clean; verified against a live Windows host over SSH.

Notes

  • Windows remotes need Windows PowerShell 5.1+ (preinstalled on Windows 10/11).
  • Load averages don't exist on Windows and show as n/a.
  • AMD/Intel GPU power/temperature aren't exposed by the counters (needs Windows 10 1709+ with a WDDM 2.x driver for utilization/VRAM).
  • Process owners and GPU process command lines require elevation and fall back to n/a / process names; quser is missing on Home editions, so the Users section stays empty there.
  • This is a beta prerelease intended for testing and feedback.