From edbfa174ea7f9b13458cffe2f0d1f6ebd1808202 Mon Sep 17 00:00:00 2001 From: K900 Date: Sat, 26 Jul 2025 14:03:16 +0300 Subject: [PATCH] mesa.llvmpipeHook: fix GLX, add GBM, add comments --- pkgs/development/libraries/mesa/llvmpipe-hook.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/pkgs/development/libraries/mesa/llvmpipe-hook.sh b/pkgs/development/libraries/mesa/llvmpipe-hook.sh index 35979eaa5cb6d..b5d2c034eb093 100644 --- a/pkgs/development/libraries/mesa/llvmpipe-hook.sh +++ b/pkgs/development/libraries/mesa/llvmpipe-hook.sh @@ -1,12 +1,26 @@ # shellcheck shell=bash +# Mesa: force software rendering # https://docs.mesa3d.org/envvars.html export LIBGL_ALWAYS_SOFTWARE=true export LIBGL_DRIVERS_PATH=@mesa@/lib/dri +# GLX +# glvnd just does dlopen("libGLX_%s.so"), so we have to resort to +# LD_LIBRARY_PATH, which is bad but what can you do. +# FIXME: maybe change glvnd to allow specifying this properly +export LD_LIBRARY_PATH=@mesa@/lib:${LD_LIBRARY_PATH:-} +export __GLX_VENDOR_LIBRARY_NAME=mesa + +# EGL # https://github.com/NVIDIA/libglvnd/blob/master/src/EGL/icd_enumeration.md export __EGL_VENDOR_LIBRARY_FILENAMES=@mesa@/share/glvnd/egl_vendor.d/50_mesa.json +# GBM +export GBM_BACKENDS_PATH=@mesa@/lib/gbm +export GBM_BACKEND=dri + +# Vulkan # https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md # glob because the filenames contain an architecture suffix # echo is needed to force-expand the glob