Nvidia driver not compiling on latest Fedora Rawhide kernel

I appreciate that Rawhide is not a supported version of Fedora. But something has changed in the kernel source or compiler, and the Nvidia drive does not compile, so this will presumably still be broken for the next stable release, Fedora 27.

Compile logs:
https://pastebin.com/ShNff1eL

Both patches are required as nvidia don’t even support 4.10 yet

https://leigh123linux.fedorapeople.org/pub/patches/nvidia/

@leigh123linux
Since debian does not provide 378.13, can you make a 4.11-patch for 375.39 too?
375.39 in debian has tha patch for 4.10, but not for 4.11 and since that module changing is not really legal, debian will never get such 4.11 patch.

Same problem on Fedora 25 since kernel-4.10.5-200.fc25.x86_64 if the nvidia installer tries to install the DKMS kernel module. Of course the same again yesterday with kernel-4.10.6-200.fc25.x86_64.

-> Installing DKMS kernel module:
ERROR: Failed to run /usr/sbin/dkms build -m nvidia -v 378.13 -k 4.10.6-200.fc25.x86_64:
Kernel preparation unnecessary for this kernel. Skipping…

Building module:
cleaning build area…
‘make’ -j3 NV_EXCLUDE_BUILD_MODULES=’’ KERNEL_UNAME=4.10.6-200.fc25.x86_64 modules…(bad exit status: 2)
Error! Bad return status for module build on kernel: 4.10.6-200.fc25.x86_64 (x86_64)
Consult /var/lib/dkms/nvidia/378.13/build/make.log for more information.
-> error.
ERROR: Failed to install the kernel module through DKMS. No kernel module was installed; please try installing again without DKMS, or check the DKMS logs for more information.

/var/lib/dkms/nvidia/378.13/build/make.log:


/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c: In Funktion »nvidia_cpu_callback«:
/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c:213:14: Fehler: »CPU_DOWN_FAILED« nicht deklariert (erste Benutzung in dieser Funktion)
case CPU_DOWN_FAILED:
^~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c:213:14: Anmerkung: jeder nicht deklarierte Bezeichner wird nur einmal für jede Funktion, in der er vorkommt, gemeldet
/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c:220:14: Fehler: »CPU_DOWN_PREPARE« nicht deklariert (erste Benutzung in dieser Funktion)
case CPU_DOWN_PREPARE:
^~~~~~~~~~~~~~~~
In file included from /var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c:15:0:
/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c: In Funktion »nv_init_pat_support«:
/var/lib/dkms/nvidia/378.13/build/common/inc/nv-linux.h:391:34: Fehler: Implizite Deklaration der Funktion »register_cpu_notifier« [-Werror=implicit-function-declaration]
#define register_hotcpu_notifier register_cpu_notifier
^
/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c:258:17: Anmerkung: bei Substitution des Makros »register_hotcpu_notifier«
if (register_hotcpu_notifier(&nv_hotcpu_nfb) != 0)
^~~~~~~~~~~~~~~~~~~~~~~~
/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c: In Funktion »nv_teardown_pat_support«:
/var/lib/dkms/nvidia/378.13/build/common/inc/nv-linux.h:388:36: Fehler: Implizite Deklaration der Funktion »unregister_cpu_notifier« [-Werror=implicit-function-declaration]
#define unregister_hotcpu_notifier unregister_cpu_notifier
^
/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.c:283:9: Anmerkung: bei Substitution des Makros »unregister_hotcpu_notifier«
unregister_hotcpu_notifier(&nv_hotcpu_nfb);
^~~~~~~~~~~~~~~~~~~~~~~~~~
cc1: Einige Warnungen werden als Fehler behandelt
/usr/src/kernels/4.10.6-200.fc25.x86_64/scripts/Makefile.build:294: die Regel für Ziel „/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.o“ scheiterte
make[3]: *** [/var/lib/dkms/nvidia/378.13/build/nvidia/nv-pat.o] Fehler 1
make[3]: *** Es wird auf noch nicht beendete Prozesse gewartet…
/usr/src/kernels/4.10.6-200.fc25.x86_64/Makefile:1494: die Regel für Ziel „module/var/lib/dkms/nvidia/378.13/build“ scheiterte
make[2]: *** [module/var/lib/dkms/nvidia/378.13/build] Fehler 2
make[2]: Verzeichnis „/usr/src/kernels/4.10.6-200.fc25.x86_64“ wird verlassen
Makefile:150: die Regel für Ziel „sub-make“ scheiterte
make[1]: *** [sub-make] Fehler 2
make[1]: Verzeichnis „/usr/src/kernels/4.10.6-200.fc25.x86_64“ wird verlassen
Makefile:81: die Regel für Ziel „modules“ scheiterte
make: *** [modules] Fehler 2

@PeterErdelyi

What’s the purpose of your messages? The patches to fix the incompatibility are already provided in this thread.

I’m sorry, but the patch does not work. I just want to make it clear that we need more than the patch. I can not make kernel updates. The last two kernel I can not use. I am using kernel-4.9.14-200.fc25.x86_64. Kernel-4.10.6-200.fc25.x86_64 is also installed. But I must stand on kernel-4.9.14-200.fc25.x86_64 as I DKMS affirm.

@PeterErdelyi The patches work fine here for rawhide with 378.13 (the 4.10 patch works for kernel-4.10)

System:    Host: localhost.localdomain Kernel: 4.11.0-0.rc4.git0.1.fc26.x86_64 x86_64 (64 bit gcc: 7.0.1)
           Desktop: Cinnamon 3.2.8 (Gtk 3.22.11) dm: lightdm,sddm,sddm
           Distro: Fedora release 26 (Twenty Six)
Machine:   Device: desktop Mobo: Gigabyte model: GA-990XA-UD3
           BIOS: Award v: F14e date: 09/09/2014
CPU:       Octa core AMD FX-8350 Eight-Core (-MCP-) cache: 16384 KB
           flags: (lm nx sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm) bmips: 72478
           clock speeds: min/max: 1400/4500 MHz 1: 1400 MHz 2: 2800 MHz
           3: 1400 MHz 4: 1400 MHz 5: 1400 MHz 6: 1400 MHz 7: 1400 MHz
           8: 2100 MHz
Graphics:  Card: NVIDIA GK106 [GeForce GTX 660]
           bus-ID: 01:00.0 chip-ID: 10de:11c0
           Display Server: Fedora X.org 119.3 drivers: nvidia (unloaded: modesetting,fbdev,vesa,nouveau)
           Resolution: 3840x2160@60.00hz
           GLX Renderer: GeForce GTX 660/PCIe/SSE2
           GLX Version: 4.5.0 NVIDIA 378.13 Direct Rendering: Yes
Audio:     Card-1 NVIDIA GK106 HDMI Audio Controller
           driver: snd_hda_intel bus-ID: 01:00.1 chip-ID: 10de:0e0b
           Card-2 Advanced Micro Devices [AMD/ATI] SBx00 Azalia (Intel HDA)
           driver: snd_hda_intel bus-ID: 00:14.2 chip-ID: 1002:4383
           Sound: ALSA v: k4.11.0-0.rc4.git0.1.fc26.x86_64
Network:   Card-1: Intel Wireless 7260
           driver: iwlwifi bus-ID: 02:00.0 chip-ID: 8086:08b1
           IF: wlp2s0 state: up mac: <filter>
           Card-2: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
           driver: r8169 v: 2.3LK-NAPI port: be00
           bus-ID: 04:00.0 chip-ID: 10ec:8168
           IF: enp4s0 state: down mac: <filter>
Drives:    HDD Total Size: 3628.7GB (19.9% used)
           ID-1: /dev/sda model: SAMSUNG_SSD_830 size: 128.0GB
           serial: S0Z3NSAC932231
           ID-2: /dev/sdb model: WDC_WD30EZRX size: 3000.6GB
           serial: WD-WCC4E4EE62LZ
           ID-3: /dev/sdc model: Samsung_SSD_850 size: 500.1GB
           serial: S2RBNXAH306902T
Partition: ID-1: / size: 20G used: 16G (83%) fs: ext4 dev: /dev/sda2
           ID-2: /home size: 77G used: 11G (14%) fs: f2fs dev: /dev/sdc3
           ID-3: swap-1 size: 18.52GB used: 0.00GB (0%) fs: swap dev: /dev/sdb4
RAID:      System: supported: N/A
           No RAID devices: /proc/mdstat, md_mod kernel module present
           Unused Devices: none
Sensors:   System Temperatures: cpu: 26.0C mobo: 11.8C gpu: 0.0:45C
           Fan Speeds (in rpm): cpu: 1040 fan-1: 822 fan-3: 0 fan-5: 0
Repos:     Active yum sources in file: /etc/yum.repos.d/adobe-linux-x86_64.repo
           adobe-linux-x86_64 ~ http://linuxdownload.adobe.com/linux/x86_64/
Info:      Processes: 269 Uptime: 2 days Memory: 3955.5/16092.4MB
           Init: systemd v: 233 runlevel: 5 default: graphical.target
           Gcc sys: 7.0.1
           Client: Shell (upload-system-i running in bash) inxi: 2.3.8

The previous compile error you posted proves you didn’t apply the patch!

O.K. apologies, I’ve understood it so, Nvidia driver 378.13 includes the patch. I did not know I had to make a patch too. Now it is done, the system is running. Sorry for the trouble.

I kinda don’t recognize NVIDIA any longer. They are now late by almost two kernel releases in providing compatible drivers. I don’t remember if we ever had a situation like this.

@Aaron, what’s up?