Another big surprise rolled out from the Debian Unstable repository when today I updated my kernel from 2.6.25-1 to 2.6.25-2 – the maintainers have enabled Xen in the non-Xen kernel (linux-image-2.6.25-2-686). The result from this is that Nvidia drivers don’t compile throwing error about Xen enabled kernel.

The solution (if you don’t want to recompile your own kernel) :

As usual backup before executing any of these :)

  1. cd /lib/modules/2.6.25-2-686 (or wherever are your modules)
  2. grep CONFIG_XEN . -Rl | xargs -i sed -i -e ‘s/CONFIG_XEN/CONFIG_LUPO/g’ {}
  3. export IGNORE_XEN_PRESENCE=1
  4. sh NVIDIA-Linux-x86-173.08-pkg1.run (or you can use patched 169.12 – http://www.nvnews.net/vbulletin/showthread.php?t=110088 )

Source: linux-image-2.6.25-2-686: nVidia driver fails to compile due to active Xen support

Comments

Comment by David Martínez on 2008-05-25 22:19:01 +0300

Worked for me with AMD-K7, 686 kernel and Beta driver. Many thanks !!

Comment by Jul on 2008-05-27 14:28:26 +0300

Thank you, Peter You are my frickin’ hero :) Although it’s really a dirty hack at least it does what it should do :)

Oh shall I say worked on Debian Sid with 2.6.25-2-686

Comment by Ariel on 2008-05-28 02:41:25 +0300

You don’t need to do this anymore, as of update 169.12-2 released May 12, 2008.

Comment by Peter on 2008-05-28 23:09:11 +0300

Not installable at this time. Also I prefer latest beta

Comment by Gary on 2008-05-29 01:37:12 +0300

Worked for me using linux-image-2.6.25-2-686-bigmem on a core duo. Card is a 9600GT and I used NVIDIA-Linux-x86-173.08-pkg1.run

Thanks for the info.

Comment by sgfxi on 2008-06-03 04:32:45 +0300

I implemented this in our debian sid/testing nvidia/fglrx installer script, sgfxi, for the lazy among you.

Must be run from /usr/local/bin
cd /usr/local/bin;wget -Nc http://techpatterns.com/sgfxi; chmod +x sgfxi

sgfxi installs all current nvidia drivers, patches them, detects your card version to install correct driver version, or lets you override it to install some other driver, applies patches if needed, see: sgfxi -h for currently supported drivers.

It also updates itself automatically every time you run it after you install it.

sgfxi home page: http://techpatterns.com/forums/about933.html

To install latest current, just do: sgfxi -c

Currently the patch is in testing mode, that’s what the -T is for, normally it would all be automatic.

This is the graphics installer for sidux/smxi

Comment by sgfxi on 2008-06-03 04:33:23 +0300

oh, and it undoes the patch right after the nvidia driver install is done, so your /lib/modules stuff is set back to normal after the nvidia driver is installed.

Comment by sgfxi on 2008-06-03 04:34:56 +0300

ah, sorry, needs: sgfxi -T -c
to install current latest driver, with composite.

The -T will probably be not required in a few days after I do some more testing on this.

Comment by Cun Zhang on 2008-06-03 11:54:18 +0300

Thank you for your article!
I have install nvidia driver.
I use Nvidia Geforce MX 4000, install NVIDIA-Linux-x86-96.43.05-pkg1.run, patch a diff file from nvnews.com
and set IGNORE_XEN_PRESENCE=1. Then it is installed successful.

Comment by sgfxi on 2008-06-06 20:41:26 +0300

Everything is debugged now and working fine, no further need for -T option in sgfxi for this issue, just start it with regular arguments now. Thanks for this fix, the method was nicely done, I hadn’t seen that use of grep -Rl before, very useful.

sgfxi is currently now supporting all current kernels and drivers again, including ati stuff, which won’t be of interest to people in this thread.

Comment by Peter on 2008-06-06 21:17:30 +0300

@sgfxi

Thanks mate. Why don’t you start a thread on nvnews.net to popularize a bit.

I will comment there too.

Comment by promolic1 on 2008-06-14 10:29:04 +0300

Hi!!! Where can I find the diff file that you are talking Cun Zhang???
I have the same problem, and a MX 4000

Sorry if my English is bad

Comment by Peter on 2008-06-14 18:45:38 +0300

@promolic1
I presume it is the patch from this page http://www.nvnews.net/vbulletin/showthread.php?t=110088

@Cun Zhang nvnews.net mate :)

Comment by Miguelo on 2008-07-14 02:00:21 +0300

Thank you!!. Worked for me using debian lenny (testing), linux image 2.6.25-2-686, nvidia 8600GT with NVIDIA-Linux-x86-177.13-pkg1.run, pentium D CPU and intel d945 motherboard.

Comment by dan on 2008-07-14 13:52:08 +0300

thanks sgfxi,
script works great!

Comment by Kiyo on 2008-07-17 05:12:48 +0300

Ahh sweet accelerated graphics, How I briefly missed you. Thanks a lot:

Lenny 2.6.25-2-686, nvidia 8600GT, Dell Inspiron 1720

Comment by ultr on 2008-07-27 01:26:14 +0300

This patch for 173.14.05 works great for me: http://debian.linux.pl/viewtopic.php?p=62317#62317

It’s based on a similar idea to your solution, but does not require to rubbish your system.
You just have to generate a patched version of nVidia installer, and then run it as usual :)

All bug reports are very welcome – please replay in the above topic (in English or Polish).

Comment by Peter on 2008-07-27 20:04:57 +0300

Well “require to rubbish your system” are strong words after all
apt-get install –reinstall linux-headers-2.6.25-2-686 fixes reverts back
and since I have not reviewed your patch I’m sticking with this fix.

However I suggest posting this patch in nvnews.net and hope it will be merged.

Comment by warcry on 2008-09-11 16:25:25 +0300

This patch is working just fine
cool mate
u did it
:)

Comment by luovel on 2008-09-17 06:44:58 +0300

Bad luck! I still failed after I tried both methods including the diff patch http://www.nvnews.net/vbulletin/showthread.php?t=110088

And every time the installation failed messages are the same as before.
so, what should i do now? Degrade the kernenl to 2.6.24?

T2080, nVidia 8400M G, etch + 2.6.25-2.686, nv driver 169.12 and 173.14.12

Comment by Peter on 2008-09-17 11:24:08 +0300

I have just used this technique with kernel 2.6.26-1-686-bigmem and nvidia driver NVIDIA-Linux-x86-177.68-pkg1.run and did not have any problems.

Please try again and post more information about the error

Thanks