Page MenuHomeFreeBSD

x11/nvidia-driver: disable GSP Firmware by default
ClosedPublic

Authored by ashafer on Mon, Apr 14, 4:21 PM.
Tags
None
Referenced Files
Unknown Object (File)
Mon, Apr 28, 1:03 AM
Unknown Object (File)
Sun, Apr 27, 7:24 PM
Unknown Object (File)
Fri, Apr 25, 11:16 PM
Unknown Object (File)
Fri, Apr 25, 11:16 PM
Unknown Object (File)
Fri, Apr 25, 11:16 PM
Unknown Object (File)
Fri, Apr 25, 11:16 PM
Unknown Object (File)
Fri, Apr 25, 11:16 PM
Unknown Object (File)
Fri, Apr 25, 6:11 AM
Subscribers
None

Details

Summary

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

Diff Detail

Repository
R11 FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

ashafer created this revision.

The suspend issue comes from nv_alias_pages not being implemented in our FreeBSD layer. Unfortunately when I resolve that there are still a few issues that GSP encounters when resuming, so I think the best course of action is to disable GSP by default until the issues are resolved.

ashafer retitled this revision from x11/nvidia-driver: diable GSP Firmware by default to x11/nvidia-driver: disable GSP Firmware by default.Mon, Apr 14, 4:23 PM
x11/nvidia-driver/Makefile
86

Hunk2 for Makefile can be rewritten like below (as a patch form) to avoid extra patch file.
Note that this block is needed to be AFTER post-patch target in this case to use ${REINPLACE_CMD} way to avoid potential breakages by conflicting with already-existing patches.
So relocated it.
Using this method, we can avoid forgotton-to-be-removed patch file in the future.

@@ -168,6 +168,13 @@
.endfor

post-patch: .SILENT
+# Temporarily disable GSP firmware as it is known to cause
+# issues with suspend/resume
+.if ${NVVERSION} >= 565.00000
+ ${REINPLACE_CMD} -e 's:const NvBool nv_is_rm_firmware_supported_os = NV_TRUE;:const NvBool nv_is_rm_firmware_supported_os = NV_FALSE;:' \
+ ${WRKSRC}/src/nvidia/nvidia_subr.c
+.endif
+
.if ${NVVERSION} >= 390

	${REINPLACE_CMD} -e 's|/man/man1|/share/man/man1|' ${WRKSRC}/nvml/man/Makefile

.endif

I am fine with the patch file, it will be easy enough to cull eventually.

This revision is now accepted and ready to land.Mon, Apr 14, 5:59 PM

Anyway, whichever builds fine. So accepted.

If some patch (which does not have proper ${REINPLACE_CMD} with some reason) conflicts with this, i.e., modifies something within the patch but this patch is (unfortunately) still needed in the future, considering for switching at the moment would be sufficient.