So there's definitely a lot of information missing that could potentially brick a device, especially for those that are running headless and only accessing over SSH.
Thanks for signing up just to share this!
I followed those instructions to successfully upgrade from the
64-bit beta that I installed last summer (May 2021), except that my main repos were all from
https://deb.debian.org/, rather than
raspian.raspi.org. I kept them at
deb.debian.org and just changed the release name to bullseye.
The one issue I ran into, with that, is that the line for security updates had to be edited from "buster" to "bullseye-security".
After running apt update
but before apt dist-upgrade
, run sudo apt install -y libgcc-8-dev gcc-8-base
to solve the dependency issues that many comments have mentioned.
As for the GCC update, I found it was unnecessary when starting from a buster image that's completely up-to-date. You can run the command, but it says the packages are already up-to-date.
Once that's done, run sudo apt full-upgrade
I noted a difference between the two articles, with Toms saying
dist-upgrade and PiMyLifeUp saying
full-upgrade. From what I could find, they seem to be synonymous, with dist-upgrade being deprecated. I went ahead and used
dist-upgrade, just in case, but noted that the apt manpage no longer mentions it.
After the upgrade and BEFORE REBOOTING, a change needs to be made to the dhcpcd file.
I didn't have this file, so no I made no modifications.
Finally, a change to the boot config to address a video driver change. In the /boot/config.txt
file, comment out the line: dtoverlay=vc4-fkms-v3d
.
In the same file, find the [all]
section, and add: dtoverlay=vc4-kms-v3d
.
Mine was already set to the new driver. I didn't add an
[all]
section, and it seems to work fine... except I'm getting llvmpipe for the OpenGL renderer on my
Raspberry Pi v3 hardware. I've read that you can change it to Glamor, using raspi-config, but I've read there's a rendering bug in Mesa that you might hit on Pi versions < 4, in Chromium. It has been fixed upstream but will probably take a while to reach us.
I went ahead and tried it. First, I enabled the "GL Driver", in the "Advanced Options" menu and rebooted. That still left me using llvmpipe. So, next I enabled "Glamor", also in the "Advanced Options" menu and rebooted. After that,
glxinfo | grep "renderer string"
reports
Vc4 V3D 2.1
and
glxgears delivered about 50% higher fps in full-screen mode (leave it running for about 15 seconds). These two programs are both in the
mesa-utils package. More importantly, window scrolling and dragging was much smoother. Sadly, the trackballs game would not run (but I think it would be too slow, anyhow).
I also installed
vulkan-tools and checked
vulkaninfo, but it indicated it was still using llvmpipe. I forget whether Vulkan is supposed to work on any older Pi GPUs, but I don't have any Vulkan programs to run on it anyhow. Just curious.
The one thing missing from the PiMyLifeUp instructions that Toms had was:
sudo apt autoclean
Not necessary, but it saves you some storage space. Also, you probably want to do:
sudo apt clean
Not sure of the difference, but the second command reclaimed an additional 120 MB. After rebooting, I would also recommend:
sudo fstrim -a
That benefits the wear-leveling in your storage device, if it supports TRIM.
After the upgrade & reboot, I had a handful of python/python2 packages with conflicts. The only python3 package was python3-six, which I manually upgraded and that obsoleted some of the others. Then, I upgraded the remaining ones and the default conflict resolution seemed reasonable.