Progress heading toward Buster 2.1
In Easy Buster 2.0, the Easy-desktop-in-container has corrupted
wallpaper and other corrupted graphics. I fixed that, well, it is a
workaround for now. In Pyro, /mnt/wkg/containers/easy/configuration file
has "EC_NS_UNSHARE_IPC='true'", however, in Buster it has to be
'false'. Hmmm, anyway, it fixed the graphics, will go with that for now.
However, another problem, video-related again. I built Buster 2.1
German edition, and booted it from USB-stick. For non-English builds,
the initrd runs Xorg and full GUI apps to ask for keyboard layout and
password. It achieves this by setting up a temporary aufs layered
filesystem with easy.sfs as the bottom layer, then chroot into it.
Works great in Pyro, can run gtkdialog-based GUIs, and use
translation with gettext. However, in Buster, Xorg fails. It loads the
'fbdev' driver OK, and 'libfbdehw.so' module, but reports "No devices
detected" and aborts. But, /dev/fb0 is there, and works.
Very odd. Probably something to do with how Debian have configured
Xorg when it was compiled. There is no hint in Xorg.0.log as to why it
cannot find /dev/fb0. I am using a custom 'xorg.conf'.
Stumped for now, but will keep at it. Buster 2.1 will be a little bit delayed.
EDIT 2019-08-21:
I do not know why the Xorg framebuffer driver does not work in the
initrd. I have a customised 'xorg.conf' that explicitly selects the
'kbd', 'mouse' and 'fbdev' drivers and specifies device "/dev/fb0".
However, when try to launch Xorg in the initrd, /var/log/Xorg.0.log has
this in it:
[ 7.480] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 7.481] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 7.481] compiled for 1.20.4, module version = 0.0.2
[ 7.481] ABI class: X.Org Video Driver, version 24.0
[ 7.481] (EE) No devices detected.
That's the Debian Xorg. Now, when I put in Xorg and 'kbd', 'mouse' and 'fbdev' drivers from Pyro, it sees and uses /dev/fb0:
[ 7.158] (II) Loading /usr/lib/xorg/modules/libfbdevhw.so
[ 7.158] (II) Module fbdevhw: vendor="X.Org Foundation"
[ 7.158] compiled for 1.19.6, module version = 0.0.2
[ 7.158] ABI class: X.Org Video Driver, version 23.0
[ 7.158] (II) FBDEV(0): using /dev/fb0
I have worked around the problem by creating a PET package with the
appropriate Xorg files from Pyro, named
'xserver-fbdev-alt-20190821-pyro64.pet'. The 'init' script in the initrd
copies files from it and replaces the Debian ones. This only happens
inside the initrd, the replacement is temporary.
Not satisfactory, I would prefer to know why the Debian Xorg is failing. Anyway, the workaround works.
Tags: easy