1# shellcheck shell=bash
2
3# Mesa: force software rendering
4# https://docs.mesa3d.org/envvars.html
5export LIBGL_ALWAYS_SOFTWARE=true
6export LIBGL_DRIVERS_PATH=@mesa@/lib/dri
7
8# GLX
9# glvnd just does dlopen("libGLX_%s.so"), so we have to resort to
10# LD_LIBRARY_PATH, which is bad but what can you do.
11# FIXME: maybe change glvnd to allow specifying this properly
12export LD_LIBRARY_PATH=@mesa@/lib:${LD_LIBRARY_PATH:-}
13export __GLX_VENDOR_LIBRARY_NAME=mesa
14
15# EGL
16# https://github.com/NVIDIA/libglvnd/blob/master/src/EGL/icd_enumeration.md
17export __EGL_VENDOR_LIBRARY_FILENAMES=@mesa@/share/glvnd/egl_vendor.d/50_mesa.json
18
19# GBM
20export GBM_BACKENDS_PATH=@mesa@/lib/gbm
21export GBM_BACKEND=dri
22
23# Vulkan
24# https://github.com/KhronosGroup/Vulkan-Loader/blob/main/docs/LoaderInterfaceArchitecture.md
25# glob because the filenames contain an architecture suffix
26# echo is needed to force-expand the glob
27VK_DRIVER_FILES="$(echo @mesa@/share/vulkan/icd.d/lvp_icd.*.json)"
28export VK_DRIVER_FILES