site  contact  subhomenews

Progress heading toward Buster 2.1

August 20, 2019 — BarryK

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