Blog

Introducing libgpiod

Wednesday, 15 Sep 2021  |  Nathan Drude

Variscite is introducing support for libgpiod, the new and recommended way for accessing GPIO from userspace. libgpiod was introduced in Linux 4.8 and provides both command line utilities and library bindings for C/C++ and Python. Variscite has added libgpiod support to all software releases starting from Yocto Dunfell, Boot2Qt Dunfell, and Debian Bullseye.

Previously, the recommended way of accessing GPIOs from Linux userspace was using the GPIO sysfs interface, which is limited and requires custom userspace libraries for higher level programming languages like C, C++, Python, etc.

Moving forward, the sysfs interface is being deprecated. For now, it will continue to be maintained, but no new features will be added. Please monitor the kernel documentation for the latest information.

Instead, it is now recommended to use libgpiod.
libgpiod has several significant improvements over the GPIO sysfs interface:

  • Userspace libraries for C/C++ and Python provide a standardized API
  • Each GPIO controller is registered as a character device in /dev so GPIO allocation is tied to the process that is using it
  • Multiple GPIO pins can be read at once
  • GPIO controllers and pins can be found by name
  • GPIO pin settings can be configured at runtime (pull-up, pull-down, etc.)
  • Interrupt driven event monitoring (rising, falling, etc.)
DART-MX8M-PLUS
DART-MX8M-PLUS System on Module

 

For more information about using libgpiod, check out the DART-MX8M-PLUS GPIO sample guide or visit the ‘how to’ section on the chosen SoM and Yocto release page within Variscite’s wiki website.

Latest Posts
Software releases
July software updates
Stay current with software updates – Keep your Variscite SoMs performing at their best with our latest software releases.
 
21.07.2026
Newsroom
Variscite and CELUS Bring AI-Assisted Design to Engineers
Variscite is bringing its System on Module (SoM) portfolio into the CELUS Design Platform, giving engineers a faster way to move from initial concept to a production-ready design, with much of the manual component-selection work automated away. The integration pairs Variscite’s hardware with CELUS’ AI Design Assistant, aimed at cutting time out of the early, slow-moving stages of hardware design.
04.08.2026
Blog
VAR-SOM-MX93
Pierluigi Passaro, Variscite’s R&D expert, walks through the DART-MX91 and DART-MX93 – entry-level modules in NXP’s i.MX 9 family. These Systems on Module provide product teams a scalable, cost-optimized starting point for connected embedded designs.