Tiny Core Linux
Tiny Core Extensions => TCE News => Topic started by: Juanito on October 17, 2025, 08:21:48 AM
-
Due to changes in the structure of the mesa graphics libraries several graphics extensions have been updated in the tc-16.x x86_64 repo.
It is almost certain that some gui extensions will now be missing dependencies, please report these here so it can be fixed.
It is also possible that one or more circular depencies have been created.
Xorg-7.7, Xorg-7.7-3d, Xorg-7.7-3d-vulkan, weston and labwc have all been tested on intel hd4400 haswell graphics hardware
The following have been added/changed/updated:
Xorg-7.7-3d-dev.tcz
Xorg-7.7-3d-vulkan.tcz
Xorg-7.7-3d.tcz
Xorg-7.7-bin.tcz
libEGL-dev.tcz
libEGL.tcz
libGL-dev.tcz
libGL.tcz
libGLESv2-dev.tcz
libGLESv2.tcz
mesa-dev.tcz
mesa-vulkan.tcz
mesa.tcz
weston.tcz
xkbcomp.tcz
The following dep files have changed:
firefox-ESR.tcz.dep
labwc.tcz.dep (missing a dep on xwayland?)
libva22-dev.tcz.dep
libva22.tcz.dep
xorg-server-dev.tcz.dep
xorg-server.tcz.dep
-
Hi Juanito. Thank you for these updates, which make it possible to use mesa + wayland compositors without dragging in all of Xorg. This is a really nice upgrade to the TCL repository.
labwc.tcz.dep (missing a dep on xwayland?)
labwc.tcz.dep should not contain xwayland, to accommodate users who want a pure wayland environment. labwc.tcz.info explains how to run labwc with and without xwayland.
-
labwc.tcz.dep should not contain xwayland, to accommodate users who want a pure wayland environment. labwc.tcz.info explains how to run labwc with and without xwayland.
Now that you mention it, I do remember you telling me that :)
-
Hi Juanito. meld.tcz was working before these changes but seems to be broken now on TCL16.2 x86_64:
$ version
16.2
$ tce-load -wi meld
$ /usr/local/bin/meld
** (meld:14215): WARNING **: 23:38:33.425: Failed to load shared library 'libgtksourceview-3.0.so.1' referenced by the typelib: libglapi.so.0: cannot open shared object file: No such file or directory
Traceback (most recent call last):
File "/usr/local/bin/meld", line 384, in <module>
setup_resources()
File "/usr/local/bin/meld", line 249, in setup_resources
GtkSource.StyleSchemeManager.get_default().append_search_path(style_path)
gi.repository.GLib.Error: g-invoke-error-quark: Could not locate gtk_source_style_scheme_manager_get_default: (null) (1)
It seems the problem is that libGL.tcz no longer provides libglapi.so.0
Here are the files that used to be provided by libGL.tcz:
/usr/local/lib/libGL.so
/usr/local/lib/libGL.so.1
/usr/local/lib/libGL.so.1.2.0
/usr/local/lib/libglapi.so
/usr/local/lib/libglapi.so.0
/usr/local/lib/libglapi.so.0.0.0
But now only these files are provided:
/usr/local/lib/libGL.so
/usr/local/lib/libGL.so.1
/usr/local/lib/libGL.so.1.2.0
-
I noticed another small change: xfe file manager used to start practically instantly. After this refactoring of graphics-related packages, xfe now takes about 2 seconds to start. There are no errors or warnings in the terminal.
This change would not be a big deal if xfe were a program that I only ran once in a GUI session. But it's probably the program that gets run and rerun the most times when I'm in a GUI (dozens, or even 100 or more times depending on what I'm doing), so I feel like I'm trekking through molasses.
I'll investigate further and will also try recompiling.
Hi Rich. IIRC you also use xfe. Are you still using it, on TCL16 x86_64? If so, have you also noticed the slowdown?
-
It seems the problem is that libGL.tcz no longer provides libglapi.so.0
I checked mesa in piCore64 and that doesn't provide libglapi either.
I'd guess that the functionality provided by libglapi has been moved elsewhere - a quick way to check would be to re-create libglapi with symlinks to libGL, run ldconfig and try again.
Otherwise, when I get a moment, I'll recompile meld against the new mesa and see what happens.
-
I noticed another small change: xfe file manager used to start practically instantly.
It's a long shot, but maybe xfe uses a libX* that is no longer loaded to speed things up - I took out Xorg-7.7-lib from the dep chain, maybe you could load it and try again?
It might also be good to check that 3d hardware acceleration is working (if that's what you're using)?
-
a quick way to check would be to re-create libglapi with symlinks to libGL, run ldconfig and try again.
Hi Juanito. I'll give that a try and will report back.
I just recompiled xfe and there was no change in speed.
When xfe is starting, since the refactoring of the graphics packages strace shows me nearly 58,000 lines that start with "wait4". These lines look like this:
wait4(8193, [{WIFEXITED(s) && WEXITSTATUS(s) == 127}], 0, NULL) = 8193
wait4(8194, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 8194
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, 0x7ffd1e75c7d4, WNOHANG, NULL) = 0
wait4(8195, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], WNOHANG, NULL) = 8195
...Does this suggest anything to you?
I have an AppImage that I created from xfe years ago. It still works and is lightning fast. I'll be using it for the time being, but am interested in debugging this and eventually getting back on the repo version of xfe.
-
It's a long shot, but maybe xfe uses a libX* that is no longer loaded to speed things up - I took out Xorg-7.7-lib from the dep chain, maybe you could load it and try again?
It might also be good to check that 3d hardware acceleration is working (if that's what you're using)?
I'll check those. Thanks for your input.
-
It's a long shot, but maybe xfe uses a libX* that is no longer loaded to speed things up - I took out Xorg-7.7-lib from the dep chain, maybe you could load it and try again?
It might also be good to check that 3d hardware acceleration is working (if that's what you're using)?
I'll check those. Thanks for your input.
Loading Xorg-7.7-lib did not help xfe open any faster.
I do use hardware acceleration for some things (e.g., 3d screensavers, x264 decoding in mpv) but I don't think xfe uses any acceleration.
-
a quick way to check would be to re-create libglapi with symlinks to libGL, run ldconfig and try again.
Hi Juanito. Yes, that fixes meld. Thanks.
$ cd /usr/local/lib
$ sudo ln -s libGL.so.1.2.0 libglapi.so.0
$ sudo ldconfig
$ meld # now it works :)
As for the other problem (xfe's slowness), I'm not optimistic that I'll find a solution. If I figure it out I'll post the solution here.
-
It might also be good to check that 3d hardware acceleration is working
Yes, it's working:
$ glxinfo | grep renderer
GLX_MESA_copy_sub_buffer, GLX_MESA_gl_interop, GLX_MESA_query_renderer,
GLX_MESA_gl_interop, GLX_MESA_query_renderer, GLX_MESA_swap_control,
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Mesa Intel(R) HD Graphics 4000 (IVB GT2)
$ glxinfo | grep version
server glx version string: 1.4
client glx version string: 1.4
GLX version: 1.4
Max core profile version: 4.2
Max compat profile version: 4.2
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.0
OpenGL core profile version string: 4.2 (Core Profile) Mesa 25.2.5
OpenGL core profile shading language version string: 4.20
OpenGL version string: 4.2 (Compatibility Profile) Mesa 25.2.5
OpenGL shading language version string: 4.20
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 25.2.5
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
-
updated meld posted
-
Hi Juanito. xfe depends on fox. fox had been compiled with the --with-opengl flag for some reason.
Recompiling fox made xfe fast again :)
I submitted the recompiled/updated fox.tcz and fox-dev.tcz for the TCL16 x86_64 repo.
-
updated meld posted
Thanks!
-
Recompiling fox made xfe fast again :)
well spotted :)
-
Hi, I did the tcz updates and got a "waitforX" error when I rebooted. After a bit of fiddling I found that when I installed Xorg-7.7-bin.tcz things started to work again. I'm running TC on a lenovo X201 Thinkpad so don't know widespread this problem may be.
thane
-
Sorry, meant to say "failed in waitforX" message.
-
Could you try to start the gui without loading Xorg-7.7-bin using this:
Xorg -nolisten tcp
This might show what’s missing.
-
Thanks Juanito.
Removing Xorg-7.7-bin.tcz from onboot.lst caused "failed in waitforX". Executing Xorg -nolisten tcp from the promp gave:
...
Couldn't open libGL.so.1 or libOpenGL.so.0
...
(EE) 6: usr/local/lib libepoxy.so.0
...
Fatal server error:
(EE) Caught signal 6 (aborted). Server aborting. Server terminated with error (6)
Closing log file.
I couldn't find libGL.so.1 or libOpenGL.so.0.
-
I just restarted CorePure64 with nothing set onboot:
tce-load -i Xorg-7.7 flwm aterm wbar
startx works, libGL is not loaded and not needed
..and tce-load -i Xorg-7.7-3d flwm aterm wbar
startx works and libGL is loaded
What are you loading to start an x11 gui?
Did you update the following:
libva22.tcz.dep
xorg-server.tcz.dep
-
Hi Juanito, sorry for the delayed reply.
I removed Xorg-7.7-bin.tcz and installed libva22.tcz (didn't have this extension before) and booted successfully to the desktop. However libva22.tcz is not depended on (I'm running Xorg-7.7.tcz). I updated all the dep files a few days but maybe something changed since? I'll re-update the dep files and see what happens. Thanks for your help!
thane
-
I updated the dep files again and libva22.tcz is still not depended on.
-
Hi Juanito
These are the only dependency files that list libva22.tcz:
g4music.tcz.dep
intel-media.tcz.dep
intel-vaapi-driver.tcz.dep
libavutil7.tcz.dep
libva22-dev.tcz.dep
libva22-utils.tcz.dep
libvdpau-va-gl.tcz.dep
weston.tcz.dep
These are the only tree files that eventually pull in libva22.tcz:
clapper.tcz.tree
ffmpeg7-dev.tcz.tree
ffmpeg7.tcz.tree
g4music.tcz.tree
gnome-internet-radio-locator.tcz.tree
gnome-network-displays.tcz.tree
gst-libav.tcz.tree
gstreamer-vaapi.tcz.tree
intel-media-dev.tcz.tree
intel-media.tcz.tree
intel-vaapi-driver.tcz.tree
libavcodec7.tcz.tree
libavdevice7.tcz.tree
libavfilter7.tcz.tree
libavformat7.tcz.tree
libavutil7.tcz.tree
libpostproc7.tcz.tree
libswresample7.tcz.tree
libswscale7.tcz.tree
libva22-dev.tcz.tree
libva22.tcz.tree
libva22-utils.tcz.tree
libvdpau-va-gl.tcz.tree
totem-dev.tcz.tree
totem-gir.tcz.tree
totem.tcz.tree
vimb.tcz.tree
weston-dev.tcz.tree
weston.tcz.tree
-
Hi Rich, I'm using Xorg-7.7.tcz. Not sure if that extension is actually supposed to depend on libva22.tcz or if maybe there's just a library or something missing from the dep file.
thane
-
Hi thane
I got the impression that Juanito expected libva22 to be pulled in
automatically, but I don't know which extension should do that.
I just restarted CorePure64 with nothing set onboot:
tce-load -i Xorg-7.7 flwm aterm wbar
startx works, libGL is not loaded and not needed
..and tce-load -i Xorg-7.7-3d flwm aterm wbar
startx works and libGL is loaded ...
I would have expected one of the above extensions to show up in
the list of tree files.
-
Hi GNUser
It might also be good to check that 3d hardware acceleration is working
Yes, it's working:
$ glxinfo | grep renderer
GLX_MESA_copy_sub_buffer, GLX_MESA_gl_interop, GLX_MESA_query_renderer,
GLX_MESA_gl_interop, GLX_MESA_query_renderer, GLX_MESA_swap_control,
Extended renderer info (GLX_MESA_query_renderer):
OpenGL renderer string: Mesa Intel(R) HD Graphics 4000 (IVB GT2)
----- Snip -----
How did you do that?
mesa-demos.tcz no longer has glxinfo, or any glx programs.
-
I updated the dep files again and libva22.tcz is still not depended on.
The libva22 dep files were modified because they have a circular dependency with mesa.
-
libXdamage added to gtk3 dep file and removed from firefox-ESR