Crate gfxinfo

Source
Expand description

gfxinfo

Rust library for querying GPU information

§TL;DR

use gfxinfo::active_gpu;

let gpu = active_gpu();
println!("GPU vendor: {}", gpu.vendor());
println!("GPU model: {}", gpu.model());
println!("GPU family: {}", gpu.family());
println!("GPU device ID: {}", gpu.device_id());

// And with `gpu_info` feature enabled
let info = gpu.info();
println!("Total VRAM: {} bytes", info.total_vram());
println!("Used VRAM: {} bytes", info.used_vram());
println!("Load: {}%", info.load_pct());
println!("Temperature: {} C", info.temperature() / 1000);

§Features

  • Cross-platform, cross-vendor support
  • Plenty of feature flags
  • Low dependency count

§Feature flags

FeatureDescriptionDefault
defaultEnables all featuresYes
amdEnables AMD GPU supportYes
nvidiaEnables Nvidia GPU supportYes
intelEnables Intel GPU supportYes
gpu_infoEnables the GpuInfo trait, which provides query functions for things like VRAM usageYes

§TODO

(Windows support is speculative, as it uses the Windows API and I don’t have a Windows machine to test on. It did work partially in a VM using the basic display driver!)

  • Cross-platform vendor support
    • Nvidia
      • Windows
      • Linux
    • AMD
      • Windows
      • Linux
    • Intel
      • Windows
      • Linux
    • Generic/Other
      • Apple/MacOS
  • Supported information
    • Vendor
    • Model
    • Family
    • Device ID
    • Total VRAM
    • Used VRAM
    • Load percentage
    • Temperature

Traits§

Gpu
GpuInfo
Trait for providing GPU information. If any numbers return 0, they are likely unsupported or otherwise not available.

Functions§

active_gpu
Attempts to get the currently active GPU, using vendor-specific methods.