Pi-Top Hardware with Raspbian Bullseye

Hi,

I know the recommendation is to use the Pi-Top OS, but I’m quite fond of Raspbian. I normally follow the article on the Pi-Top KB to get the drivers to work. https://knowledgebase.pi-top.com/knowledge/pi-top-and-raspberry-pi-os

I recently attempted to reconfigure my PiTop from Buster to Bullseye and it seems there is a problem with pt-sys-oled and pt-firmware-updater. I tried two times with a fresh image and the result is the same. As far as I can tell, it needs python 3.7, but Bullseye comes with python 3.9. I tried to uninstall python and reinstall 3.7 but it won’t install. Downgrading python also seems to break the Raspbian desktop.

Please see the result below:

pi@raspberrypi:~ $ echo "deb http://apt.pi-top.com/pi-top-os sirius main contrib non-free" | sudo tee /etc/apt/sources.list.d/pi-top.list &> /dev/null
curl https://apt.pi-top.com/pt-apt.asc | sudo apt-key add
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
100  3358  100  3358    0     0   5643      0 --:--:-- --:--:-- --:--:--  5643
OK
pi@raspberrypi:~ $ sudo apt update
Hit:2 http://raspbian.raspberrypi.org/raspbian bullseye InRelease              
Hit:3 http://archive.raspberrypi.org/debian bullseye InRelease                 
Get:1 https://apt.pi-top.com/pi-top-os sirius InRelease [7,813 B]
Get:4 https://apt.pi-top.com/pi-top-os sirius/main armhf Packages [103 kB]
Fetched 111 kB in 2s (54.8 kB/s)  
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
1 package can be upgraded. Run 'apt list --upgradable' to see it.
pi@raspberrypi:~ $ sudo apt install --no-install-recommends -y pt-device-manager pt-sys-oled pt-firmware-updater
Reading package lists... Done
Building dependency tree... Done
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 python3-pitop : Depends: python3-dlib (< 19.23.0) but it is not going to be installed
                 Depends: python3-dlib (>= 19.22.0) but it is not going to be installed
                 Depends: python3-flask (< 1.1) but 1.1.2-2 is to be installed
                 Depends: python3-gevent (< 1.4) but 20.9.0-2 is to be installed
                 Depends: python3-imutils (< 0.6.0) but it is not going to be installed
                 Depends: python3-imutils (>= 0.5.4) but it is not going to be installed
                 Depends: python3-matplotlib (< 3.1) but 3.3.4-1 is to be installed
                 Depends: python3-opencv (< 3.3) but 4.5.1+dfsg-5 is to be installed
                 Depends: python3-scipy (< 1.2) but 1.6.0-2 is to be installed
                 Depends: python3-zmq (< 17.2.0) but 20.0.0-1 is to be installed
 python3-pycrc : Depends: python3.7 but it is not installable
 python3-pyftdi : Depends: python3-pyserial (>= 3.0) but it is not going to be installed
                  Depends: python3-pyusb (>= 1.0.0) but it is not going to be installed
                  Depends: python3.7 but it is not installable
 python3-smbus2 : Depends: python3.7 but it is not installable
E: Unable to correct problems, you have held broken packages.

It seems that sudo apt install --no-install-recommends -y pt-device-manager works without errors and after reboot the battery monitor works, but nothing else. If I try cd /usr/lib/pt-device-manager sudo ./pt-device-manager then I get the following:

[17:30:55.106033 I] Idletime retrieved from config: 300
[17:30:55.196881 I] Starting device manager...
[17:30:55.199193 E] Error starting the publish server: Address already in use
[17:30:55.207220 I] Traceback (most recent call last):
  File "/usr/lib/pt-device-manager/ptdm_publish_server.py", line 28, in start_listening
    self._zmq_socket.bind("tcp://*:3781")
  File "/usr/lib/python3/dist-packages/zmq/sugar/socket.py", line 173, in bind
    super().bind(addr)
  File "zmq/backend/cython/socket.pyx", line 542, in zmq.backend.cython.socket.Socket.bind
  File "zmq/backend/cython/checkrc.pxd", line 28, in zmq.backend.cython.checkrc._check_rc
zmq.error.ZMQError: Address already in use

[17:30:55.209787 E] Unable to start listening on publish server
[17:30:55.210228 E] Unable to start pi-top device manager's central controller
[17:30:55.210520 I] Stopping device manager...
[17:30:55.210812 I] Closing responder socket...
[17:30:55.211863 I] Stopping idle time monitor...
[17:30:55.212363 I] Stopping peripheral manager...
[17:30:55.212705 I] Stopping hub manager...
[17:30:55.213001 I] Closing publisher socket...

Are there any known compatibility issues with Python3.9 or Raspbian Bullseye, or does anyone know how to fix this?

Thanks in advance!

hey @MVDM !

As you can see, our buster packages don’t really like being installed in bullseye. Most of them have version-locked dependencies that are only available on buster.

The error you’re seeing when running the device manager leads me to believe that the service pt-device-manager is already running (you can check with systemctl status pt-device-manager)… same thing with pt-sys-oled: systemctl status pt-sys-oled … if you post the output of those commands here, we can maybe help you to get them running

Also -we’re working to release our packages for bullseye soon!

1 Like

Any update on this? I’d like to put the pi-top software on top of bullseye Raspberry Pi OS (preferably 64 bit).

hey @rsun !

we have just released pi-topOS bullseye and made available the packages through our APT repository…

Some packages & services have been renamed; to install the base packages into your pi-top[4] running Raspberry Pi OS bullseye, you need to run:

sudo apt install pi-top-os-apt-source -y
sudo apt update
sudo apt install --no-install-recommends pi-topd pt-miniscreen pt-firmware-updater
1 Like

Hello @pi-topJorge

I tried your instructions but got an error.

I could not install the drivers. Below are the lines that came on the terminal. (I had to break the links as I am new and can’t post more than two links in a post)

pi@raspberrypi:~ $ sudo apt install pi-top-os-apt-source -y
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following package was automatically installed and is no longer required:
libfuse2
Use ‘sudo apt autoremove’ to remove it.
The following additional packages will be installed:
pi-top-os-archive-keyring
The following NEW packages will be installed:
pi-top-os-apt-source pi-top-os-archive-keyring
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 31.8 kB of archives.
After this operation, 58.4 kB of additional disk space will be used.
Get:1 h t t p://archive. raspberrypi. org/debian bullseye/main arm64 pi-top-os-archive-keyring all 2021.12.20 [30.0 kB]
Get:2 h t t p:// archive. raspberrypi. org/debian bullseye/main arm64 pi-top-os-apt-source all 2021.12.20 [1,768 B]
Fetched 31.8 kB in 2s (20.5 kB/s)
Selecting previously unselected package pi-top-os-archive-keyring.
(Reading database … 90879 files and directories currently installed.)
Preparing to unpack …/pi-top-os-archive-keyring_2021.12.20_all.deb …
Unpacking pi-top-os-archive-keyring (2021.12.20) …
Selecting previously unselected package pi-top-os-apt-source.
Preparing to unpack …/pi-top-os-apt-source_2021.12.20_all.deb …
Unpacking pi-top-os-apt-source (2021.12.20) …
Setting up pi-top-os-archive-keyring (2021.12.20) …
Setting up pi-top-os-apt-source (2021.12.20) …
pi@raspberrypi:~ $ sudo apt update
Hit:2 h t t p :// security. debian. org/debian-security bullseye-security InRelease
Hit:3 h t t p :// deb. debian. org/debian bullseye InRelease
Hit:4 h t t p :// deb . debian. org/debian bullseye-updates InRelease
Get:1 ht t ps:// packagecloud. io/pi-top/pi-top-os/debian bullseye InRelease [25.1 kB]
Get:5 h tt p s :// packagecloud. io/pi-top/pi-top-os/debian bullseye/main arm64 Packages [46.1 kB]
Get:6 h tt p s :// packagecloud. io/pi-top/pi-top-os/debian bullseye/main armhf Packages [52.2 kB]
Hit:7 h tt p s:// apt. pi-top. com/pi-top-os sirius InRelease
Hit:8 ht tp :// archive. raspberrypi. org/debian bullseye InRelease
Fetched 123 kB in 11s (11.3 kB/s)
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
2 packages can be upgraded. Run ‘apt list --upgradable’ to see them.
N: Skipping acquire of configured file ‘main/binary-arm64/Packages’ as repository ‘http ://ap t. pi-top. com/pi-top-os sirius InRelease’ doesn’t support architecture ‘arm64’
N: Skipping acquire of configured file ‘contrib/binary-arm64/Packages’ as repository ‘ht tp :// apt. pi-top. com/pi-top-os sirius InRelease’ doesn’t support architecture ‘arm64’
N: Skipping acquire of configured file ‘non-free/binary-arm64/Packages’ as repository ‘htt p:// apt. pi-top. com/pi-top-os sirius InRelease’ doesn’t support architecture ‘arm64’
pi@raspberrypi:~ $ sudo apt install --no-install-recommends pi-topd pt-miniscreen pt-firmware-updater
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 pt-firmware-updater : Depends: i2c-tools-extra but it is not installable
 python3-pitop : Depends: python3-dlib (>= 19.22.0) but it is not installable
E: Unable to correct problems, you have held broken packages.

I got my own answer.

I just noticed that I was trying to install the drivers on the 64bit version.

I am having another issue with the actual pi-top OS and a software that I installed, but I’ll make a separate thread for that.

Thank you so much for this! Sorry for my tardiness, I have has some personal issues to deal with.

One question though… It seems the firmware updater doesn’t work for the original pi-top. Can you tell me where I do this? Each time I leave my pi-top for a couple of weeks without a charger connected and turn it on it will not charge anymore because it over discharged and has some warning flag that needs to be cleared. I have replaced the battery a couple of times but it seems to be a bad design / fault or something. My solution was to reload the firmware again to clear the flags and it works normally again.

Can you please let me know how this flag can be cleared in this software version?

I tried to install pt-battery-fw-update but it seems that it needs wiringpi which no longer exists.

Many thanks in advance!