When upgrading Raspberry Pi 3's officially supported OS Raspbian from a version based on Debian 9 (Stretch) to a version based on Debian 10 (Buster), you could find yourself unable to boot to the desktop.
Assuming the boot order is still set to boot to desktop (you can check this with sudo raspi-config
), a likely cause is not fully updating the sources lists after the upgrade to Buster.
On the command line, try starting the X Window environment:
startx
At this point, you will likely get some error output containing the following:
Fatal server error:
(EE) no screens found(EE)
There's another thing you can check to determine that we're on our way to the right solution. Open the X Server log with nano /var/log/Xorg.0.log
and hit CTRL+W to search for fbturbo. You may then find the message Failed to load module "fbturbo" (module does not exist, 0)
. Hit CTRL+X to close the file.
To fix the issue, update your sources lists to find packages compatible with Buster, update your packages accordingly, and remove the fbturbo
driver (that last step was required for me, I have no explanation for why):
sudo nano /etc/apt/sources.list
- Look for
stretch
and if you find it, replace it withbuster
- Hit CTRL+X and save the change if you made one
sudo nano /etc/apt/sources.list.d/raspi.list
- Look for
stretch
and if you find it, replace it withbuster
- Hit CTRL+X and save the change if you made one
sudo apt update && sudo apt full-upgrade
sudo mv /usr/share/X11/xorg.conf.d/99-fbturbo.conf ~
Now you should be able to reboot and be presented with the desktop, or run startx
to get there.