diff -Nru nvidia-graphics-drivers-560-560.35.03/debian/changelog nvidia-graphics-drivers-560-560.35.03/debian/changelog --- nvidia-graphics-drivers-560-560.35.03/debian/changelog 2024-11-20 14:45:39.000000000 +0000 +++ nvidia-graphics-drivers-560-560.35.03/debian/changelog 2024-11-21 12:31:46.000000000 +0000 @@ -1,3 +1,9 @@ +nvidia-graphics-drivers-560 (560.35.03-0ubuntu7) plucky; urgency=medium + + * Fix FTBFS of the -open variant + + -- Paolo Pisati Thu, 21 Nov 2024 12:31:46 +0000 + nvidia-graphics-drivers-560 (560.35.03-0ubuntu6) plucky; urgency=medium * Fix Linux 6.12 support diff -Nru nvidia-graphics-drivers-560-560.35.03/debian/dkms_nvidia_open.conf nvidia-graphics-drivers-560-560.35.03/debian/dkms_nvidia_open.conf --- nvidia-graphics-drivers-560-560.35.03/debian/dkms_nvidia_open.conf 2024-11-20 14:45:39.000000000 +0000 +++ nvidia-graphics-drivers-560-560.35.03/debian/dkms_nvidia_open.conf 2024-11-21 12:31:46.000000000 +0000 @@ -14,6 +14,7 @@ AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" PATCH[1]="buildfix_kernel_6.12.patch" +PATCH[2]="buildfix_kernel_6.12_pageswapcache.patch" # Apply from v4 to v5.12 kernels #PATCH[2]="buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch" #PATCH[3]="buildfix_kernel_6.8-gpl-pfn_valid.patch" diff -Nru nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12.patch nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12.patch --- nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12.patch 1970-01-01 00:00:00.000000000 +0000 +++ nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12.patch 2024-11-21 12:30:57.000000000 +0000 @@ -0,0 +1,86 @@ +From 94ad29389cd5129401adea6925f987f4529abb1c Mon Sep 17 00:00:00 2001 +From: Peter Jung +Date: Thu, 26 Sep 2024 14:53:31 +0200 +Subject: [PATCH 5/5] 6.12: drm_outpull_pill changed check + +--- + conftest.sh | 23 ++++++++++++++++++++ + nvidia-drm/nvidia-drm-drv.c | 4 ++++ + nvidia-drm/nvidia-drm-sources.mk | 1 + + 3 files changed, 28 insertions(+) + +diff --git a/conftest.sh b/conftest.sh +index 4a239e63..4d6fff64 100755 +--- a/conftest.sh ++++ b/conftest.sh +@@ -6631,6 +6631,29 @@ compile_test() { + compile_check_conftest "$CODE" "NV_DRM_FBDEV_TTM_SETUP_PRESENT" "" "functions" + ;; + ++ drm_output_poll_changed) ++ # ++ # Determine whether drm_mode_config_funcs.output_poll_changed ++ # callback is present ++ # ++ # Removed by commit 446d0f4849b1 ("drm: Remove struct ++ # drm_mode_config_funcs.output_poll_changed") in v6.12. Hotplug ++ # event support is handled through the fbdev emulation interface ++ # going forward. ++ # ++ CODE=" ++ #if defined(NV_DRM_DRM_MODE_CONFIG_H_PRESENT) ++ #include ++ #else ++ #include ++ #endif ++ int conftest_drm_output_poll_changed_available(void) { ++ return offsetof(struct drm_mode_config_funcs, output_poll_changed); ++ }" ++ ++ compile_check_conftest "$CODE" "NV_DRM_OUTPUT_POLL_CHANGED_PRESENT" "" "types" ++ ;; ++ + drm_aperture_remove_conflicting_pci_framebuffers) + # + # Determine whether drm_aperture_remove_conflicting_pci_framebuffers is present. +diff --git a/nvidia-drm/nvidia-drm-drv.c b/nvidia-drm/nvidia-drm-drv.c +index 50028c26..034dda66 100644 +--- a/nvidia-drm/nvidia-drm-drv.c ++++ b/nvidia-drm/nvidia-drm-drv.c +@@ -126,6 +126,7 @@ static const char* nv_get_input_colorspace_name( + + #if defined(NV_DRM_ATOMIC_MODESET_AVAILABLE) + ++#if defined(NV_DRM_OUTPUT_POLL_CHANGED_PRESENT) + static void nv_drm_output_poll_changed(struct drm_device *dev) + { + struct drm_connector *connector = NULL; +@@ -169,6 +170,7 @@ static void nv_drm_output_poll_changed(struct drm_device *dev) + nv_drm_connector_list_iter_end(&conn_iter); + #endif + } ++#endif /* NV_DRM_OUTPUT_POLL_CHANGED_PRESENT */ + + static struct drm_framebuffer *nv_drm_framebuffer_create( + struct drm_device *dev, +@@ -206,7 +208,9 @@ static const struct drm_mode_config_funcs nv_mode_config_funcs = { + .atomic_check = nv_drm_atomic_check, + .atomic_commit = nv_drm_atomic_commit, + ++ #if defined(NV_DRM_OUTPUT_POLL_CHANGED_PRESENT) + .output_poll_changed = nv_drm_output_poll_changed, ++ #endif + }; + + static void nv_drm_event_callback(const struct NvKmsKapiEvent *event) +diff --git a/nvidia-drm/nvidia-drm-sources.mk b/nvidia-drm/nvidia-drm-sources.mk +index 247096b7..f5964a57 100644 +--- a/nvidia-drm/nvidia-drm-sources.mk ++++ b/nvidia-drm/nvidia-drm-sources.mk +@@ -131,3 +131,4 @@ NV_CONFTEST_TYPE_COMPILE_TESTS += drm_aperture_remove_conflicting_pci_framebuffe + NV_CONFTEST_TYPE_COMPILE_TESTS += drm_mode_create_dp_colorspace_property_has_supported_colorspaces_arg + NV_CONFTEST_TYPE_COMPILE_TESTS += drm_syncobj_features_present + NV_CONFTEST_TYPE_COMPILE_TESTS += drm_unlocked_ioctl_flag_present ++NV_CONFTEST_TYPE_COMPILE_TESTS += drm_output_poll_changed +-- +2.46.2 diff -Nru nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12_pageswapcache.patch nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12_pageswapcache.patch --- nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12_pageswapcache.patch 1970-01-01 00:00:00.000000000 +0000 +++ nvidia-graphics-drivers-560-560.35.03/debian/open-kernel/patches/buildfix_kernel_6.12_pageswapcache.patch 2024-11-21 12:31:46.000000000 +0000 @@ -0,0 +1,13 @@ +diff --git a/nvidia-uvm/uvm_hmm.c b/nvidia-uvm/uvm_hmm.c +index 93e64424..dc64184e 100644 +--- a/nvidia-uvm/uvm_hmm.c ++++ b/nvidia-uvm/uvm_hmm.c +@@ -2694,7 +2694,7 @@ static NV_STATUS dmamap_src_sysmem_pages(uvm_va_block_t *va_block, + continue; + } + +- if (PageSwapCache(src_page)) { ++ if (folio_test_swapcache(page_folio(src_page))) { + // TODO: Bug 4050579: Remove this when swap cached pages can be + // migrated. + status = NV_WARN_MISMATCHED_TARGET; diff -Nru nvidia-graphics-drivers-560-560.35.03/debian/templates/dkms_nvidia_open.conf.in nvidia-graphics-drivers-560-560.35.03/debian/templates/dkms_nvidia_open.conf.in --- nvidia-graphics-drivers-560-560.35.03/debian/templates/dkms_nvidia_open.conf.in 2024-11-20 14:45:39.000000000 +0000 +++ nvidia-graphics-drivers-560-560.35.03/debian/templates/dkms_nvidia_open.conf.in 2024-11-21 12:31:46.000000000 +0000 @@ -14,6 +14,7 @@ AUTOINSTALL="yes" PATCH[0]="disable_fstack-clash-protection_fcf-protection.patch" PATCH[1]="buildfix_kernel_6.12.patch" +PATCH[2]="buildfix_kernel_6.12_pageswapcache.patch" # Apply from v4 to v5.12 kernels #PATCH[2]="buildfix_kernel_6.8-nv_drm_ioctls-DRM_UNLOCKED-is-now-the-default-behavi.patch" #PATCH[3]="buildfix_kernel_6.8-gpl-pfn_valid.patch"