Tiny Core Linux

Tiny Core Extensions => TCE News => Topic started by: Juanito on October 17, 2025, 08:21:48 AM

Title: Update to mesa in tc-16.x x86_64 repo
Post 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
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 17, 2025, 12:10:10 PM
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 17, 2025, 12:14:40 PM
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 :)
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 17, 2025, 11:43:10 PM
Hi Juanito. meld.tcz was working before these changes but seems to be broken now on TCL16.2 x86_64:

Code: [Select]
$ 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:

Code: [Select]
/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:
Code: [Select]
/usr/local/lib/libGL.so
/usr/local/lib/libGL.so.1
/usr/local/lib/libGL.so.1.2.0



Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 18, 2025, 07:28:55 AM
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?
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 18, 2025, 07:44:42 AM
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 18, 2025, 07:49:55 AM
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)?
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 18, 2025, 07:51:39 AM
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:
Code: [Select]
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 18, 2025, 07:52:45 AM
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 18, 2025, 07:56:43 AM
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 18, 2025, 03:51:32 PM
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.

Code: [Select]
$ 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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 18, 2025, 04:09:51 PM
It might also be good to check that 3d hardware acceleration is working
Yes, it's working:

Code: [Select]
$ 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

Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 19, 2025, 03:50:13 AM
updated meld posted
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 19, 2025, 01:42:05 PM
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: GNUser on October 19, 2025, 01:47:10 PM
updated meld posted
Thanks!
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 20, 2025, 04:05:02 AM
Recompiling fox made xfe fast again :)

well spotted  :)
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: thane on October 20, 2025, 05:49:49 PM
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
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: thane on October 20, 2025, 05:52:20 PM
Sorry, meant to say "failed in waitforX" message.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 21, 2025, 03:19:36 AM
Could you try to start the gui without loading Xorg-7.7-bin using this:
Code: [Select]
Xorg -nolisten tcp
This might show what’s missing.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: thane on October 21, 2025, 05:47:52 AM
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 21, 2025, 06:07:49 AM
I just restarted CorePure64 with nothing set onboot:

Code: [Select]
tce-load -i Xorg-7.7 flwm aterm wbar
startx
works, libGL is not loaded and not needed

..and
Code: [Select]
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
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: thane on October 21, 2025, 02:20:13 PM
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
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: thane on October 21, 2025, 02:49:09 PM
I updated the dep files again and libva22.tcz is still not depended on.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Rich on October 21, 2025, 03:10:03 PM
Hi Juanito
These are the only dependency files that list  libva22.tcz:
Code: [Select]
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:
Code: [Select]
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
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: thane on October 21, 2025, 03:45:31 PM
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
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Rich on October 21, 2025, 04:52:08 PM
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:

Code: [Select]
tce-load -i Xorg-7.7 flwm aterm wbar
startx
works, libGL is not loaded and not needed

..and
Code: [Select]
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Rich on October 21, 2025, 11:24:18 PM
Hi GNUser
It might also be good to check that 3d hardware acceleration is working
Yes, it's working:

Code: [Select]
$ 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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 22, 2025, 03:52:39 AM
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.
Title: Re: Update to mesa in tc-16.x x86_64 repo
Post by: Juanito on October 22, 2025, 09:48:21 AM
libXdamage added to gtk3 dep file and removed from firefox-ESR