Unable to Upgrade/Install RealVNC Server v7.12.0 on RPi
I'm encountering a problem with upgrading/installing the VNC-Server-7.12.0-Linux-ARM.deb package onto a Raspberry Pi currently running Debian v12.6 (Bookworm) and VNC-Server-7.11.1. Three occurrences for 'Illegal instruction' are observed during installation (see below), which resulted in the server failing to startup on boot/reboot. Please advise on how I could resolve those three error messages.
pi@raspberrypi:~/Downloads $ sudo dpkg -i ./VNC-Server-7.12.0-Linux-ARM.deb
(Reading database ... 162370 files and directories currently installed.)
Preparing to unpack .../VNC-Server-7.12.0-Linux-ARM.deb ...
Unpacking realvnc-vnc-server (7.12.0.14) over (7.11.1.26) ...
Setting up realvnc-vnc-server (7.12.0.14) ...
Updating /etc/pam.d/vncserver
Updating /etc/pam.conf... done
Looking for font path... /usr/share/fonts/X11/Type1,built-ins (from xset).
Illegal instruction
Illegal instruction
Illegal instruction
Installed systemd unit for VNC Server in Service Mode daemon
Start or stop the service with:
systemctl (start|stop) vncserver-x11-serviced.service
Mark or unmark the service to be started at boot time with:
systemctl (enable|disable) vncserver-x11-serviced.service
Installed systemd unit for VNC Server in Virtual Mode daemon
Start or stop the service with:
systemctl (start|stop) vncserver-virtuald.service
Mark or unmark the service to be started at boot time with:
systemctl (enable|disable) vncserver-virtuald.service
Processing triggers for gnome-menus (3.36.0-1.1) ...
Processing triggers for mailcap (3.70+nmu1) ...
Processing triggers for desktop-file-utils (0.26-1) ...
Processing triggers for hicolor-icon-theme (0.17-2) ...
Processing triggers for man-db (2.11.2-2) ...
pi@raspberrypi:~/Downloads $
Comments
Forgot to mention that the RPi platform in question is with the Raspberry Pi Zero W... of which I've three that are all behaving the same when trying to update their RealVNC Server from v7.11.1 to v7.12.0.
Unsuccessful upgrade attempts via 'apt install':
Successful downgrades back to RealVNC Server v7.11.1:
Boot log with RealVNC Server v7.12.0:
Boot log with RealVNC Server v7.11.1:
The newer versions of RealVNC server, after v7.11.1, does not work on the Raspberry Pi Zero, but they do work on the newer Raspberry Pi Zero 2. Suspect the problematic Server binaries are compiled for the ARM v8 instruction set, instead of using the legacy ARM v6 instruction set...
This issue is also discussed in the Raspberry Pi forum thread VNC server not working where it appears that all BCM2835/ARM1176 (ARMv6) based Raspberry Pi boards running 32-bit Debian Version 12.9 (Bookworm) encounter Illegal instruction errors only after upgrading to recent realvnc-vnc-server versions. To work around the issue for now, do the following after a clean install before updating/upgrading packages:
The above will hold the realvnc-vnc-server package at version 7.11.0.18 which is the current (known good) default included in a clean install of 32-bit Debian Version 12.9 (Bookworm).
In this case, vncpasswd version shows:
Interestingly, on an BCM2836/Cortex-A7 (ARMv7) based Raspberry Pi 2 Model B Rev 1.1 running a clean install of the same 32-bit Debian Version 12.9 (Bookworm) release, I observe the following:
So clearly, recent 32-bit realvnc-vnc-server package builds have change to support only ARMv7 based machines and no longer work on ARMv6 based machines.
Are there any plans to update the realvnc-vnc-server package to restore ARMv6 support?
I wonder if these BCM2835/ARM1176 (ARMv6) based machines have already reached end of support life and therefore the change of the realvnc-vnc-server package build for ARMv7-only is expected? I tried to look for Raspberry Pi product briefs for these older ARMv6 machines to check support life status but couldn't find PBs for these older models. EOL for Raspberry Pi 3 Model B+ is January 2028 so it makes sense that these older ARMv6 based machines are already past EOL. In which case, the only solution is to disable realvnc-vnc-server package updates in the current OS release and/or use older OS releases.
Thanks for the informative replies confirming the problem. I'm surprised that no other user has encountered this flaw until recently. Anyway, I've been manually reverting back to the last working version, VNC-Server-7.11.1, every time it was unintentionally upgraded.
This problem could easily be fix by RealVNC; just by compiling the RPi server code using the ARMv6 instruction set so to continue support of all RPi devices. The newer ARM versions are backward compatible for prior ARM versions' codes so the entire line of RPi hardware could be supported without much technical difficulties. I imagine that RealVNC would want more users and greater hardware support rather than dropping and shrinking its user base...
Please sign in to leave a comment.