-
Notifications
You must be signed in to change notification settings - Fork 45
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Install no longer compatible with Bullseye (or Bookworm!) #38
Comments
Any tips on getting grow working would be much appreciated. I just fired it up expecting it to work and sadly disappointed and it doesn't look like anyone from Pimoroni monitors these issues? |
I've assembled a procedure to get up and running on Bullseye, which has been reported as successful by others:
I'm aware that there is a mammoth task to get things more Bookworm-friendly across their whole range, so I'm reluctant to start throwing PRs at them until there's a clearer path forward there. |
OMG - Thank you so much, looks to be powering up the display now and the systemd service is all working - Thank you so much for the assist! Honestly not sure I would have got to a working solution without your help! |
@ahnlak thanks for the sleuthing here- I've created a new branch: https://github.com/pimoroni/grow-python/tree/bullseye And released a new version 0.0.3 that explicitly targets the dependency versions before my break-all-the-things updates. Aaaand retargeted the "get" script to bull the bullseye branch. (I do monitor these issues but currently everything is broken and cloning myself into an almighty Python army is still out of my grasp) |
After some ugly manual installation hackery with the public branch, I managed to run lcd-demo.py successfully, but the main attraction was still standing:
...however the config.txt lines are already in there. Unfortunately I don't know any Python, so can't help out with this one I'm afraid. Any easy fix to get around the above? Or is this already sorted out in the new 0.0.3 preview branch? (I don't have the Pi nearby currently so haven't been able to check it out yet) |
You'd need to provide more information (at a bare minimum, the Pi version and OS version you're using, and potentially more details on the "ugly hackery" - although this really doesn't sound like it's related to this particular issue? |
Sorry, the title included "Bookworm" so I just assumed this issue was mainly intended to address the fact that the public v0.0.1 is seriously broken on what is nowadays the mainstream choice for most people; I wasn't aware that it was also broken on Bullseye (?). Anyway, the "ugly" way to get around the core installation issues currently present was really to manually force install things, which as noted above made it possible to at least run the lcd-demo.py demo successfully, but not monitor.py. As I wasn't sure whether the above errors where hidden by other factors for other people, I figured I should post it here; hopefully @Gadgetoid will recognize and know what to do with it. Linux 6.1.0-rpi7-rpi-v8 #1 SMP PREEMPT Debian 1:6.1.63-1+rpt1 (2023-11-24) aarch64 on Raspberry Pi 3A+ |
I think I may be having the same issue as Xoblite and I'll provide what details I can. I have a Pi 4B and I'm on Bookworm (uname -a: Linux raspberrypi 6.6.74+rpt-rpi-v8 #1 SMP PREEMPT Debian 1:6.6.74-1+rpt1 (2025-01-27) aarch64 GNU/Linux). I've been able to get a virtual env going and the service can execute but it's failing at the moisture sensors. I'm on the 0.0.2 version of growhat. I tried putting the dtoverlay line in its proper place for the current Raspberry Pi OS configuration (/boot/config.txt has moved to /boot/firmware/config.txt and spi0_cs has been renamed to spi0_2cs). I've also tried putting in the spi0 dtoverlay in with the dtoverlay command. In all cases, trying to start the Moisture code results in: Traceback (most recent call last): This is on ALL the moisture sensor pins, not just the second sensor as in the old bug. I've been stepping through the code a bit at a time through the Python RPEL. I can control the LCD screen; I don't have pump stuff to test with currently, I haven't worked my way through testing other things like the light sensor and buzzer yet. I do have spi and ic2 enabled. Edit: Buzzer works... |
IIRC this is because RPi.GPIO is broken on Bookworm and must be swapped with the libgpiod wrapper: If you're running in a virtualenv then I am long, long overdue a look into all this stuff again- I have been waiting what seems like an eternity for the Pi 5 landscape to settle and for various PWM features that I gently shepherded to land. |
I've updated my gpiod port to switch the moisture sensors to libgpiod. Since event handling works very differently than the implicit thread that This might completely sidestep your moisture problems altogether if you're using that branch. |
So I kept doing research after leaving my comment and started to understand the shift to rpi-lgpio and/or libgpiod. I also came across https://github.com/bobrathbone/GPIOconverter, a shim between RPi.GPIO and libgpiod. This is...not something that's necessarily a good idea for production code (and it's not in pip so it's inconvenient for adding to a venv) but trying it as a workaround got me into much more familiar territory. I had to bugfix their code to support lists of pins on GPIO.setup (pull request pending), but fixing that let me get the grow-monitor service code running. So my workarround for running on Bookworm with the current main branch goes thusly:
I may check out your gpiod branch later...until this morning it had been long enough since an update that I wasn't hopeful :) |
That is more or less the same thought I had about Sorry for the loooong wait, it's astonishing how much time can pass between me finding a moment to look into this stuff. MicroPython and its ilk have all but consumed me. For better or worse I do tend to dip into the things where people are actively poking the GitHub issues 😬 Anyway thanks for sharing your setup, I had not come across GPIOconverter but I'm not surprised it exists. We really were all just left out in the cold with GPIO 😢 |
With the move to the "new" way of doing things, we've broken compatibility with Bullseye ("Raspberry OS Legacy");
curl -sSL https://get.pimoroni.com/grow | bash
) still attempts to run this viasudo
At the same time, the
venv
stuff doesn't quite work under Bookworm, because the service created by the install has no understanding ofvenv
; I would give you a patch for that, but I got stuck in a quagmire of things like numpy refusing to play ball and it all felt like a wider job than just Grow (I'm guessing other Pimoroni products take a service-based approach so perhaps thevenv
approach needs more looking at?)The text was updated successfully, but these errors were encountered: