x11/nvidia-driver: disable GSP Firmware by default

Users have reported issues with suspend/resume when GSP firmware is
enabled. This change disables GSP to unbreak desktop use cases while
a fix is delivered in a future driver version

PR:		285803
Reviewed by:	Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
Approved by:	kbowling (mentor)
Differential Revision:	https://reviews.freebsd.org/D49828
This commit is contained in:
Austin Shafer 2025-04-14 12:19:19 -04:00
parent d163e8f1d6
commit 9c0e0196bd
2 changed files with 18 additions and 1 deletions

View file

@ -14,7 +14,7 @@
PORTNAME?= nvidia-driver PORTNAME?= nvidia-driver
DISTVERSION?= ${NVIDIA_DISTVERSION} DISTVERSION?= ${NVIDIA_DISTVERSION}
# Always try to set PORTREVISION as it can be overridden by the slave ports # Always try to set PORTREVISION as it can be overridden by the slave ports
PORTREVISION?= 1 PORTREVISION?= 2
CATEGORIES= x11 CATEGORIES= x11
MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION} MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION}
DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION} DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION}
@ -80,6 +80,12 @@ SUB_PATCHES+= extra-patch-src-nvidia_dev.c \
SUB_PATCHES+= extra-patch-src-nvidia_subr.c SUB_PATCHES+= extra-patch-src-nvidia_subr.c
.endif .endif
# Temporarily disable GSP firmware as it is known to cause
# issues with suspend/resume
.if ${NVVERSION} >= 565.00000
SUB_PATCHES+= extra-gsp-patch-src-nvidia_subr.c
.endif
DOCSDIR= ${PREFIX}/share/doc/NVIDIA_GLX-1.0 DOCSDIR= ${PREFIX}/share/doc/NVIDIA_GLX-1.0
MODULESDIR= lib/xorg/modules MODULESDIR= lib/xorg/modules
EXTENSIONSDIR?= ${MODULESDIR}/extensions/.nvidia EXTENSIONSDIR?= ${MODULESDIR}/extensions/.nvidia

View file

@ -0,0 +1,11 @@
--- src/nvidia/nvidia_subr.c.orig 2025-04-14 16:14:13 UTC
+++ src/nvidia/nvidia_subr.c
@@ -32,7 +32,7 @@ nv_cap_t *nvidia_caps_root = NULL;
nv_state_t nvidia_ctl_state;
nv_cap_t *nvidia_caps_root = NULL;
-const NvBool nv_is_rm_firmware_supported_os = NV_TRUE;
+const NvBool nv_is_rm_firmware_supported_os = NV_FALSE;
static struct callout snapshot_timer;
static struct mtx snapshot_timer_mutex;