Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 02 May 2026 09:11:15 +0000
From:      bugzilla-noreply@freebsd.org
To:        x11@FreeBSD.org
Subject:   [Bug 294948] graphics/mesa-dri: Upgrade to 25.2.8
Message-ID:  <bug-294948-7141@https.bugs.freebsd.org/bugzilla/>

index | next in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=294948

            Bug ID: 294948
           Summary: graphics/mesa-dri: Upgrade to 25.2.8
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Only Me
          Priority: ---
         Component: Individual Port(s)
          Assignee: x11@FreeBSD.org
          Reporter: olivier@freebsd.org
             Flags: maintainer-feedback?(x11@FreeBSD.org)
          Assignee: x11@FreeBSD.org

Created attachment 270329
  --> https://bugs.freebsd.org/bugzilla/attachment.cgi?id=270329&action=edit
patch to upgrade it

Hi, here is a proposal to upgrade mesa-dri to 25.2.8

Mesa 25 introduced a "megalib" refactor merging libglapi + every per-driver
gallium runtime into a single libgallium_dri.so. Both mesa-dri (per-hardware
DRI shims) and mesa-libs (libEGL_mesa, libGLX_mesa, libgbm) link directly
against libgallium_dri.so. With the existing two-port split, both ports would
have to produce libgallium_dri.so -> unresolvable circular LIB_DEPENDS.

Debian/Ubuntu solved this around mesa 24.2 by adding a third package
mesa-libgallium that owns ONLY libgallium_dri.so.

Here is a proposal with the same model:

graphics/mesa-libgallium  (NEW)  ships lib/libgallium_dri.so only
graphics/mesa-libs               ships libEGL_mesa, libGLX_mesa, libgbm,
                                 GL/EGL/GLES headers, drirc defaults
graphics/mesa-dri                ships per-hardware lib/dri/*_dri.so,
                                 Vulkan ICDs, drirc 01-freebsd.conf

Dependency :
mesa-libgallium  ->  {mesa-libs, mesa-gallium-va, mesa-gallium-vdpau}
mesa-libgallium + mesa-libs  ->  mesa-dri

Side effects of this layout:
- mesa-libs still builds an r300 stub driver because mesa requires >=1
  gallium driver for with_dri=true to install libgallium_dri.so. The dup
  libgallium_dri.so and lib/dri/r300_dri.so are RM'd in post-install.
- mesa-dri post-install RM's the libgallium_dri.so / GL headers / gbm
  headers / dri.pc / 00-mesa-defaults.conf its build produces (owned by
  mesa-libgallium or mesa-libs).
- mesa-libgallium post-install RM's everything except libgallium_dri.so.


A runtime bug not easy to solve: -Dplatforms="x11" in mesa-libgallium

mesa's src/gallium/frontends/dri/loader_dri3_helper.c is only compiled when
with_platform_x11=true. It gets link_whole'd into libgallium_dri.so and
exported via dri.sym's "loader_dri3*" pattern

This bug did NOT show up in poudriere testport because pkg validates shlib
presence, not symbol resolution. Only runtime testing on the real laptop
caught it

Vulkan regression test on framework laptop using graphics/crucible

(10448 tests):
- mesa 24.1.7:  pass 1048 / fail 32 / lost 4 / skip 6752
- mesa 25.2.8:  pass 1048 / fail 32 / lost 4 / skip 9364
 diff of failing test names between mesa 24 and mesa 25: empty.

Same 36 (32+4) failures on both versions = 0 regressions. (The skip count
differs because mesa 25 exposes more Vulkan extensions, so crucible enumerates
more tests and skips the inapplicable ones.

Runtime test on Intel Meteor Lake laptop:
- Vulkan: vulkaninfo --summary reports
   Mesa 25.2.8, DRIVER_ID_INTEL_OPEN_SOURCE_MESA (anv), Vulkan API 1.4.318,
conformance 1.4.0.0
- OpenGL after the loader_dri3 fix:
   glxinfo -B: direct rendering: Yes,
               Vendor: Intel, Device: Mesa Intel(R) Graphics (MTL),
               Accelerated: yes, Mesa 25.2.8, OpenGL 4.6 core
   Xorg log:   glamor: Using OpenGL 4.6 context,AIGLX: Loaded and initialized
iris, GLX: Initialized DRI2 GL provider for screen 0
Confirms hardware-accelerated OpenGL works end-to-end on real hardware.

And stability improvement using heavy vulkan usage (LLM with llama.cpp).

-- 
You are receiving this mail because:
You are the assignee for the bug.

home | help

Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-294948-7141>