This is explained in Bug 4742:
https://bugs.mageia.org/show_bug.cgi?id=4742
But to summarize, xscreensaver-demo in Cauldron does not work, it comes up with
an empty list of screensavers. This list comes from reading the "programs"
entry of the /etc/X11/app-defaults/XScreenSaver file, which is read using the
XrmGetResource API of libX11.
XrmGetResource calls XrmQGetResource (in src/Xrm.c) which starts by doing:
if (db && db->linfo.lock && *names) {
and if that is false, it refuses to even try to read the entry from the
app-defaults file. I ran xscreensaver-demo in gdb, and db->linfo.lock is 0, so
this doesn't work. In Mageia 1, XrmQGetResource starts with:
if (db && *names) {
and although db->linfo.lock is still 0, it doesn't matter and it works.
Can we patch our libx11 to go back to the old way, or is there a better way to
fix this? I don't have a deep understanding of the meaning of this code.
Maybe Thierry or someone else does?