wlroots will try to create a GBM device and this need the gbm libs from mesa.
Details
- Reviewers
jbeich - Commits
- rP527328: x11-toolkits/wlroots: Add mesa-dri to RUN_DEPEND
On a fresh install ' pkg install sway alacritty' and start sway.
Diff Detail
- Repository
- rP FreeBSD ports repository
- Lint
Lint Not Applicable - Unit
Tests Not Applicable
Event Timeline
wlroots is not a direct consumer of mesa-dri. OpenGL/EGL/Vulkan/etc simply don't work without drivers as even software renderer is part of mesa-dri. This affects all mesa-libs consumers that don't have a fallback. No other port adds mesa-dri to RUN_DEPENDS.
Apply to Mk/Uses/gl.mk instead.
Example consumer without fallback:
$ alacritty libEGL warning: DRI2: failed to authenticate libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/local/lib/dri) libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/local/lib/dri) libEGL warning: DRI2: failed to authenticate libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/local/lib/dri) libEGL warning: MESA-LOADER: failed to open swrast (search paths /usr/local/lib/dri) Alacritty encountered an unrecoverable error: Error creating GL context; Received multiple errors. Errors: `[OsError("eglInitialize failed"), OsError("`glXQueryExtensionsString` found no glX extensions")]`
Do people get mesa-dri just by installing xorg, or xorg-server, or a desktop environment? (If so, how?)
USES=xorg-cat:xserver adds RUN_DEPENDS on mesa-dri. x11/xorg also adds RUN_DEPENDS on mesa-dri (duplicate?).
Given X11 server depends on mesa-dri it makes sense to make Wayland compositor(s) depend on mesa-dri as well. For running regular GUI applications in a jail gfx drivers are required less often.
Sorry for the initial confusion.
Non-accelerated wl_shm on Wayland, MIT-SHM on X11. wlroots only supports EGL (Vulkan is slated until renderer is refactored) and requires GBM (not supported by proprietary NVIDIA driver) to run from console.
wlroots will try to create a GBM device and this need the gbm libs from mesa.
"gbm libs" are part of mesa-libs package. In commit message better include error excerpt to avoid ambiguity.