Tiny Core Linux
Off-Topic => Off-Topic - Tiny Core Lounge => Topic started by: GNUser on March 12, 2026, 12:24:13 PM
-
I'm trying to understand the relationship between wayland compositors and mesa. Not to solve a problem, just to understand.
In TCL17 x86_64 repo, I see that weston.tcz, sway.tcz, and labwc.tcz all have libEGL, libGLESv2, and mesa in their dependency tree.
On the other hand, woodland.tcz does not have libGLESv2, libEGL, or mesa in its dependency tree.
Based on this - https://wayland.freedesktop.org/docs/html/ch03.html - it seems all wayland compositors need EGL/GLES2?
Is woodland.tcz.dep missing one or more dependencies? Or maybe it's only the compositors that use hardware (vs. software) rendering for better performance that need EGL/GLES2/mesa?
-
My theory is that the more minimalistic compositors don't need/want maximum performance, therefore they don't need hooks directly into graphics hardware, therefore they don't need EGL/GLES2/mesa. Is this correct? If I'm wrong, please do me a favor and correct me :)
-
I seem to recall weston has a pixman option that doesn’t use gpu acceleration, but the last time I tried it libEGL didn’t need libgallium and now it does.
Does labwc build without mesa gpu acceleration?
-
Does labwc build without mesa gpu acceleration?
I'm not sure. I will try to find out.
-
Hi Juanito. I discovered, from a labwc developer, that labwc does not depend on egl / gles / mesa / llvm at all.
https://github.com/labwc/labwc/issues/3449#issuecomment-4054474465
I did some experiments and can confirm that. It's full-fat wlroots that has these dependencies.
In TCL17 x86_64 repo, can you please move these dependencies out of labwc.tcz.dep and into wlroots-0.19.tcz.dep?
libGLESv2.tcz
libEGL.tcz
In other words, corrected labwc.tcz.dep should look like this:
Xorg-fonts.tcz
libinput.tcz
dbus.tcz
wlroots-0.19.tcz
graphics-KERNEL.tcz
librsvg.tcz
and corrected wlroots-0.19.tcz.dep should look like this:
liblcms2.tcz
libdisplay-info.tcz
wayland-protocols.tcz
seatd.tcz
libvulkan.tcz
libGLESv2.tcz
libEGL.tcz
-
Does labwc build without mesa gpu acceleration?
It's full-fat wlroots that's using gpu acceleration, labwc doesn't care if wlroots uses gpu acceleration or not.
If I build a skinny version of wlroots by adding this flag at the "meson setup" step:
-Drenderers=
Let's call the resulting extension wlroots-0.19-tiny.tcz. wlroots-0.19-tiny.tcz.dep would look like this:
liblcms2.tcz
libdisplay-info.tcz
wayland-protocols.tcz
seatd.tcz
libgbm.tcz # note that I needed to fish libgbm.so.1 and libgbm.so.1.0.0 out of libEGL.tcz
And I can launch the existing (repo version) of labwc like this
export WLR_XWAYLAND=
export WLR_RENDERER=pixman
sudo -- seatd -g staff -n /run/seatd.sock & XDG_SESSION_TYPE=wayland dbus-run-session labwcand it runs just fine! "Look, mom, no hands!" Or should I say "Look, mom, no EGL, GLES2, mesa, or vulkan!"
Juanito, I don't know whether you think it's worth all this:
1. Having yet another version of wlroots in the repo (wlroots-0.19-tiny)
2. Providing libgbm by itself as its own extension
3. Suggesting to users an alternative labwc.tcz.dep (with wlroots-0.19-tiny.tcz instead of wlroots-0.19.tcz)
Just to have the ability to use labwc without mesa? Seems kind of messy to me but it's your call. Personally, I'm fine with full-fat wlroots.
-
Hi Juanito. I found more extensions that should be moved from labwc.tcz.dep to wlroots-0.19.tcz.dep.
I'll re-submit these extensions, with corrected .dep files and a note in the .info files.
-
Fixed extensions submitted. FWIW I'm okay keeping wlroots-0.19.tcz with mesa--watching a video or running a screensaver causes my old laptop's fans to come on if I use pixman and a mesa-less build of wlroots.
-
and it runs just fine! "Look, mom, no hands!" Or should I say "Look, mom, no EGL, GLES2, mesa, or vulkan!"
That's interesting :)
I can't help thinking that would be most useful for old x86 machines without a gpu - to get really minimal and avoid pulling in 10-20 libX* extensions, we would need to build fltk-1.4 wayland only and then use havoc, editor and fluff.
Since (I presume) most x86_64 machines have a gpu and all piCore64 machines have a gpu, full-fat would seem to be the way to go for them.
I'm not sure if all piCore/RPi0,1,2,3 have a gpu or not, but I would suspect that those you would use a monitor with do.
-
Since (I presume) most x86_64 machines have a gpu and all piCore64 machines have a gpu, full-fat would seem to be the way to go for them.
Sounds good. I'm glad we don't need yet another version of wlroots in the x86_64 repo. Phew! :)