[FFe] Update to 2.0 version
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
gpiozero (Ubuntu) |
Fix Released
|
Undecided
|
Dave Jones |
Bug Description
[ Impact ]
The Raspberry Pi 5 changes GPIO operation substantially from being controlled directly from the SoC, to being handled by the new "southbridge-like" RP1. This in turn means all the "traditional" GPIO control libraries (RPi.GPIO, pigpio, etc.) no longer operate. The new libgpiod based libraries (including lgpio which we already switched to in hirsute) are now the only officially supported method of controlling GPIO.
However, the default gpiochip changes from 0 (on all prior models) to 4 (on the Pi 5), and gpiozero also provides the "pinout" utility which requires new data to cover the Pi 5. The new upstream 2.0 version incorporates all these changes.
[ Test Plan ]
* Enable -proposed
* Upgrade python3-gpiozero package
* Ensure GPIO still operates correctly by trying recipes from the documentation [1]
* Run "pinout" and verify that the Raspberry Pi board you are using is correctly identified and displayed
Repeat this procedure for all supported boards (2B, 3B, 3A+, 3B+, Zero 2W, 4B, CM4, 400, 5).
[1]: https:/
[ Regression Potential ]
Low; as mentioned above, we'd patched gpiozero to prefer the lgpio driver as the default since Ubuntu hirsute. The only changes that are technically required for the Pi 5 here are ensuring the correct gpiochip device is selected, and the board data for the 5. However, gpiozero 2.0 substantially overhauled how the board data is stored in the library so back-porting just those changes was not practical.
We've been (quietly) testing these changes on several boards (including a pre-release 5) for a couple of months now with no issues, but obviously I'll run a full verification again on all boards once this is in -proposed.
Changed in gpiozero (Ubuntu): | |
milestone: | none → ubuntu-23.10 |
assignee: | nobody → Dave Jones (waveform) |
FFe granted