diff --git a/Pkgfile b/Pkgfile index 699c36e4..ebd61603 100644 --- a/Pkgfile +++ b/Pkgfile @@ -166,19 +166,19 @@ vars: # NOTE: Use the version that's also available under fabricmanager at https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/linux-x86_64/ # renovate: datasource=github-releases extractVersion=^\d+\.(?\d+\.\d+)$ depName=nvidia/open-gpu-kernel-modules - nvidia_driver_lts_version: 535.216.03 - nvidia_driver_lts_arm64_sha256: bf4c22053068310b988a5ecb43e821c493ffce80b519c73623419ba2cb5d0c83 - nvidia_driver_lts_arm64_sha512: 257dc56d95e8a0a4f9e2d5f5e7a7cdefd017e5319e5d3144f9c1b31a6c47cbdf33252aa504658f20cd15684c8d9855d80efeae6c20f9dad60848ed9c34d5f423 - nvidia_driver_lts_amd64_sha256: 3aa05d8bdddd7a6f2cd461969895dd4ba9eb3e554a8bf1abeb860d84cc7b1d10 - nvidia_driver_lts_amd64_sha512: d6e8ea0d4348fe5e919ebd967c73f22236caae3aeb1f847685d1c801ed80b30661410b63363b6736ee034323eb812787e8bdedde15deb7c9ce05d92306cb5e2e + nvidia_driver_lts_version: 535.230.02 + nvidia_driver_lts_arm64_sha256: 26f99e01a22f4c2e52f35789c286aa1efab6e0d91b447ebfef171a0b035f4a74 + nvidia_driver_lts_arm64_sha512: 0e4ee5e95120b5ee46f3ebee6725a312110b07aeace21455aed24af07750c8a3c974a13cd3bf7d3f4f83aae3ccf11e9a80eb26144f123447b793327bcf57cb8c + nvidia_driver_lts_amd64_sha256: 4ead516e02073ebc8a46500a2e2023fb508b5c17f1c06e177b9b5b1f763ff4f5 + nvidia_driver_lts_amd64_sha512: 34b72f6163ebcca3186e22599ef4ac7b61ddee0cc51f78429fe731ae552a792e15e97b67fbbe709bb4f9dfd374e12cba7968bbcf4d7ae5da050125a1a1116a6e # NOTE: Use the version that's also available under fabricmanager at https://developer.download.nvidia.com/compute/nvidia-driver/redist/fabricmanager/linux-x86_64/ # renovate: datasource=github-releases extractVersion=^\d+\.(?\d+\.\d+)$ depName=nvidia/open-gpu-kernel-modules - nvidia_driver_production_version: 550.127.08 - nvidia_driver_production_arm64_sha256: 025ee91b6f75d7deb5cb98bc8327c6bae5fd925029d5f853e26720f10d5fcdcf - nvidia_driver_production_arm64_sha512: cf18ecd885d4520930a01605c8f23ae02eb76d4e660c72c1ab99f6bbaabbad263222c5c41863fcafcf293bd9f78a6dec319ae70921c0188b8b07960ddcd6b12f - nvidia_driver_production_amd64_sha256: 04551fbeda76645e664910f1168e1fb3c9ac379461296da0474d0231e703ad70 - nvidia_driver_production_amd64_sha512: 9715a8d9707bd999b6955048d626e48e807ecd2507b8e6437acd0bf1f0b8de59d41e649bb26a4a9024bbec4f35da6fac64d7652dda63b626d41a17fd4753f110 + nvidia_driver_production_version: 550.144.03 + nvidia_driver_production_arm64_sha256: 04a354b5c51e0c0c3f89148243ed19796f80dc100adf87b217a1a34d770c9bd2 + nvidia_driver_production_arm64_sha512: 1ce05ed2c7c3bc3b0a46b7c911cf15b55089cea3be7eb109d4c645a729d2a83bf4ce618478c4357707cf33970c31a7e30674ddd09ccac1913627eda0a9d4b7b5 + nvidia_driver_production_amd64_sha256: f822150666707ed3c383889e0e68d24e8ceb4033eebd19737f9b405069e89beb + nvidia_driver_production_amd64_sha512: 548afbaf726b69fc001de5c4964a6b57f06dc0aba29bf7e1b4345e0176c7c438b2fe972de83ee917ee187836fc005e76fe998c3dada34929bcdea0929a35fb26 # renovate: datasource=github-releases extractVersion=^openssl-(?.*)$ depName=openssl/openssl openssl_version: 3.4.0 diff --git a/nvidia-open-gpu-kernel-modules/lts/patches/fops.patch b/nvidia-open-gpu-kernel-modules/lts/patches/fops.patch deleted file mode 100644 index 2c2ec731..00000000 --- a/nvidia-open-gpu-kernel-modules/lts/patches/fops.patch +++ /dev/null @@ -1,94 +0,0 @@ -From b03fe816d7b2675afdb4c1d10fe7658a5f2b2f82 Mon Sep 17 00:00:00 2001 -From: Rahul Rameshbabu -Date: Tue, 12 Nov 2024 15:01:16 -0800 -Subject: [PATCH 6/6] nvidia-drm: Set FOP_UNSIGNED_OFFSET for - nv_drm_fops.fop_flags if present - -Linux kernel commit 641bb4394f40 ("fs: move FMODE_UNSIGNED_OFFSET to -fop_flags") introduced a new .fop_flags define, FOP_UNSIGNED_OFFSET, for -struct file_operations. A check in drm_open_helper was added to ensure DRM -device drivers mark that all file offsets passed for working with DRM fs -nodes are unsigned values. If a DRM device driver fails to set this static -member, opening DRM device nodes (/dev/dri/card*) will fail. This commit -will land in Linux kernel v6.12. - -To ensure DRM clients will continue to function with kernel v6.12 and -above, set FOP_UNSIGNED_OFFSET for nv_drm_fops.fop_flags if -FOP_UNSIGNED_OFFSET is present in the linux kernel headers being built -against. Without doing so, userspace DRM clients will fail to function. An -example is being unable to launch Wayland compositors. - -KWin logs without this change: - kwin_core: Failed to open /dev/dri/card1 device (Invalid argument) - kwin_wayland_drm: failed to open drm device at "/dev/dri/card1" - kwin_core: Failed to open /dev/dri/card0 device (Invalid argument) - kwin_wayland_drm: failed to open drm device at "/dev/dri/card0" - kwin_wayland_drm: No suitable DRM devices have been found - -Linux kernel warning generated without this change: - [Oct 2 02:15] ------------[ cut here ]------------ - [ +0.000009] WARNING: CPU: 2 PID: 464 at drivers/gpu/drm/drm_file.c:312 drm_open_helper+0x134/0x150 - - [ +0.000108] Unloaded tainted modules: nvidia(OE):1 nvidia_modeset(OE):1 nvidia_drm(OE):1 [last unloaded: ttm] - [ +0.000024] CPU: 2 UID: 0 PID: 464 Comm: systemd-logind Tainted: G OE 6.12.0-rc1-next-20241001-sound+ #10 c8090f98b0209abebde89ba1e4c08c75331eef4d - [ +0.000016] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE - [ +0.000004] Hardware name: System manufacturer PRIME Z390-A/PRIME Z390-A, BIOS 0224 08/14/2018 - [ +0.000005] RIP: 0010:drm_open_helper+0x134/0x150 - - [ +0.000005] Call Trace: - [ +0.000006] - [ +0.000004] ? drm_open_helper+0x134/0x150 - [ +0.000008] ? __warn.cold+0x93/0xf6 - [ +0.000011] ? drm_open_helper+0x134/0x150 - [ +0.000009] ? report_bug+0xff/0x140 - [ +0.000009] ? handle_bug+0x58/0x90 - [ +0.000010] ? exc_invalid_op+0x17/0x70 - [ +0.000010] ? asm_exc_invalid_op+0x1a/0x20 - [ +0.000018] ? drm_open_helper+0x134/0x150 - [ +0.000008] drm_open+0x73/0x110 - [ +0.000007] drm_stub_open+0x9b/0xd0 - [ +0.000009] chrdev_open+0xb0/0x230 - [ +0.000014] ? __pfx_chrdev_open+0x10/0x10 - [ +0.000011] do_dentry_open+0x14c/0x4a0 - [ +0.000013] vfs_open+0x2e/0xe0 - [ +0.000009] path_openat+0x82f/0x13f0 - [ +0.000016] do_filp_open+0xc4/0x170 - [ +0.000020] do_sys_openat2+0xae/0xe0 - [ +0.000010] __x64_sys_openat+0x55/0xa0 - [ +0.000009] do_syscall_64+0x82/0x190 - [ +0.000008] ? do_readlinkat+0xc5/0x180 - [ +0.000008] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000010] ? do_syscall_64+0x8e/0x190 - [ +0.000007] ? do_sys_openat2+0x9c/0xe0 - [ +0.000009] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000008] ? do_syscall_64+0x8e/0x190 - [ +0.000007] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000007] ? do_syscall_64+0x8e/0x190 - [ +0.000006] ? do_syscall_64+0x8e/0x190 - [ +0.000007] entry_SYSCALL_64_after_hwframe+0x76/0x7e - [ +0.000012] RIP: 0033:0x7f90c1cec2e3 - - [ +0.000004] ---[ end trace 0000000000000000 ]--- - -Signed-off-by: Rahul Rameshbabu ---- - kernel-open/nvidia-drm/nvidia-drm-drv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c -index 8cb94219..16f0d13e 100644 ---- a/kernel-open/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c -@@ -1711,6 +1711,10 @@ static const struct file_operations nv_drm_fops = { - .read = drm_read, - - .llseek = noop_llseek, -+ -+#if defined(FOP_UNSIGNED_OFFSET) -+ .fop_flags = FOP_UNSIGNED_OFFSET, -+#endif - }; - - static const struct drm_ioctl_desc nv_drm_ioctls[] = { --- -2.47.0 diff --git a/nvidia-open-gpu-kernel-modules/lts/patches/psc.patch b/nvidia-open-gpu-kernel-modules/lts/patches/psc.patch deleted file mode 100644 index ecb7573f..00000000 --- a/nvidia-open-gpu-kernel-modules/lts/patches/psc.patch +++ /dev/null @@ -1,32 +0,0 @@ -diff --git a/kernel-open/nvidia-uvm/uvm_hmm.c b/kernel-open/nvidia-uvm/uvm_hmm.c -index 0d82314..86b0d15 100644 ---- a/kernel-open/nvidia-uvm/uvm_hmm.c -+++ b/kernel-open/nvidia-uvm/uvm_hmm.c -@@ -2554,16 +2554,17 @@ static NV_STATUS dmamap_src_sysmem_pages(uvm_va_block_t *va_block, - continue; - } - -- if (PageSwapCache(src_page)) { -- // TODO: Bug 4050579: Remove this when swap cached pages can be -- // migrated. -- if (service_context) { -- service_context->block_context.hmm.swap_cached = true; -- break; -- } -- -- goto clr_mask; -- } -+ // not needed for Linux 6.12+ -+ //if (PageSwapCache(src_page)) { -+ // // TODO: Bug 4050579: Remove this when swap cached pages can be -+ // // migrated. -+ // if (service_context) { -+ // service_context->block_context.hmm.swap_cached = true; -+ // break; -+ // } -+ -+ // goto clr_mask; -+ //} - - // If the page is already allocated, it is most likely a mirrored - // page. Check to be sure it matches what we have recorded. The diff --git a/nvidia-open-gpu-kernel-modules/lts/pkg.yaml b/nvidia-open-gpu-kernel-modules/lts/pkg.yaml index c07bae00..f43e2aa0 100644 --- a/nvidia-open-gpu-kernel-modules/lts/pkg.yaml +++ b/nvidia-open-gpu-kernel-modules/lts/pkg.yaml @@ -27,8 +27,6 @@ steps: # temporary patches, might be removed with the next release patch -p1 -Date: Tue, 12 Nov 2024 15:01:16 -0800 -Subject: [PATCH 6/6] nvidia-drm: Set FOP_UNSIGNED_OFFSET for - nv_drm_fops.fop_flags if present - -Linux kernel commit 641bb4394f40 ("fs: move FMODE_UNSIGNED_OFFSET to -fop_flags") introduced a new .fop_flags define, FOP_UNSIGNED_OFFSET, for -struct file_operations. A check in drm_open_helper was added to ensure DRM -device drivers mark that all file offsets passed for working with DRM fs -nodes are unsigned values. If a DRM device driver fails to set this static -member, opening DRM device nodes (/dev/dri/card*) will fail. This commit -will land in Linux kernel v6.12. - -To ensure DRM clients will continue to function with kernel v6.12 and -above, set FOP_UNSIGNED_OFFSET for nv_drm_fops.fop_flags if -FOP_UNSIGNED_OFFSET is present in the linux kernel headers being built -against. Without doing so, userspace DRM clients will fail to function. An -example is being unable to launch Wayland compositors. - -KWin logs without this change: - kwin_core: Failed to open /dev/dri/card1 device (Invalid argument) - kwin_wayland_drm: failed to open drm device at "/dev/dri/card1" - kwin_core: Failed to open /dev/dri/card0 device (Invalid argument) - kwin_wayland_drm: failed to open drm device at "/dev/dri/card0" - kwin_wayland_drm: No suitable DRM devices have been found - -Linux kernel warning generated without this change: - [Oct 2 02:15] ------------[ cut here ]------------ - [ +0.000009] WARNING: CPU: 2 PID: 464 at drivers/gpu/drm/drm_file.c:312 drm_open_helper+0x134/0x150 - - [ +0.000108] Unloaded tainted modules: nvidia(OE):1 nvidia_modeset(OE):1 nvidia_drm(OE):1 [last unloaded: ttm] - [ +0.000024] CPU: 2 UID: 0 PID: 464 Comm: systemd-logind Tainted: G OE 6.12.0-rc1-next-20241001-sound+ #10 c8090f98b0209abebde89ba1e4c08c75331eef4d - [ +0.000016] Tainted: [O]=OOT_MODULE, [E]=UNSIGNED_MODULE - [ +0.000004] Hardware name: System manufacturer PRIME Z390-A/PRIME Z390-A, BIOS 0224 08/14/2018 - [ +0.000005] RIP: 0010:drm_open_helper+0x134/0x150 - - [ +0.000005] Call Trace: - [ +0.000006] - [ +0.000004] ? drm_open_helper+0x134/0x150 - [ +0.000008] ? __warn.cold+0x93/0xf6 - [ +0.000011] ? drm_open_helper+0x134/0x150 - [ +0.000009] ? report_bug+0xff/0x140 - [ +0.000009] ? handle_bug+0x58/0x90 - [ +0.000010] ? exc_invalid_op+0x17/0x70 - [ +0.000010] ? asm_exc_invalid_op+0x1a/0x20 - [ +0.000018] ? drm_open_helper+0x134/0x150 - [ +0.000008] drm_open+0x73/0x110 - [ +0.000007] drm_stub_open+0x9b/0xd0 - [ +0.000009] chrdev_open+0xb0/0x230 - [ +0.000014] ? __pfx_chrdev_open+0x10/0x10 - [ +0.000011] do_dentry_open+0x14c/0x4a0 - [ +0.000013] vfs_open+0x2e/0xe0 - [ +0.000009] path_openat+0x82f/0x13f0 - [ +0.000016] do_filp_open+0xc4/0x170 - [ +0.000020] do_sys_openat2+0xae/0xe0 - [ +0.000010] __x64_sys_openat+0x55/0xa0 - [ +0.000009] do_syscall_64+0x82/0x190 - [ +0.000008] ? do_readlinkat+0xc5/0x180 - [ +0.000008] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000010] ? do_syscall_64+0x8e/0x190 - [ +0.000007] ? do_sys_openat2+0x9c/0xe0 - [ +0.000009] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000008] ? do_syscall_64+0x8e/0x190 - [ +0.000007] ? syscall_exit_to_user_mode+0x37/0x1c0 - [ +0.000007] ? do_syscall_64+0x8e/0x190 - [ +0.000006] ? do_syscall_64+0x8e/0x190 - [ +0.000007] entry_SYSCALL_64_after_hwframe+0x76/0x7e - [ +0.000012] RIP: 0033:0x7f90c1cec2e3 - - [ +0.000004] ---[ end trace 0000000000000000 ]--- - -Signed-off-by: Rahul Rameshbabu ---- - kernel-open/nvidia-drm/nvidia-drm-drv.c | 4 ++++ - 1 file changed, 4 insertions(+) - -diff --git a/kernel-open/nvidia-drm/nvidia-drm-drv.c b/kernel-open/nvidia-drm/nvidia-drm-drv.c -index 8cb94219..16f0d13e 100644 ---- a/kernel-open/nvidia-drm/nvidia-drm-drv.c -+++ b/kernel-open/nvidia-drm/nvidia-drm-drv.c -@@ -1711,6 +1711,10 @@ static const struct file_operations nv_drm_fops = { - .read = drm_read, - - .llseek = noop_llseek, -+ -+#if defined(FOP_UNSIGNED_OFFSET) -+ .fop_flags = FOP_UNSIGNED_OFFSET, -+#endif - }; - - static const struct drm_ioctl_desc nv_drm_ioctls[] = { --- -2.47.0 diff --git a/nvidia-open-gpu-kernel-modules/production/patches/psc.patch b/nvidia-open-gpu-kernel-modules/production/patches/psc.patch deleted file mode 100644 index 150e5ec0..00000000 --- a/nvidia-open-gpu-kernel-modules/production/patches/psc.patch +++ /dev/null @@ -1,25 +0,0 @@ -diff --git a/kernel-open/nvidia-uvm/uvm_hmm.c b/kernel-open/nvidia-uvm/uvm_hmm.c -index 93e64424..899a6977 100644 ---- a/kernel-open/nvidia-uvm/uvm_hmm.c -+++ b/kernel-open/nvidia-uvm/uvm_hmm.c -@@ -2694,12 +2694,14 @@ static NV_STATUS dmamap_src_sysmem_pages(uvm_va_block_t *va_block, - continue; - } - -- if (PageSwapCache(src_page)) { -- // TODO: Bug 4050579: Remove this when swap cached pages can be -- // migrated. -- status = NV_WARN_MISMATCHED_TARGET; -- break; -- } -+ // Drop this for 6.12 Kernel -+ // function has been removed -+// if (PageSwapCache(src_page)) { -+// // TODO: Bug 4050579: Remove this when swap cached pages can be -+// // migrated. -+// status = NV_WARN_MISMATCHED_TARGET; -+// break; -+// } - - // If the page is already allocated, it is most likely a mirrored - // page. Check to be sure it matches wh diff --git a/nvidia-open-gpu-kernel-modules/production/pkg.yaml b/nvidia-open-gpu-kernel-modules/production/pkg.yaml index 1b4239b3..984561d9 100644 --- a/nvidia-open-gpu-kernel-modules/production/pkg.yaml +++ b/nvidia-open-gpu-kernel-modules/production/pkg.yaml @@ -26,8 +26,6 @@ steps: cd kernel-open patch -p1