OpenDMI: Cross-platform DMI/SMBIOS framework

Published: (December 18, 2025 at 07:07 AM EST)
1 min read
Source: Dev.to

Source: Dev.to

Overview

At my former job I encountered the problem of lacking a C library that provides direct access to SMBIOS structures. Existing libraries were either outdated or incomplete, so the company resorted to parsing dmidecode’s output. I decided to develop my own framework for SMBIOS that not only displays data but also allows direct manipulation. After several months of work, version 0.1 of OpenDMI is nearly ready for release.

Current Status

Most of the basic functions are ready:

  • Almost full support of the SMBIOS specification up to version 3.9.
  • Backends for Linux, macOS, and dmidecode‑compatible dump files.
  • Unified, endianness‑agnostic decoding of most SMBIOS structures, including validation and linking.
  • EAV framework for future implementation of JSON/XML output formats.
  • Simple dmidecode‑like command‑line tool for displaying data.

Roadmap

Near‑term tasks

  • Implement OEM‑specific extensions and decoders (Dell, Intel, etc.).
  • Finalize and improve the command‑line tool.
  • Add XML/JSON output for automation purposes.
  • Implement bindings for the Python language.

Longer‑term goals

  • Write manual pages.
  • Implement all announced features and vendor‑specific extensions.
  • Develop backends for FreeBSD and Windows.
  • Stabilize the API.
  • Set up automatic building of packages.

Release Plan

I plan to release version 0.1 by the end of this year. I hope this project will be useful to someone, and I would appreciate any feedback.

Back to Blog

Related posts

Read more »