Created attachment 402508 [details]
Xorg.0.log reporting errors
I emerged the xorg-server-1.16.4-r99 ebuild from the hardened-development overlay, which compiled fine.
But when booting and typing either startx or startxfce4, there are errors concerning that certain .so files cannot be loaded or that there are symbol errors (?)
[ 132.427] (II) LoadModule: "nouveau"
[ 132.428] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[ 132.428] (EE) Failed to load /usr/lib/xorg/modules/drivers/nouveau_drv.so: Error relocating /usr/lib/xorg/modules/drivers/nouveau_drv.so: wfbScreenInit: symbol not found
[ 132.428] (II) UnloadModule: "nouveau"
[ 132.428] (II) Unloading nouveau
[ 132.428] (EE) Failed to load module "nouveau" (loader failed, 7)
I will attach my kernel.config and the full xorg.0.log
Created attachment 402510 [details]
Created attachment 402512 [details]
That is because xorg's module loading relies on lazy binding which musl
does not support
Try out if dropping
as xorg.conf into /etc/X11 helps. (Assuming that you don't already have an
(In reply to Felix Janda from comment #3)
> That is because xorg's module loading relies on lazy binding which musl
> does not support
> Try out if dropping
> as xorg.conf into /etc/X11 helps. (Assuming that you don't already have an
> xorg.conf file.)
Correct, its the lazy binding. How should we deal with this in general? I know alpine's module ordering works for nouveau, but does it work in general?
Their 20-modules.conf works also for my intel setup. Actually the
minimum I need is
Load "int10" # no deps
Load "vbe" # depends on int10
Load "fb" # no deps
Load "shadowfb" # no deps
Load "vgahw" # no deps
The important thing is really only that the modules are loaded in the
The problem is also very similar to
but for us -Wl,z,lazy won't help.
So, let the xorg-server ebuild install an /etc/X11/xorg.conf.d/20-modules.conf?
the proposed 20-modules.conf from the alpine repos does not work for me, unfortunatly.
which modules would nouveau need?
You need to put 20-modules.conf into /etc/X11/xorg.conf.d (or rename it to xorg.conf). If that not doesn't work at least the error message must have changed. (-> upload the new Xorg.0.log)
All relevant modules are in /usr/lib/xorg/modules/ from the error message it is not difficult to guess which module has the missing symbols.
so, if I do
nm -D /usr/lib/xorg/modules/libwfb.so | grep wfbScreenInit
the output is
0002b720 T wfbScreenInit
does this mean that this is the missing piece and therefore I have to edit 20-modules.conf in a way that libwfb.so is loaded before the nouveau_drv.so?
You should leave out the 'lib'. "wfb" is however already in alpine
linux' 20-modules.conf. So if you are using their file it should work
or it should complain about some other missing symbols.
Also you don't need to specify nouveau since it will be loaded
automatically. (The problem is that xorg tries to load nouveau before
With musl-1.1.17 this workaround should no longer be needed. Can you confirm?
Yes, this got fixed. Tested and confirmed with musl-1.1.18.