diff options
author | Tomoaki AOKI <junchoon@dec.sakura.ne.jp> | 2025-06-22 00:09:11 -0700 |
---|---|---|
committer | Kevin Bowling <kbowling@FreeBSD.org> | 2025-06-22 02:56:05 -0700 |
commit | c7cde11f842b33bb36b85b91400bec795430c421 (patch) | |
tree | 526aa5c419fa8796dff246c936e142e2d9020ffd | |
parent | lang/ghc92: Use the same GHC 9.2 as bootstrap (diff) |
x11/nvidia-driver-devel, x11/linux-nvidia-libs-devel, graphics/nvidia-drm[,510,515,61,66]-kmod-devel: Add new ports
Add *-devel versions of nvidia drivers
These ports provides supports for New Feature Branch (NFB) of upstream
nvidia drivers like existing legacy branches of ports.
In some cases, supports for cutting edge GPUs are provided via
NFB of driver packages or Beta branch of drivers.
As Beta Branch of drivers cannot be recommended widely, we decided to
add support for NFB as *-devel version.
This new *-devel versions tracks the latest non-Beta versions
regardless it's NFB or Production Branch of drivers.
This is because, in some cases, major version of Production Branch
of drivers are bumped to larger than the one for corresponding
NFB.
So depending on the timing, *-devel 100% matches non-devel
master ports except for its package name.
Our upgrading policies are:
1. Start investigating whether some additional works are needed to
build/install/run or not when new Beta is found to be released
upstream.
2. If any additional works were needed and done, upgrade master ports
below without updating version nor PORTREVISION of master ports below.
x11/nvidia-driver x11/linux-nvidia-libs graphics/nvidia-drm-*-kmod
and as needed, graphics/nvidia-drm-kmod/Makefile.common would be
updated, too.
3. Once findng new NFB is released upstream, bump versions of *-devel.
Step 2 would "usually" ease this work unless Beta is skipped or
last-minutes breaking changes are introduced.
4. Once finding new Production Branch is released upstream, bump
versions of master ports.
5. Once finding any of Legacy Branch of driver is released upstream,
upgrade corresponding legacy ports. This could need some additional
work, because updated version could incorporate patches from our ports.
Note that graphics/nvidia-drm-*-kmod does NOT support any of
exisiting legacy versions, as they don't yet have codes to
support these ports.
PR: 287268
Differential Revision: https://reviews.freebsd.org/D50697
23 files changed, 105 insertions, 11 deletions
diff --git a/graphics/Makefile b/graphics/Makefile index c7bccc374c6b..8c13229d8fc6 100644 --- a/graphics/Makefile +++ b/graphics/Makefile @@ -620,10 +620,15 @@ SUBDIR += nsxiv SUBDIR += nurbs++ SUBDIR += nvidia-drm-510-kmod + SUBDIR += nvidia-drm-510-kmod-devel SUBDIR += nvidia-drm-515-kmod + SUBDIR += nvidia-drm-515-kmod-devel SUBDIR += nvidia-drm-61-kmod + SUBDIR += nvidia-drm-61-kmod-devel SUBDIR += nvidia-drm-66-kmod + SUBDIR += nvidia-drm-66-kmod-devel SUBDIR += nvidia-drm-kmod + SUBDIR += nvidia-drm-kmod-devel SUBDIR += nvidia-texture-tools SUBDIR += ocaml-cairo SUBDIR += ocaml-images diff --git a/graphics/nvidia-drm-510-kmod-devel/Makefile b/graphics/nvidia-drm-510-kmod-devel/Makefile new file mode 100644 index 000000000000..b6bfde43b6f3 --- /dev/null +++ b/graphics/nvidia-drm-510-kmod-devel/Makefile @@ -0,0 +1,7 @@ +NVIDIA_DISTVERSION= 575.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 +MASTERDIR= ${.CURDIR}/../nvidia-drm-510-kmod +PKGNAMESUFFIX= -devel + +.include "${MASTERDIR}/Makefile" diff --git a/graphics/nvidia-drm-510-kmod-devel/distinfo b/graphics/nvidia-drm-510-kmod-devel/distinfo new file mode 100644 index 000000000000..7946a22f9991 --- /dev/null +++ b/graphics/nvidia-drm-510-kmod-devel/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1750513021 +SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057 +SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452 +SHA256 (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = ea6b04c4bbd859248aabb81bc2abc19f33d68f57decf2e41dd8f5341124227d4 +SIZE (freebsd-drm-kmod-drm_v5.10.163_8_GH0.tar.gz) = 20095720 diff --git a/graphics/nvidia-drm-510-kmod/Makefile b/graphics/nvidia-drm-510-kmod/Makefile index 10540a7f5ae3..8ac628c6b799 100644 --- a/graphics/nvidia-drm-510-kmod/Makefile +++ b/graphics/nvidia-drm-510-kmod/Makefile @@ -4,7 +4,7 @@ CATEGORIES= graphics BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-510-kmod RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-510-kmod -CONFLICTS_INSTALL= nvidia-drm-510-kmod nvidia-drm-61-kmod nvidia-drm-66-kmod +CONFLICTS_INSTALL= nvidia-drm-515-kmod* nvidia-drm-61-kmod* nvidia-drm-66-kmod* .include "${.CURDIR}/../drm-510-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" diff --git a/graphics/nvidia-drm-515-kmod-devel/Makefile b/graphics/nvidia-drm-515-kmod-devel/Makefile new file mode 100644 index 000000000000..c82bf66cc78e --- /dev/null +++ b/graphics/nvidia-drm-515-kmod-devel/Makefile @@ -0,0 +1,7 @@ +NVIDIA_DISTVERSION= 575.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 +MASTERDIR= ${.CURDIR}/../nvidia-drm-515-kmod +PKGNAMESUFFIX= -devel + +.include "${MASTERDIR}/Makefile" diff --git a/graphics/nvidia-drm-515-kmod-devel/distinfo b/graphics/nvidia-drm-515-kmod-devel/distinfo new file mode 100644 index 000000000000..c30652a950d9 --- /dev/null +++ b/graphics/nvidia-drm-515-kmod-devel/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1750497473 +SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057 +SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452 +SHA256 (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 93fc30211374d028ec8e24872cc5ac03dab13309b637cf3bdad27f2dcb808fc0 +SIZE (freebsd-drm-kmod-drm_v5.15.160_5_GH0.tar.gz) = 26098570 diff --git a/graphics/nvidia-drm-515-kmod/Makefile b/graphics/nvidia-drm-515-kmod/Makefile index 9b22a624c737..2c0ad686c426 100644 --- a/graphics/nvidia-drm-515-kmod/Makefile +++ b/graphics/nvidia-drm-515-kmod/Makefile @@ -4,7 +4,7 @@ CATEGORIES= graphics BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-515-kmod RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-515-kmod -CONFLICTS_INSTALL= nvidia-drm-510-kmod nvidia-drm-61-kmod nvidia-drm-66-kmod +CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-61-kmod* nvidia-drm-66-kmod* .include "${.CURDIR}/../drm-515-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" diff --git a/graphics/nvidia-drm-61-kmod-devel/Makefile b/graphics/nvidia-drm-61-kmod-devel/Makefile new file mode 100644 index 000000000000..d059040f5e2f --- /dev/null +++ b/graphics/nvidia-drm-61-kmod-devel/Makefile @@ -0,0 +1,7 @@ +NVIDIA_DISTVERSION= 575.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 +MASTERDIR= ${.CURDIR}/../nvidia-drm-61-kmod +PKGNAMESUFFIX= -devel + +.include "${MASTERDIR}/Makefile" diff --git a/graphics/nvidia-drm-61-kmod-devel/distinfo b/graphics/nvidia-drm-61-kmod-devel/distinfo new file mode 100644 index 000000000000..934b49d0bd27 --- /dev/null +++ b/graphics/nvidia-drm-61-kmod-devel/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1750497952 +SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057 +SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452 +SHA256 (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = ef5ee435493351a4d123f53b503c018a5195604ad4954a052d40f103643de39d +SIZE (freebsd-drm-kmod-drm_v6.1.128_4_GH0.tar.gz) = 37105937 diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile index dff6b8de6435..789793c223e7 100644 --- a/graphics/nvidia-drm-61-kmod/Makefile +++ b/graphics/nvidia-drm-61-kmod/Makefile @@ -4,7 +4,7 @@ CATEGORIES= graphics BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod -CONFLICTS_INSTALL= nvidia-drm-510-kmod nvidia-drm-515-kmod nvidia-drm-66-kmod +CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-66-kmod* .include "${.CURDIR}/../drm-61-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" diff --git a/graphics/nvidia-drm-66-kmod-devel/Makefile b/graphics/nvidia-drm-66-kmod-devel/Makefile new file mode 100644 index 000000000000..09c5db366d3f --- /dev/null +++ b/graphics/nvidia-drm-66-kmod-devel/Makefile @@ -0,0 +1,7 @@ +NVIDIA_DISTVERSION= 575.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 +MASTERDIR= ${.CURDIR}/../nvidia-drm-66-kmod +PKGNAMESUFFIX= -devel + +.include "${MASTERDIR}/Makefile" diff --git a/graphics/nvidia-drm-66-kmod-devel/distinfo b/graphics/nvidia-drm-66-kmod-devel/distinfo new file mode 100644 index 000000000000..db68437d2905 --- /dev/null +++ b/graphics/nvidia-drm-66-kmod-devel/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1750498510 +SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057 +SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452 +SHA256 (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 412fe7b8db00ce7ed6339fa3099f9b17fe78b115ccb05a8714228ce70c9d0882 +SIZE (freebsd-drm-kmod-drm_v6.6.25_5_GH0.tar.gz) = 38486809 diff --git a/graphics/nvidia-drm-66-kmod/Makefile b/graphics/nvidia-drm-66-kmod/Makefile index 07d0984a2fc5..4a9c868cb21f 100644 --- a/graphics/nvidia-drm-66-kmod/Makefile +++ b/graphics/nvidia-drm-66-kmod/Makefile @@ -4,7 +4,7 @@ CATEGORIES= graphics BUILD_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-66-kmod RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-66-kmod -CONFLICTS_INSTALL= nvidia-drm-510-kmod nvidia-drm-515-kmod nvidia-drm-61-kmod +CONFLICTS_INSTALL= nvidia-drm-510-kmod* nvidia-drm-515-kmod* nvidia-drm-61-kmod* .include "${.CURDIR}/../drm-66-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" diff --git a/graphics/nvidia-drm-kmod-devel/Makefile b/graphics/nvidia-drm-kmod-devel/Makefile new file mode 100644 index 000000000000..1f5bfb06325a --- /dev/null +++ b/graphics/nvidia-drm-kmod-devel/Makefile @@ -0,0 +1,8 @@ +DISTVERSION= 575.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 + +MASTERDIR= ${.CURDIR}/../nvidia-drm-kmod +PKGNAMESUFFIX= -devel + +.include "${MASTERDIR}/Makefile" diff --git a/graphics/nvidia-drm-kmod/Makefile b/graphics/nvidia-drm-kmod/Makefile index c0a1ae90f5a0..128dad89c6be 100644 --- a/graphics/nvidia-drm-kmod/Makefile +++ b/graphics/nvidia-drm-kmod/Makefile @@ -1,5 +1,5 @@ PORTNAME= nvidia-drm-kmod -PORTVERSION= ${NVIDIA_DISTVERSION} +DISTVERSION?= ${NVIDIA_DISTVERSION} CATEGORIES= graphics kld MAINTAINER= x11@FreeBSD.org @@ -15,12 +15,14 @@ USES= metaport IGNORE= not supported on anything but FreeBSD (missing linuxkpi functionality) .else . if ${OSVERSION} >= 1302000 && ${OSVERSION} < 1400097 -RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod +RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod${PKGNAMESUFFIX} . elif ${OSVERSION} >= 1400097 && (${ARCH} == i386 || ${ARCH} == aarch64) -RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod +RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod${PKGNAMESUFFIX} . elif ${OSVERSION} >= 1400508 -RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-61-kmod +RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-61-kmod${PKGNAMESUFFIX} . endif .endif +CONFLICTS_INSTALL= nvidia-drm-kmod* + .include <bsd.port.post.mk> diff --git a/graphics/nvidia-drm-kmod/Makefile.common b/graphics/nvidia-drm-kmod/Makefile.common index 7f87a3661b0b..9ef819ba40da 100644 --- a/graphics/nvidia-drm-kmod/Makefile.common +++ b/graphics/nvidia-drm-kmod/Makefile.common @@ -9,13 +9,18 @@ DISTVERSION?= ${NVIDIA_DISTVERSION} PORTREVISION?= 0 DISTFILES= NVIDIA-FreeBSD-${ARCH_SUFX}-${NVIDIA_DISTVERSION}${EXTRACT_SUFX}:nvidia \ freebsd-drm-kmod-${DRM_KMOD_GH_TAGNAME}_GH0.tar.gz:drm +# Choose proper distinfo file using PKGNAMESUFFIX for slave ports. +# Kept for switching to centralized distinfo with suffixes. +.ifdef PKGNAMESUFFIX +DISTINFO_FILE= ${.CURDIR}/distinfo +.endif ONLY_FOR_ARCHS= amd64 USES= kmod uidfix tar:xz SUB_FILES= 20-nvidia-drm-outputclass.conf -RUN_DEPENDS+= ${KMODDIR}/nvidia.ko:x11/nvidia-driver +RUN_DEPENDS+= ${KMODDIR}/nvidia.ko:x11/nvidia-driver${PKGNAMESUFFIX} .include "${.CURDIR}/../../x11/nvidia-driver/Makefile.version" .include "${.CURDIR}/../../x11/nvidia-driver/Makefile.common" diff --git a/x11/Makefile b/x11/Makefile index 72e614cf80cc..909e86fe9fbd 100644 --- a/x11/Makefile +++ b/x11/Makefile @@ -245,6 +245,7 @@ SUBDIR += linux-nvidia-libs-340 SUBDIR += linux-nvidia-libs-390 SUBDIR += linux-nvidia-libs-470 + SUBDIR += linux-nvidia-libs-devel SUBDIR += linux-rl9-libxkbcommon SUBDIR += linux-rl9-pixman SUBDIR += linux-rl9-qt5-qtx11extras @@ -296,6 +297,7 @@ SUBDIR += nvidia-driver-340 SUBDIR += nvidia-driver-390 SUBDIR += nvidia-driver-470 + SUBDIR += nvidia-driver-devel SUBDIR += nvidia-settings SUBDIR += nvidia-xconfig SUBDIR += nwg-bar diff --git a/x11/linux-nvidia-libs-devel/Makefile b/x11/linux-nvidia-libs-devel/Makefile new file mode 100644 index 000000000000..f0dfe2201ec7 --- /dev/null +++ b/x11/linux-nvidia-libs-devel/Makefile @@ -0,0 +1,8 @@ +DISTVERSION= 575.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 + +MASTERDIR= ${.CURDIR}/../linux-nvidia-libs +PKGNAMESUFFIX= -devel + +.include "${MASTERDIR}/Makefile" diff --git a/x11/linux-nvidia-libs-devel/distinfo b/x11/linux-nvidia-libs-devel/distinfo new file mode 100644 index 000000000000..8fd4df607603 --- /dev/null +++ b/x11/linux-nvidia-libs-devel/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1750496375 +SHA256 (NVIDIA-Linux-x86_64-575.64.run) = eb01bcfe73b06c7d24b6083c27e6414f6979542f06e65601421b64ccc0ad68b1 +SIZE (NVIDIA-Linux-x86_64-575.64.run) = 387052180 diff --git a/x11/linux-nvidia-libs/Makefile b/x11/linux-nvidia-libs/Makefile index e8c7666f8902..f107874f2eb7 100644 --- a/x11/linux-nvidia-libs/Makefile +++ b/x11/linux-nvidia-libs/Makefile @@ -16,6 +16,8 @@ LICENSE_FILE= ${WRKSRC}/LICENSE .include "${.CURDIR}/../nvidia-driver/Makefile.version" .include "${.CURDIR}/../nvidia-driver/Makefile.common" +CONFLICTS_INSTALL= linux-nvidia-libs* + # Choose proper distinfo file using PKGNAMESUFFIX for slave ports. # Kept for switching to centralized distinfo with suffixes. .ifdef PKGNAMESUFFIX @@ -274,7 +276,7 @@ PLIST_RE+= '\,${LINUXBASE}.*libnvidia-gpucomp\.so,d' # nvidia-egl-X11 supports (not in x11/nvidia-driver nor separate ports) # Estimated to be upgrated often. -.if ${NVVERSION} >= 570.15302 && ${NVVERSION} < 575.00000 +.if ${NVVERSION} >= 570.15302 && ${NVVERSION} < 575.00000 || ${NVVERSION} >= 575.05708 NV_EGL_X_VERSION= 1.0.2 .elif ${NVVERSION} >= 570.14400 # 570.144 NV_EGL_X_VERSION= 1.0.1 diff --git a/x11/nvidia-driver-devel/Makefile b/x11/nvidia-driver-devel/Makefile new file mode 100644 index 000000000000..d3e7258c8852 --- /dev/null +++ b/x11/nvidia-driver-devel/Makefile @@ -0,0 +1,8 @@ +DISTVERSION= 575.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 + +MASTERDIR= ${.CURDIR}/../nvidia-driver +PKGNAMESUFFIX= -devel + +.include "${MASTERDIR}/Makefile" diff --git a/x11/nvidia-driver-devel/distinfo b/x11/nvidia-driver-devel/distinfo new file mode 100644 index 000000000000..28b3f5dc73eb --- /dev/null +++ b/x11/nvidia-driver-devel/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1750495890 +SHA256 (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 8b1392a796ac04738b11d8f74713d1c8be3ecbd1af8363ba8ba3599204b56057 +SIZE (NVIDIA-FreeBSD-x86_64-575.64.tar.xz) = 287791452 diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile index 32daf36722b1..dcc5da991172 100644 --- a/x11/nvidia-driver/Makefile +++ b/x11/nvidia-driver/Makefile @@ -159,7 +159,7 @@ PLIST_SUB+= EXTENSIONSDIR="@comment " PLIST_FILES+= lib/libnvidia-wayland-client.so.${DISTVERSION} .endif -CONFLICTS_INSTALL+= nvidia-driver nvidia-driver-* +CONFLICTS_INSTALL+= nvidia-driver* .if ${PORTNAME} != nvidia-secondary-driver CONFLICTS_INSTALL+= nvidia-secondary-driver .endif |