libdrmamdgpu bindings for Rust, and some methods ported from Mesa3D (mainly acgpu_info.c).
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
``` let (amdgpudev, drmmajor, drm_minor) = { use std::fs::File; use std::os::fd::IntoRawFd;
let fd = File::open("/dev/dri/renderD128").unwrap();
AMDGPU::DeviceHandle::init(fd.into_raw_fd()).unwrap()
}; let markname = amdgpudev.getmarketingname().unwrap(); let deviceinfo = amdgpudev.device_info().unwrap(); ```
cargo run --example amdgpu_info
cargo run --example vbios_dump
cargo run --example gpu_metrics
To generate a new bindings/drm.rs
.
cargo build --features=buildtime_bindgen