--- NVIDIA-Linux-x86_64-390.157/kernel/common/inc/nv-linux.h.orig	2026-05-07 18:11:34.353610431 +0300
+++ NVIDIA-Linux-x86_64-390.157/kernel/common/inc/nv-linux.h	2026-05-07 18:14:32.037818773 +0300
@@ -207,6 +207,9 @@
 #else
 #include <linux/tty.h>              /* screen_info                      */
 #endif
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 20, 0)
+#include <linux/sysfb.h>            /* sysfb_primary_display            */
+#endif
 
 #if !defined(CONFIG_PCI)
 #warning "Attempting to build driver for a platform with no PCI support!"
--- NVIDIA-Linux-x86_64-390.157/kernel/nvidia/os-interface.c.orig	2026-05-07 18:16:30.928471197 +0300
+++ NVIDIA-Linux-x86_64-390.157/kernel/nvidia/os-interface.c	2026-05-07 18:22:52.051918910 +0300
@@ -1115,6 +1115,16 @@
     return TRUE;
 }
 
+#if (defined(NVCPU_X86) || defined(NVCPU_X86_64))
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(6, 20, 0)
+    // Rel. commit "sysfb: Replace screen_info with sysfb_primary_display" (Thomas Zimmermann, 26 Nov 2025)
+    static const struct screen_info *si = &sysfb_primary_display.screen;
+#elif defined (NV_LINUX_SCREEN_INFO_H_PRESENT)
+    static const struct screen_info *si = &screen_info;
+#endif
+#endif
+
+
 void NV_API_CALL os_get_screen_info(
     NvU64 *pPhysicalAddress,
     NvU16 *pFbWidth,
@@ -1131,21 +1141,21 @@
     // initialization, and then will be set to a value, such as
     // VIDEO_TYPE_VLFB or VIDEO_TYPE_EFI if an fbdev console is used.
     //
-    if (screen_info.orig_video_isVGA <= 1)
+    if (si->orig_video_isVGA <= 1)
     {
         *pPhysicalAddress = 0;
         *pFbWidth = *pFbHeight = *pFbDepth = *pFbPitch = 0;
         return;
     }
 
-    *pPhysicalAddress = screen_info.lfb_base;
+    *pPhysicalAddress = si->lfb_base;
 #if defined(VIDEO_CAPABILITY_64BIT_BASE)
-    *pPhysicalAddress |= (NvU64)screen_info.ext_lfb_base << 32;
+    *pPhysicalAddress |= (NvU64)si->ext_lfb_base << 32;
 #endif
-    *pFbWidth = screen_info.lfb_width;
-    *pFbHeight = screen_info.lfb_height;
-    *pFbDepth = screen_info.lfb_depth;
-    *pFbPitch = screen_info.lfb_linelength;
+    *pFbWidth = si->lfb_width;
+    *pFbHeight = si->lfb_height;
+    *pFbDepth = si->lfb_depth;
+    *pFbPitch = si->lfb_linelength;
 #else
     *pPhysicalAddress = 0;
     *pFbWidth = *pFbHeight = *pFbDepth = *pFbPitch = 0;
