Bug#958446: nvidia-legacy-340xx-driver: Fails to build with kernel 5.6

Andreas Beckmann anbe at debian.org
Fri Apr 24 20:08:57 BST 2020


On 22/04/2020 10.32, jim_p wrote:
> Here is the patch, again from aur
> https://aur.archlinux.org/cgit/aur.git/plain/05-unfuck-for-
> kernel-5.6.x.patch?h=nvidia-340xx

Now that we have 5.6 in experimental, I could test it ...

> Unlike last time with 5.5, it seems that it patches a number of files and I do
> not know how to do it myself, so I can't test it.

something like

cd /usr/src/something
patch -p1 < the.patch


That patch breaks on 4.19 (buster's kernel):

In file included from /usr/src/modules/nvidia-legacy-340xx-kernel/uvm/nvidia_uvm_lite.c:33:
/usr/src/modules/nvidia-legacy-340xx-kernel/uvm/../nv-time.h: In function 'nv_gettimeofday':
/usr/src/modules/nvidia-legacy-340xx-kernel/uvm/../nv-time.h:38:21: error: passing argument 1 of 'do_gettimeofday' from incompatible pointer type [-Werror=incompatible-pointer-types]
     do_gettimeofday(tv);
                     ^~
In file included from /usr/src/linux-headers-4.19.0-8-common/include/linux/ktime.h:276,
                 from /usr/src/linux-headers-4.19.0-8-common/include/linux/timer.h:6,
                 from /usr/src/linux-headers-4.19.0-8-common/include/linux/workqueue.h:9,
                 from /usr/src/linux-headers-4.19.0-8-common/include/linux/rhashtable-types.h:15,
                 from /usr/src/linux-headers-4.19.0-8-common/include/linux/ipc.h:7,
                 from /usr/src/linux-headers-4.19.0-8-common/include/uapi/linux/sem.h:5,
                 from /usr/src/linux-headers-4.19.0-8-common/include/linux/sem.h:5,
                 from /usr/src/linux-headers-4.19.0-8-common/include/linux/sched.h:15,
                 from /usr/src/linux-headers-4.19.0-8-common/include/linux/utsname.h:6,
                 from /usr/src/modules/nvidia-legacy-340xx-kernel/uvm/nvidia_uvm_linux.h:62,
                 from /usr/src/modules/nvidia-legacy-340xx-kernel/uvm/nvidia_uvm_common.h:49,
                 from /usr/src/modules/nvidia-legacy-340xx-kernel/uvm/nvidia_uvm_lite.c:26:
/usr/src/linux-headers-4.19.0-8-common/include/linux/timekeeping32.h:9:52: note: expected 'struct timeval *' but argument is of type 'struct __kernel_old_timeval *'
 static inline void do_gettimeofday(struct timeval *tv)
                                    ~~~~~~~~~~~~~~~~^~

It's probably something trivial (I suspect the conftest.sh timeval test),
but I'm too lazy to dig into this for an EoL driver :-P

(I'm not going to apply any patches to the nvidia driver packages
that break backwards compatibility with any old kernel.)


Andreas



More information about the pkg-nvidia-devel mailing list