diff --git a/graphics/drm-515-kmod/distinfo b/graphics/drm-515-kmod/distinfo --- a/graphics/drm-515-kmod/distinfo +++ b/graphics/drm-515-kmod/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1703336317 +TIMESTAMP = 1708811594 SHA256 (freebsd-drm-kmod-5.15.118-drm_v5.15.118_4_GH0.tar.gz) = 58e2fc195979e2361346ca57cc158e44413e5de26b83b951a631d09849caf90c SIZE (freebsd-drm-kmod-5.15.118-drm_v5.15.118_4_GH0.tar.gz) = 26092371 diff --git a/graphics/nvidia-drm-510-kmod/Makefile b/graphics/nvidia-drm-510-kmod/Makefile --- a/graphics/nvidia-drm-510-kmod/Makefile +++ b/graphics/nvidia-drm-510-kmod/Makefile @@ -1,9 +1,8 @@ PORTNAME= nvidia-drm-510-kmod -PORTVERSION= ${NVIDIA_DISTVERSION} CATEGORIES= graphics RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-510-kmod -CONFLICTS_INSTALL= nvidia-drm-515-kmod +CONFLICTS_INSTALL= nvidia-drm-515-kmod nvidia-drm-61-kmod .include "${.CURDIR}/../drm-510-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" diff --git a/graphics/nvidia-drm-510-kmod/distinfo b/graphics/nvidia-drm-510-kmod/distinfo --- a/graphics/nvidia-drm-510-kmod/distinfo +++ b/graphics/nvidia-drm-510-kmod/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1702321606 -SHA256 (amshafer-nvidia-driver-535.146.02-nvidia-drm-510-kmod-535.146.02_GH0.tar.gz) = 0cf4454722ce3b866800273b5b47352ffef078384c2437b823435f42e53c0089 -SIZE (amshafer-nvidia-driver-535.146.02-nvidia-drm-510-kmod-535.146.02_GH0.tar.gz) = 185687473 +TIMESTAMP = 1708813467 +SHA256 (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 934549ee2e6cf6bc098a0794ad5c84cfa8d55c79396d1d387c37eb91c49de340 +SIZE (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 143184876 SHA256 (freebsd-drm-kmod-drm_v5.10.163_7_GH0.tar.gz) = dbdff8ad8cad8152d1c286b058f1f5114b3672f1a936e13933ce52915b77eaaa SIZE (freebsd-drm-kmod-drm_v5.10.163_7_GH0.tar.gz) = 20095338 diff --git a/graphics/nvidia-drm-510-kmod/pkg-message b/graphics/nvidia-drm-510-kmod/pkg-message new file mode 100644 --- /dev/null +++ b/graphics/nvidia-drm-510-kmod/pkg-message @@ -0,0 +1,8 @@ +Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done +by setting the modeset sysctl, the equivalent of the modeset kernel parameter +on Linux. + +hw.nvidiadrm.modeset=1 + +This must be set before loading nvdidia-drm.ko, most easily done by placing the +above in /boot/loader.conf. diff --git a/graphics/nvidia-drm-515-kmod/Makefile b/graphics/nvidia-drm-515-kmod/Makefile --- a/graphics/nvidia-drm-515-kmod/Makefile +++ b/graphics/nvidia-drm-515-kmod/Makefile @@ -1,10 +1,8 @@ PORTNAME= nvidia-drm-515-kmod -PORTVERSION= ${NVIDIA_DISTVERSION} -PORTREVISION= 2 CATEGORIES= graphics RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-515-kmod -CONFLICTS_INSTALL= nvidia-drm-510-kmod +CONFLICTS_INSTALL= nvidia-drm-510-kmod nvidia-drm-61-kmod .include "${.CURDIR}/../drm-515-kmod/Makefile.version" .include "${.CURDIR}/../nvidia-drm-kmod/Makefile.common" diff --git a/graphics/nvidia-drm-515-kmod/distinfo b/graphics/nvidia-drm-515-kmod/distinfo --- a/graphics/nvidia-drm-515-kmod/distinfo +++ b/graphics/nvidia-drm-515-kmod/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1702321513 -SHA256 (amshafer-nvidia-driver-535.146.02-nvidia-drm-515-kmod-535.146.02_GH0.tar.gz) = 3508b21e4e15ff16ef921386e199b9f61cd3b160309c07a15810a582c4fa6442 -SIZE (amshafer-nvidia-driver-535.146.02-nvidia-drm-515-kmod-535.146.02_GH0.tar.gz) = 185689214 +TIMESTAMP = 1708813421 +SHA256 (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 934549ee2e6cf6bc098a0794ad5c84cfa8d55c79396d1d387c37eb91c49de340 +SIZE (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 143184876 SHA256 (freebsd-drm-kmod-drm_v5.15.118_4_GH0.tar.gz) = 58e2fc195979e2361346ca57cc158e44413e5de26b83b951a631d09849caf90c SIZE (freebsd-drm-kmod-drm_v5.15.118_4_GH0.tar.gz) = 26092371 diff --git a/graphics/nvidia-drm-515-kmod/pkg-message b/graphics/nvidia-drm-515-kmod/pkg-message new file mode 100644 --- /dev/null +++ b/graphics/nvidia-drm-515-kmod/pkg-message @@ -0,0 +1,8 @@ +Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done +by setting the modeset sysctl, the equivalent of the modeset kernel parameter +on Linux. + +hw.nvidiadrm.modeset=1 + +This must be set before loading nvdidia-drm.ko, most easily done by placing the +above in /boot/loader.conf. diff --git a/graphics/nvidia-drm-61-kmod/Makefile b/graphics/nvidia-drm-61-kmod/Makefile --- a/graphics/nvidia-drm-61-kmod/Makefile +++ b/graphics/nvidia-drm-61-kmod/Makefile @@ -1,6 +1,4 @@ PORTNAME= nvidia-drm-61-kmod -PORTVERSION= ${NVIDIA_DISTVERSION} -PORTREVISION= 2 CATEGORIES= graphics RUN_DEPENDS+= ${KMODDIR}/drm.ko:graphics/drm-61-kmod diff --git a/graphics/nvidia-drm-61-kmod/distinfo b/graphics/nvidia-drm-61-kmod/distinfo --- a/graphics/nvidia-drm-61-kmod/distinfo +++ b/graphics/nvidia-drm-61-kmod/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1708829799 -SHA256 (amshafer-nvidia-driver-535.146.02-nvidia-drm-61-kmod-535.146.02_GH0.tar.gz) = 3dff8909f1c51ef086cc9f88574083292c51d18f13bb3708abd0f76b703807b2 -SIZE (amshafer-nvidia-driver-535.146.02-nvidia-drm-61-kmod-535.146.02_GH0.tar.gz) = 185685669 +TIMESTAMP = 1708963422 +SHA256 (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 934549ee2e6cf6bc098a0794ad5c84cfa8d55c79396d1d387c37eb91c49de340 +SIZE (NVIDIA-FreeBSD-x86_64-550.54.14.tar.xz) = 143184876 SHA256 (freebsd-drm-kmod-drm_v6.1.69_1_GH0.tar.gz) = da88f18f0678b12525a236dfd580bc762f42a5d9c29294192d8cf7fa2b36f68a SIZE (freebsd-drm-kmod-drm_v6.1.69_1_GH0.tar.gz) = 37093608 diff --git a/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c --- a/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c +++ b/graphics/nvidia-drm-61-kmod/files/patch-nvidia-drm-freebsd-lkpi.c @@ -1,8 +1,8 @@ ---- nvidia-drm-freebsd-lkpi.c.orig 2023-11-06 18:11:13 UTC +--- nvidia-drm-freebsd-lkpi.c.orig 2024-02-22 01:03:15 UTC +++ nvidia-drm-freebsd-lkpi.c -@@ -228,7 +228,6 @@ MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1); - +@@ -148,7 +148,6 @@ MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1); LKPI_DRIVER_MODULE(nvidia_drm, nv_drm_init, nv_drm_exit); + LKPI_PNP_INFO(pci, nvidia_drm, nv_module_device_table); MODULE_DEPEND(nvidia_drm, linuxkpi, 1, 1, 1); -MODULE_DEPEND(nvidia_drm, linuxkpi_gplv2, 1, 1, 1); MODULE_DEPEND(nvidia_drm, drmn, 2, 2, 2); diff --git a/graphics/nvidia-drm-61-kmod/pkg-message b/graphics/nvidia-drm-61-kmod/pkg-message new file mode 100644 --- /dev/null +++ b/graphics/nvidia-drm-61-kmod/pkg-message @@ -0,0 +1,8 @@ +Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done +by setting the modeset sysctl, the equivalent of the modeset kernel parameter +on Linux. + +hw.nvidiadrm.modeset=1 + +This must be set before loading nvdidia-drm.ko, most easily done by placing the +above in /boot/loader.conf. diff --git a/graphics/nvidia-drm-kmod/Makefile b/graphics/nvidia-drm-kmod/Makefile --- a/graphics/nvidia-drm-kmod/Makefile +++ b/graphics/nvidia-drm-kmod/Makefile @@ -4,17 +4,25 @@ MAINTAINER= ashafer@badland.io COMMENT= NVIDIA DRM Kernel Module -WWW= https://github.com/amshafer/nvidia-driver +WWW= https://www.nvidia.com/object/unix.html USES= metaport -RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod - .include "${.CURDIR}/../../x11/nvidia-driver/Makefile.version" .include .if ${OPSYS} != FreeBSD -IGNORE= not supported on anything but FreeBSD (missing linuxkpi functionality) +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 +. elif ${OSVERSION} >= 1400097 && (${ARCH} == i386 || ${ARCH} == aarch64) +RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-510-kmod +. elif ${OSVERSION} >= 1400097 && ${OSVERSION} < 1500008 +RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-515-kmod +. elif ${OSVERSION} >= 1500008 +RUN_DEPENDS+= ${KMODDIR}/nvidia-drm.ko:graphics/nvidia-drm-61-kmod +. endif .endif .include diff --git a/graphics/nvidia-drm-kmod/Makefile.common b/graphics/nvidia-drm-kmod/Makefile.common --- a/graphics/nvidia-drm-kmod/Makefile.common +++ b/graphics/nvidia-drm-kmod/Makefile.common @@ -2,31 +2,39 @@ MAINTAINER= ashafer@badland.io COMMENT= NVIDIA DRM Kernel Module -WWW= https://github.com/amshafer/nvidia-driver +WWW= https://www.nvidia.com/object/unix.html +MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${NVIDIA_DISTVERSION}:nvidia \ + https://codeload.github.com/freebsd/drm-kmod/tar.gz/${DRM_KMOD_GH_TAGNAME}?dummy=/:drm +DISTVERSION?= ${NVIDIA_DISTVERSION} +DISTFILES= NVIDIA-FreeBSD-${ARCH_SUFX}-${NVIDIA_DISTVERSION}${EXTRACT_SUFX}:nvidia \ + freebsd-drm-kmod-${DRM_KMOD_GH_TAGNAME}_GH0.tar.gz:drm ONLY_FOR_ARCHS= amd64 -USES= kmod uidfix +USES= kmod uidfix tar:xz SUB_FILES= 20-nvidia-drm-outputclass.conf RUN_DEPENDS+= ${KMODDIR}/nvidia.ko:x11/nvidia-driver .include "${.CURDIR}/../../x11/nvidia-driver/Makefile.version" +.include "${.CURDIR}/../../x11/nvidia-driver/Makefile.common" -LICENSE_FILE= ${WRKSRC}/nvidia/doc/license.txt - -NVIDIA_GH_TAGNAME= ${PORTNAME}-${DISTVERSION} -USE_GITHUB= yes -GH_ACCOUNT= amshafer freebsd:drm -GH_PROJECT= nvidia-driver drm-kmod:drm -GH_TAGNAME:= ${NVIDIA_GH_TAGNAME} ${DRM_KMOD_GH_TAGNAME}:drm +LICENSE_FILE= ${WRKSRC}/../../doc/license.txt PLIST_FILES= ${KMODDIR}/nvidia-drm.ko \ share/X11/xorg.conf.d/20-nvidia-drm-outputclass.conf -MAKE_ENV+= DRMKMODDIR=${WRKDIR}/drm-kmod-${DRM_KMOD_GH_TAGNAME}/ -WRKSRC_SUBDIR= nvidia/src/nvidia-drm/ +MAKE_ENV+= DEBUG_FLAGS=${DEBUG_FLAGS} \ + DRMKMODDIR=${WRKDIR}/drm-kmod-${DRM_KMOD_GH_TAGNAME}/ +WRKSRC= ${WRKDIR}/NVIDIA-FreeBSD-${ARCH_SUFX}-${NVIDIA_DISTVERSION}/ +WRKSRC_SUBDIR= src/nvidia-drm/ post-install: ${MKDIR} ${STAGEDIR}${PREFIX}/share/X11/xorg.conf.d/ ${INSTALL_DATA} ${WRKDIR}/20-nvidia-drm-outputclass.conf ${STAGEDIR}${PREFIX}/share/X11/xorg.conf.d/ + +post-patch: + # We should support -CURRENT: kill the check (first #if __FreeBSD_version) + linenum=$$(${SED} -ne '/^#if __FreeBSD_version/ { = ; q ; }' \ + ${WRKSRC}/../nvidia/nv-freebsd.h) ; ${REINPLACE_CMD} \ + -e "$$linenum,+2d" ${WRKSRC}/../nvidia/nv-freebsd.h diff --git a/graphics/nvidia-drm-kmod/pkg-message b/graphics/nvidia-drm-kmod/pkg-message new file mode 100644 --- /dev/null +++ b/graphics/nvidia-drm-kmod/pkg-message @@ -0,0 +1,8 @@ +Modesetting must be enabled to use nvidia-drm.ko for graphics. This can be done +by setting the modeset sysctl, the equivalent of the modeset kernel parameter +on Linux. + +hw.nvidiadrm.modeset=1 + +This must be set before loading nvdidia-drm.ko, most easily done by placing the +above in /boot/loader.conf.