This Q reflects some of the reservations expressed in another Question here. I too have questions re "The future of GPIO access on Pi 5"; hopefully, the questions here are answerable questions:
While researching my question, one of the references that attracted my attention was this post by 6by9
in the RPi forum:
libgpio is the correct answer for any variant of Pi now. There should be no need to directly bash registers through gpiomem holes at all.
This statement is baffling to me. AFAICS,
libgpio
has been abandoned - the main GitHub site hasn't been touched in 6+ years, ANDapt-cache search libgpio
shows nothing but libgpiod stuff.Worse, the
libgpiod
status in the RPi repositories is unclear. This link to the kernel website clearly shows that version 2.1 is the latest. From my RPi5, I can see a package calledlibgpiod2
, yet when it's installed, it says this:
sudo apt install libgpiod2 libgpiod-doc libgpiod-dev
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
libgpiod2 is already the newest version (1.6.3-1+b3). ## <=== wtfo?
libgpiod-doc is already the newest version (1.6.3-1).
libgpiod-dev is already the newest version (1.6.3-1+b3).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
- How does an old version of
libgpiod
(1.6.x) come to be called by the package name oflibgpiod2
?? And of course, the examples for version 2 are incompatible with the 1.6.x version library, and do not compile.
Does anyone know what's going on with GPIO programming for RPi 5? (not interested in the Python stuff - thanks anyway). Has there been some sort of rift between RPi & Linux devs? Have I inadvertently retrograded my libgpiod
library to ver 1.6 by installing libgpiod2
? I am truly confused.