20 releases (6 breaking)
0.7.5 | Aug 14, 2024 |
---|---|
0.7.4 | Jul 17, 2024 |
0.7.3 | May 29, 2024 |
0.7.0 | Mar 29, 2024 |
0.1.0 | May 28, 2022 |
#146 in Graphics APIs
4,629 downloads per month
Used in 5 crates
(via libamdgpu_top)
7MB
218K
SLoC
libdrm-amdgpu-sys-rs
libdrm_amdgpu bindings for Rust, and some methods ported from Mesa3D (mainly ac_gpu_info.c).
Reference
- Mesa / drm · GitLab
- Mesa / mesa · GitLab
- Linux Kernel
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.c
License
- MIT License
Documentation
Dependent dynamic libraries
- libdrm
- libdrm_amdgpu
Distribution specific instructions
Debian/Ubuntu
sudo apt install libdrm-dev
Examples
let (amdgpu_dev, drm_major, drm_minor) = {
use std::fs::OpenOptions;
use std::os::fd::IntoRawFd;
let fd = OpenOptions::new().read(true).write(true).open("/dev/dri/renderD128").unwrap();
AMDGPU::DeviceHandle::init(fd.into_raw_fd()).unwrap()
};
let mark_name = amdgpu_dev.get_marketing_name().unwrap();
let device_info = amdgpu_dev.device_info().unwrap();
amdgpu_info
cargo run --example amdgpu_info
vbios_dump
cargo run --example vbios_dump
gpu_metrics
cargo run --example gpu_metrics
Build
To generate a new bindings/drm.rs
.
cargo build --features=buildtime_bindgen