I recently started using Pi-Gen to generate customized prebuilt Raspberry OS images for use with a RaspberryPI 4. I use the
build-docker.sh script on a Linux Mint VM.
However, in a test run with minimal changes (the
config file only sets the
IMG_NAME variable), which should have created a "vanilla" image almost identical to the official one available for download from raspberrypi.org, I ended up with a desktop where no pictures were displayed (i.e. the background is grey, and all taskbar icons are replaced by the "broken document" symbol).
The files themselves (JPEG images, e.g. in
/usr/share/rpd-wallpaper/) are present, but when I try to open one with
gpicview I get an error message stating
Couldn't recognize the image file format for file "/usr/share/rpd-wallpaper/temple.jpg"
although displaying the file in the web-browser works fine
I do not have that problem when using the OS image downloaded from the official location instead.
Some googling showed that this happened even with the official image some time ago, and that the libgdk-pixbuf2, specifically the JPEG support, may be the problem.
But in my case the libgdk-pixbuf2 is already the latest version (so reinstalling, as suggested in one post, wouldn't help), and actually the very same as present on the official OS image:
$ apt-cache show libgdk-pixbuf2.0-0gives the same output on both images:
Package: libgdk-pixbuf2.0-0 Source: gdk-pixbuf Version: 2.38.1+dfsg-1 Architecture: armhf Maintainer: Debian GNOME Maintainers <email@example.com> Installed-Size: 471 Depends: libc6 (>= 2.11), libglib2.0-0 (>= 2.48.0), libjpeg62-turbo (>= 1.3.1), libpng16-16 (>= 1.6.2-1), libtiff5 (>= 4.0.3), libx11-6, shared-mime-info, libgdk-pixbuf2.0-common (= 2.38.1+dfsg-1) Recommends: libgdk-pixbuf2.0-bin Multi-Arch: same
$ apt-cache policy libgdk-pixbuf2shows that the installation status is the same on both images.
Note that an attempt to manually uninstall and reinstall the
libgdk-pixbuf2.0-0 failed with
# apt-get -f purge libgdk-pixbuf2.0-0 Reading package lists... Done Building dependency tree 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: konqueror : Depends: dolphin but it is not going to be installed libkf5baloowidgets-bin : Depends: libkf5baloowidgets5 (>= 15.08.0) but it is not going to be installed libkf5khtml5 : Depends: phonon4qt5 but it is not going to be installed libkf5notifications5 : Depends: phonon4qt5 but it is not going to be installed E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
(and unfortunately, having to perform "manual after-work" would conflict with the reasons for using Pi-Gen in the first place).
So, does anyone know why the Pi-Gen might end up with a setting where GDK (apparently) lacks JPEG support, and what to do about it?