Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F142739281
D25020.id72368.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
7 KB
Referenced Files
None
Subscribers
None
D25020.id72368.diff
View Options
Index: Mk/Uses/gl.mk
===================================================================
--- Mk/Uses/gl.mk
+++ Mk/Uses/gl.mk
@@ -12,14 +12,19 @@
#
# MAINTAINER: x11@FreeBSD.org
+EGL_PORT?= graphics/libglvnd
+GBM_PORT?= graphics/mesa-libs
+GLESV2_PORT?= graphics/libglvnd
+GL_PORT?= graphics/libglvnd
+
.if !defined(_INCLUDE_USES_GL_MK)
_INCLUDE_USES_GL_MK=yes
-_GL_egl_LIB_DEPENDS= libEGL.so:graphics/mesa-libs
-_GL_gbm_LIB_DEPENDS= libgbm.so:graphics/mesa-libs
-_GL_gl_LIB_DEPENDS= libGL.so:graphics/mesa-libs
+_GL_egl_LIB_DEPENDS= libEGL.so:${EGL_PORT}
+_GL_gbm_LIB_DEPENDS= libgbm.so:${GBM_PORT}
+_GL_gl_LIB_DEPENDS= libGL.so:${GL_PORT}
_GL_gl_USE_XORG= xorgproto
-_GL_glesv2_LIB_DEPENDS= libGLESv2.so:graphics/mesa-libs
+_GL_glesv2_LIB_DEPENDS= libGLESv2.so:${GLESV2_PORT}
_GL_glew_LIB_DEPENDS= libGLEW.so:graphics/glew
_GL_glu_LIB_DEPENDS= libGLU.so:graphics/libGLU
_GL_glu_USE_XORG= xorgproto
Index: graphics/glad/Makefile
===================================================================
--- graphics/glad/Makefile
+++ graphics/glad/Makefile
@@ -18,6 +18,6 @@
CMAKE_ON= GLAD_INSTALL BUILD_SHARED_LIBS GLAD_REPRODUCIBLE
-CONFLICTS_INSTALL= mesa-libs # include/KHR/khrplatform.h, see https://github.com/Dav1dde/glad/issues/260
+CONFLICTS_INSTALL= libglvnd # include/KHR/khrplatform.h, see https://github.com/Dav1dde/glad/issues/260
.include <bsd.port.mk>
Index: graphics/libglvnd/Makefile
===================================================================
--- graphics/libglvnd/Makefile
+++ graphics/libglvnd/Makefile
@@ -4,14 +4,12 @@
DISTVERSION= 1.3.1
CATEGORIES= graphics
-MAINTAINER= greg@unrelenting.technology
+MAINTAINER= x11@FreeBSD.org
COMMENT= GL Vendor-Neutral Dispatch library
LICENSE= APACHE20 MIT
LICENSE_COMB= multi
-CONFLICTS_INSTALL= mesa-libs # include/GL/gl.h
-
USES= compiler:c++11-lib localbase meson pkgconfig
USE_LDCONFIG= yes
Index: graphics/mesa-libs/Makefile
===================================================================
--- graphics/mesa-libs/Makefile
+++ graphics/mesa-libs/Makefile
@@ -3,15 +3,17 @@
PORTNAME= mesa-libs
PORTVERSION= ${MESAVERSION}
+PORTREVISION= 1
CATEGORIES= graphics
COMMENT= OpenGL libraries that support GLX and EGL clients
-CONFLICTS_INSTALL= libglvnd # include/GL/gl.h
+BUILD_DEPENDS= libglvnd>0:graphics/libglvnd
USES= xorg
USE_XORG= xorgproto x11 xcb xdamage xext \
xfixes xshmfence xxf86vm
+CONFIGURE_ARGS= --enable-libglvnd
OPTIONS_DEFINE= WAYLAND
OPTIONS_DEFAULT=WAYLAND
@@ -55,5 +57,8 @@
post-install:
@cd ${WRKSRC}/src && ${SETENV} DESTDIR=${STAGEDIR} \
${MAKE_CMD} install-pkgconfigDATA install-glHEADERS install-glxHEADERS
+# Fallback for non-GLX_EXT_libglvnd consumers
+ @${ECHO_CMD} "libGLX_indirect.so.0 libGLX_mesa.so.0" \
+ >${STAGEDIR}${PREFIX}/etc/libmap.d/mesa.conf
.include <bsd.port.post.mk>
Index: graphics/mesa-libs/pkg-plist
===================================================================
--- graphics/mesa-libs/pkg-plist
+++ graphics/mesa-libs/pkg-plist
@@ -1,42 +1,44 @@
@comment etc/drirc
-include/EGL/egl.h
-include/EGL/eglext.h
+etc/libmap.d/mesa.conf
+@comment include/EGL/egl.h
+@comment include/EGL/eglext.h
include/EGL/eglextchromium.h
include/EGL/eglmesaext.h
-include/EGL/eglplatform.h
-include/GL/gl.h
+@comment include/EGL/eglplatform.h
+@comment include/GL/gl.h
include/GL/gl_mangle.h
-include/GL/glcorearb.h
-include/GL/glext.h
-include/GL/glx.h
+@comment include/GL/glcorearb.h
+@comment include/GL/glext.h
+@comment include/GL/glx.h
include/GL/glx_mangle.h
-include/GL/glxext.h
-include/GLES2/gl2.h
-include/GLES2/gl2ext.h
-include/GLES2/gl2platform.h
-include/GLES3/gl3.h
-include/GLES3/gl31.h
-include/GLES3/gl32.h
-include/GLES3/gl3ext.h
-include/GLES3/gl3platform.h
-include/KHR/khrplatform.h
+@comment include/GL/glxext.h
+@comment include/GLES2/gl2.h
+@comment include/GLES2/gl2ext.h
+@comment include/GLES2/gl2platform.h
+@comment include/GLES3/gl3.h
+@comment include/GLES3/gl31.h
+@comment include/GLES3/gl32.h
+@comment include/GLES3/gl3ext.h
+@comment include/GLES3/gl3platform.h
+@comment include/KHR/khrplatform.h
include/gbm.h
-lib/libEGL.so
-lib/libEGL.so.1
-lib/libEGL.so.1.0.0
-lib/libGL.so
-lib/libGL.so.1
-lib/libGL.so.1.2.0
-lib/libGLESv2.so
-lib/libGLESv2.so.2
-lib/libGLESv2.so.2.0.0
+lib/libEGL_mesa.so
+lib/libEGL_mesa.so.0
+lib/libEGL_mesa.so.0.0.0
+@comment lib/libGLESv2.so
+@comment lib/libGLESv2.so.2
+@comment lib/libGLESv2.so.2.0.0
+lib/libGLX_mesa.so
+lib/libGLX_mesa.so.0
+lib/libGLX_mesa.so.0.0.0
lib/libgbm.so
lib/libgbm.so.1
lib/libgbm.so.1.0.0
lib/libglapi.so
lib/libglapi.so.0
lib/libglapi.so.0.0.0
-libdata/pkgconfig/egl.pc
+@comment libdata/pkgconfig/egl.pc
libdata/pkgconfig/gbm.pc
-libdata/pkgconfig/gl.pc
-libdata/pkgconfig/glesv2.pc
+@comment libdata/pkgconfig/gl.pc
+@comment libdata/pkgconfig/glesv2.pc
+share/glvnd/egl_vendor.d/50_mesa.json
Index: misc/raspberrypi-userland/Makefile
===================================================================
--- misc/raspberrypi-userland/Makefile
+++ misc/raspberrypi-userland/Makefile
@@ -12,7 +12,7 @@
ONLY_FOR_ARCHS= armv6 armv7
-CONFLICTS_INSTALL= mesa-libs
+CONFLICTS_INSTALL= libglvnd
USES= cmake pkgconfig shebangfix
Index: x11-servers/xwayland-devel/pkg-message
===================================================================
--- /dev/null
+++ x11-servers/xwayland-devel/pkg-message
@@ -0,0 +1,4 @@
+Known issues:
+- When x11/nvidia-driver is installed GLX acceleration may not work
+ due to https://gitlab.freedesktop.org/xorg/xserver/-/issues/1032
+ On wlroots-based compositors set __GLX_VENDOR_LIBRARY_NAME=mesa
Index: x11/nvidia-driver/Makefile
===================================================================
--- x11/nvidia-driver/Makefile
+++ x11/nvidia-driver/Makefile
@@ -13,7 +13,7 @@
PORTNAME= nvidia-driver
DISTVERSION?= 440.82
# Always try to set PORTREVISION as it can be overridden by the slave ports
-PORTREVISION?= 1
+PORTREVISION?= 2
CATEGORIES= x11
MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION}
DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION}
@@ -29,6 +29,7 @@
# obj/libEGL_nvidia.so.0 (see below)
.if ${NVVERSION} >= 410.057
PATCH_DEPENDS= gsed:textproc/gsed
+BUILD_DEPENDS= pkg-config:devel/pkgconf libglvnd>0:graphics/libglvnd
.endif
USES= kmod uidfix xorg
@@ -248,6 +249,7 @@
.if ${NVVERSION} < 440.036
${REINPLACE_CMD} -e '/lib32\//d' ${TMPPLIST}
.endif
+.if ${NVVERSION} < 410.057
# Rename some libraries and install a libmap file to resolve conflict with
# Mesa libraries.
${LN} -sf libGL-NVIDIA.so.1 \
@@ -270,5 +272,13 @@
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/libmap.d/
${INSTALL_DATA} ${WRKDIR}/nvidia.conf \
${STAGEDIR}${PREFIX}/etc/libmap.d/
+.else
+ ${REINPLACE_CMD} -E '/-NVIDIA/d ; \
+ /lib(Open)?E?GLX?(ESv[12](_CM)?|dispatch)?\.so/d' \
+ ${TMPPLIST}
+# Override mesa.conf for non-GLX_EXT_libglvnd consumers
+ @${ECHO_CMD} "libGLX_indirect.so.0 libGLX_nvidia.so.0" \
+ >${STAGEDIR}${PREFIX}/etc/libmap.d/nvidia.conf
+.endif
.include <bsd.port.post.mk>
Index: x11/nvidia-driver/pkg-plist
===================================================================
--- x11/nvidia-driver/pkg-plist
+++ x11/nvidia-driver/pkg-plist
@@ -18,7 +18,7 @@
lib/libGLESv2_nvidia.so.2
lib/libGLX.so
lib/libGLX.so.0
-lib/libGLX_indirect.so.0
+@comment lib/libGLX_indirect.so.0
lib/libGLX_nvidia.so
lib/libGLX_nvidia.so.0
lib/libGLdispatch.so
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Fri, Jan 23, 10:53 PM (22 h, 6 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27889014
Default Alt Text
D25020.id72368.diff (7 KB)
Attached To
Mode
D25020: graphics/mesa-libs: enable libglvnd support
Attached
Detach File
Event Timeline
Log In to Comment