I upgraded the kernel on my OpenSUSE 12.1 64bit from 3.1.9 to 3.2.9, and when I rebooted, X-windows refused to start, and I got into shell. I tried to run it manually with startx, but still no good.

I managed to make X-windows work by removing the NVidia driver(I had the latest version). When I tried to reinstall it, the installer complained that the drivers are compiled with GCC 4.5 and therefore are not compatible with the kernel, which is compiled with GCC 4.6. I think it's safe to assume that's the reason it didn't work in the first place...

Installing the NVidia driver from the bumblebee repository(originally I installed it from the NVIDIA-Linux-x86_64-295.20.run installer from NVidia's site) didn't work either(this time I just got a black screen, and had to use failsafe mode to remove that driver).

Now, I know the NVidia driver for Linux is not open source, so I'm not going to be able to compile it myself, but is there another way to make it work with the latest kernel, or do I have to wait for NVidia to release a new version for GCC 4.6 compiled kernels?


I've mailed to NVidia, and their tech support noticed that I understood the error message wrong. The NVidia driver was compiled with GCC 4.6 - it was the Linux kernel that was compiled with GCC 4.5.

So, the solution is clear - I need to compile my own kernel...

  • Did you try 'nouveau'?
    – vakufo
    Mar 13, 2012 at 7:55
  • @vakufo That's like asking a MS Windows user if they tried Internet Explorer. I'm running my OpenSUSE with nouveau right now, but I find it to be slower and buggier than the vendor's drivers.
    – Idan Arye
    Mar 13, 2012 at 18:31

1 Answer 1


There is a solution which will surely do the job, but it might be painful. Compile and install the kernel you need with GCC 4.5, and then install the NVidia driver.

It would be hard because compiling an own kernel is almost never easy, even if configfile is reachable. Possibly your system contains components which need that the kernel is compiled with GCC 4.6 - those components will not been able to work properly, or work at all.

The safe choice here is reporting the issue to NVidia, and wait with the old kernel.

I asked a question emerged from this problem here.

UPDATE: The answer is arrived for the abovementioned question, its important part is this:

You can patch the version string in the binary. This will trick the kernel into loading the module but at the risk of causing data corruption to internal data structures.

  • I see... well, I don't want to hack the binaries and wreck havoc, but I've mailed NVidia about this problem.
    – Idan Arye
    Mar 13, 2012 at 18:29
  • Recompiling the distribution's kernel, using the distribution's configuration, and a different gcc version, is usually painless. Recompiling a different version of the kernel with the distribution's configuration is often painless. Mar 13, 2012 at 21:16

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .