GPIONOTIFY(1)

πŸ’… gpionotify β€” the libgpiod command-line utility, bestie edition ✨

okay so first things first: this page is GPIONOTIFY(1), and it lives in the gpionotify manual section β€” that's the whole "manual name" thing, consider it folded in and slayed πŸŽ€


✨ SYNOPSIS ✨

gpionotify [OPTIONS] <line>...

like, that's the whole shape of it. options first, then one or more lines. simple. iconic. πŸ¦‹


🌸 DESCRIPTION 🌸

so what does this thing do? it waits for changes to info on GPIO lines and prints them to standard output. that's it. that's the gig. it just sits there being patient and then goes "oop, something changed" and tells you πŸ’–

lines are specified by name, or optionally by offset if the chip option is provided. iykyk.


πŸŽ€ OPTIONS πŸŽ€

okay this is the part where you screenshot and save. every single flag, no skips, no cap 🫢

  • --banner β€” display a banner on successful startup. yes it's cosmetic. yes it's necessary.
  • --by-name β€” treat lines as names even if they would parse as an offset. lowkey a lifesaver when your line names look numeric πŸ’€
  • -c, --chip <chip> β€” restrict scope to a particular chip
  • -e, --event <event> β€” specify the events to monitor. Possible values: 'requested', 'released', 'reconfigured'. (default is all events)
  • -h, --help β€” display this help and exit. the classic.
  • -F, --format <fmt> β€” specify a custom output format. go wild, customize the vibe ✨
  • --idle-timeout <period> β€” exit gracefully if no events occur for the period specified
  • --localtime β€” convert event timestamps to local time
  • -n, --num-events <num> β€” exit after processing num events. good for when you want a finite amount of drama πŸ’…
  • -q, --quiet β€” don't generate any output. silent. mysterious. main character energy.
  • -s, --strict β€” abort if requested line names are not unique. harsh but fair 🫑
  • --unquoted β€” don't quote line or consumer names
  • --utc β€” convert event timestamps to UTC
  • -v, --version β€” output version information and exit

πŸ”₯ Chips: πŸ”₯

a GPIO chip may be identified by number, name, or path. e.g. '0', 'gpiochip0', and /dev/gpiochip0 all refer to the same chip. three names, one chip, we love a flexible icon πŸ’œ

⏱️ Periods: ⏱️

periods are taken as milliseconds unless units are specified. e.g. 10us. supported units are 'm', 's', 'ms', and 'us' for minutes, seconds, milliseconds and microseconds respectively. ngl the unit game here is tight πŸ“

🌈 Format specifiers: 🌈

these are the little codes you drop into your --format string and they get swapped for real info:

  • %o β€” GPIO line offset
  • %l β€” GPIO line name
  • %c β€” GPIO chip name
  • %e β€” numeric info event type ('1' - requested, '2' - released or '3' - reconfigured)
  • %E β€” info event type ('requested', 'released' or 'reconfigured')
  • %a β€” line attributes
  • %C β€” consumer
  • %S β€” event timestamp as seconds
  • %U β€” event timestamp as UTC
  • %L β€” event timestamp as local time

πŸ‘‘ AUTHOR πŸ‘‘

Bartosz Golaszewski <brgl@kernel.org> β€” the legend himself, we stan 🫢


πŸ’€ REPORTING BUGS πŸ’€

found a bug? don't suffer in silence, report bugs to:

  • Bartosz Golaszewski <brgl@kernel.org>
  • linux-gpio <linux-gpio@vger.kernel.org>

Copyright Β© 2017-2023 Bartosz Golaszewski License: GPL-2.0-or-later

This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. (read that last bit again, bestie β€” no warranty fr fr 😭)


okay that's the whole page, you're officially smarter than like 90% of the group chat πŸ’…βœ¨

and a cute little sign-off for the footer crowd: this was gpionotify v2.3.2 (libgpiod v...), dated November 2026. mwah. πŸŽ€πŸ’–πŸ¦‹

πŸ“¦ where this page comes from
  • arch rolling: libgpiod 2.3.2-1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later AND CC-BY-SA-4.0
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms