Almost time for linux-7.0
It looks like we should plan on seeing the linux-7.0 kernel released April 12, barring any extension of time. (the Arch package may be a week or so later) So far there is nothing new on Joan's patch page, and looking at the changes, other than more DRM changes, nothing sticks out as definitely causing issues for the driver. (hard to tell if a name change or change to a define will cause issues until it arrives). Drop a comment in you come across information that identifies any needed changes for the upcoming kernel.
Update - Found Joan's 470 Patch
I did find Joan's nvidia-470xx-fix-linux-7.0.patch, which thankfully doesn't look too bad. We'll see if this is an area of code where the 390 and 470 drivers are the same, or one of those odd areas where they look nothing alike. But so for, the 7.0 kernel has not entered the testing repo for Arch, so we should have at least another week.
470/390 Difference to Reconcile
The nv-linux.h and nvidia-dma-fence-helper.h changes map nicely into the 390 driver. However, all of the screen_info changes don't. Close, but enough different that it may take a couple of us to figure it out. The big difference is the 470 driver code is in nv.c and it involves a NV_CHECK_EXPORT_SYMBOL(screen_info) macro not present in the 390 code. Additionally, the 390 driver places the screen_info code in os-interface.c instead of nv.c.
There are minor C differences in whether checks of > or <= apply in the if (screen_info.orig_video_isVGA <= 1) block, but that's just a rearranging and negating of the test. The confusing part is the macro checks are code-inclusion checks which leaves the new #if (LINUX_VERSION_CODE >= KERNEL_VERSION(6, 20, 0)) || \ inclusion without a terminating #endif. I think the route we will have to take is to just create two blocks in os-interface.c, one to handle the existing kernels and one to handle linux 7.0. This is where I could use help/ideas from others involved. How best to incorporate the change from using the screen_info struct to using the si pointer to it? Ideas?
Pinned Comments
vnctdj commented on 2025-01-24 07:37 (UTC)
Use this forum thread for discussion: https://bbs.archlinux.org/viewtopic.php?pid=1946926
jonathon commented on 2022-05-26 09:46 (UTC)
Please don't flag this package out-of-date unless a new version has been released by NVIDIA.
jonathon commented on 2021-12-26 22:44 (UTC) (edited on 2021-12-26 22:44 (UTC) by jonathon)
The DKMS package guidelines are explicit that
linux-headersshould not be a dependency of any DKMS package.As a concrete example of why including that as a hard dependency is a bad idea, what happens when
linuxis not an installed kernel?