| Crates.io | libdrm_amdgpu_sys |
| lib.rs | libdrm_amdgpu_sys |
| version | 0.8.8 |
| created_at | 2022-05-28 23:20:42.36693+00 |
| updated_at | 2025-07-27 13:55:45.80298+00 |
| description | libdrm_amdgpu bindings for Rust, and some methods ported from Mesa3D. |
| homepage | |
| repository | https://github.com/Umio-Yasuno/libdrm-amdgpu-sys-rs |
| max_upload_size | |
| id | 596084 |
| size | 3,311,398 |
libdrm_amdgpu bindings for Rust, and some methods ported from Mesa3D (mainly ac_gpu_info.c).
drivers/gpu/drm/amd/amdgpu/amdgpu_kms.clink_drm
libdrm.so.2 and libdrm_amdgpu.so.1dynamic_loading
libdrm.so.2 and libdrm_amdgpu.so.1link_drm and dynamic_loading cannot be enabled at the same time.cargo add libdrm_amdgpu_sys --no-default-features -F "dynamic_loading"sudo apt install libdrm-dev
use libdrm_amdgpu_sys::LibDrmAmdgpu;
use libdrm_amdgpu_sys::AMDGPU::DeviceHandle;
use libdrm_amdgpu_sys::AMDGPU::GPU_INFO;
let libdrm_amdgpu = LibDrmAmdgpu::new().unwrap();
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();
libdrm_amdgpu.init_device_handle(fd.into_raw_fd()).unwrap()
};
let device_info = amdgpu_dev.device_info().unwrap();
let device_name = device_info.find_device_name_or_default();
libdrm_amdgpu_sys = { version = "0.8", default-features = false, features = ["dynamic_loading"] }
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