[SOLVED] Linux 3.8 incompatibility

Please, update 310.xx and 304.xx drivers as well.

/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h: At top level:
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:151:2: error: #error “struct file_operations compile test likely failed!”
In file included from /tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv.c:13:0:
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:306:2: error: #error “NV_PCI_DMA_MAPPING_ERROR() undefined!”
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:311:4: warning: “NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT” is not defined [-Wundef]
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:313:8: warning: “NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT” is not defined [-Wundef]
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:319:2: error: #error “NV_ACPI_WALK_NAMESPACE_ARGUMENT_COUNT value unrecognized!”
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:325:4: warning: “NV_ACPI_OS_WAIT_EVENTS_COMPLETE_ARGUMENT_COUNT” is not defined [-Wundef]
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:328:8: warning: “NV_ACPI_OS_WAIT_EVENTS_COMPLETE_ARGUMENT_COUNT” is not defined [-Wundef]
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:834:2: error: #error “NV_KMEM_CACHE_CREATE() undefined (kmem_cache_create() unavailable)!”
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:893:2: error: #error “NV_VMAP() undefined (vmap() unavailable)!”
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:965:2: error: #error “NV_SMP_CALL_FUNCTION() undefined (smp_call_function() unavailable)!”
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:985:2: error: #error “NV_ON_EACH_CPU() undefined (on_each_cpu() unavailable)!”
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h: In function ‘nv_execute_on_all_cpus’:
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:1003:5: error: implicit declaration of function ‘NV_ON_EACH_CPU’ [-Werror=implicit-function-decl
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h: At top level:
/tmp/selfgz1980/NVIDIA-Linux-x86-313.18/kernel/nv-linux.h:1262:13: error: conflicting types for ‘pm_message_t’
In file included from /usr/src/kernels/linux-3.8/arch/x86/include/asm/apic.h:5:0,

nvidia-installer.log.gz.bmp (2.94 KB)

towo:Defiant> inxi -SG
System:    Host: Defiant Kernel: 3.8-rc6.towo.1-experimental-amd64 x86_64 (64 bit) 
           Desktop: Xfce 4.10.0 Distro: siduction 12.2.0 Riders on the Storm - xfce - (201212092126)
Graphics:  Card: NVIDIA Device 11c6 X.Org: 1.13.2 driver: nvidia Resolution: 1920x1080@60.0hz 
           GLX Renderer: GeForce GTX 650 Ti/PCIe/SSE2 GLX Version: 4.3.0 NVIDIA 313.18

Builds fine here, but i use debian packages.

I’m glad for Debian, but I use vanilla kernel only.

I hope NVIDIA will fix this problem sooner rather than later.

it’s possible to work around conftest.sh not liking 3.8, but rather convoluted:

  • Build the driver for 3.7 for example, abort the compile and save the generated conftest.h file somewhere
  • make clean
  • edit Makefile.kbuild, Makefile.nvidia and remove the conftest.h references from the “clean” targets
  • edit conftest.sh and remove all instances of “rm -f conftest.h”
  • ln -s Makefile.kbuild Makefile
  • copy the saved conftest.h back
  • make -f Makefile SYSSRC=/usr/src/linux.git SYSOUT=/usr/src/kbuild-linux.git
  • run depmod for your installed git sources

mlau, wow, that’s crazy (still perfectly doable) but I will wait for fixed drivers.

I agree so I googled a better solution.

http://cvs.rpmfusion.org/viewvc/rpms/nvidia-kmod/F-18/conftest.patch?revision=1.1&root=nonfree&view=markup

Up, up and up.

Aaron, seriously, what’s going on?

You used to release updated drivers during the release candidate time frame, and now NVIDIA drivers aren’t even compatible with 3.7.x stable kernels.

You can fetch the patches to fix this problem here.

I’m quite disappointed we have to resort to 3d party hacks to enable compatibility. NVIDIA used to be vigilant in this regard (I guess they are busy with the Tegra 4).

driver installer fix will be available in next release driver …

Stable kernel 3.8.1 is out now and we’re up to stable kernel 3.7.10 in the 3.7 tree. I agree it’s bad there still isn’t an official fix for these compatibility issues. End-users, in my opinion, shouldn’t have to rely on hacks & patches for compatibility over that many kernel versions or kernel trees.

You say the installer fix will be available in the next release driver, but what is that supposed to be released? I see people posting about these compatibility issues everywhere but have yet to see any ETA on an official fix. It reminds me of people asking when humans will land on the mars and the answer they’re given is “sometime in the future”.

“sometime in the future”

NVIDIA doesn’t comment on future releases. ;-)

When compatibility has fallen several stable kernel releases behind, I don’t think it’s unreasonable to expect an ETA for an official fix. Leaving your users hanging out in the wind is not exactly good PR.

You’ve forgotten that 98% of Linux users use the kernel which is supplied by their distro, and most distros are way behind official releases.

I don’t know any popular enough Linux distro which uses Linux kernel 3.8.

First popular distro suffering from that problem will probably be Opensuse 12.3 ( to be released in 11 days with kernel 3.7)

I absolutely disagree with your claim. A lot of people do use their distros stock kernel, but a whole hell of a lot of users don’t. They update or compile their own. This is blatantly obvious when you frequent many of the big Linux forums and mailing lists.

If this wasn’t a problem, posts about it wouldn’t be so readily available upon searching.

I also usually run self-built kernels, but currently I was quite happy having Fedora 18 default builds, still…

Fedora’s updates from today bump the kernel to use 3.8.1, so as of now all Fedora users are without a driver.

While I fully agree it’s far from ideal that community patches are required, this talk of distros “suffering” or “being without a driver” is quite silly. Arch provides working nvidia packages for the latest kernels. And if Arch, a niche distro made by volunteers can do it, then the bigger distros like OpenSuse and Fedora should be able to as well.

Gentoo is having problems as well, with ALL their kernels. They have decided to allow users to throw in patches via their portage scheme but not to do any more without nVidia getting a fixed driver set out.

https://bugs.gentoo.org/show_bug.cgi?id=447566

Receiving word that 313.26 fixes the incompatiblity issues and compiles on 3.7 and above. I’m checking that now.

Gotta chime in as a Lubuntu 12.10 user and Linux 3d game developer with a 3.5.0-26 generic kernel.

That’s selective observation. Just because a minority of loud people make a lot of noise in some forums, and those forums are picked up by search engines, doesn’t mean they represent a huge customer base of people with problems in the real world. To some extent kernel compilers and tweakers create their own misery, and they are not necessarily to be pitied.

What I’d like to see from NVIDIA, selfishly enough, is a good ecology of driver support for 3d game customers on common Linux systems. I’m chasing some 50 Hz vs. 60 Hz frontend vs. backend issue and going up a learning curve about it.