2.6.20-15-generic breaks X when using NVIDIA-glx drivers (manual install)

Bug #106434 reported by th
4
Affects Status Importance Assigned to Milestone
linux-restricted-modules-2.6.20 (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Binary package hint: nvidia-glx

As summary says...

I just installed newest updates with update-manager, and kernel & nvidia-glx also updated.

After upgrade to 2.6.20-15-generic (nvidia-glx was updated too) X fails to start with no screens found, and says failed to load NVIDIA kernel module. Nvidia-glx did update with update manager too though.

Booting back to 2.6.20-14-generic makes X work again.

Revision history for this message
Rajeev Nair (rajeev) wrote :

have u noticed there is a new nvidia in repos called nvidia-glx-new

install that version and u are back to normal

U probably used the restricted drivers manager to install nvidia which incidentally selects the older nvidia-glx thereby giving a kernel mismatch .

Revision history for this message
th (daimoni) wrote :

Thanks for the tip, but didn't fix the problem.

I Installed the package -new, it seemed to install nvidia driver version 9755 and for -15 kernel as it should, but I still get the same error with X (loading kernel driver failed..).

However, the older -glx package _did_ install for correct kernel version -15 too. Just to check that 9755 driver itself doesn't break with my model, I also tried installing Nvidia's vanilla 9755 driver and it did load correctly.

Wonder if someone else's X broke with last update? Or confirmation that it didn't? :)

For the record, my Nvidia card is Geforce 6600 PCI-X model/256mb ram.

Revision history for this message
th (daimoni) wrote :

More info on this:

Actually even vanilla Nvidia driver from nvidia installer does not load with -15. Manually running modprobe nvidia gives FATAL: could not run install command for module or such.

This kernel release is a disaster, please roll back to -14 or release fix

Revision history for this message
th (daimoni) wrote :

More info, building fails because:
   FATAL: modpost: GPL-incompatible module nvidia.ko uses GPL-only symbol 'para
   virt_ops'

So, paravirtualization is gpl-paranoid and breaks nvidia.

File:
linux-2.6.20/arch/i386/kernel/paravirt.c

Changing
EXPORT_SYMBOL_GPL(paravirt_ops);

To:
EXPORT_SYMBOL(paravirt_ops);

Makes Nvidia build again. Probably the reason why -15 kernel driver fails to install too.

Revision history for this message
Dustin Widmann (blackwaltz) wrote :

Hmm, I wonder if that is at all related to the problem I've been having with it. Fails to startx ... ends with this message

"Backtrace:
0: /usr/bin/X11/X(xf86SigHandler+0x6d) [0x48282d]
1: /lib/libc.so.6 [0x2ba611a3ed40]

Fatal server error:
Caught signal 11. Server aborting"

Difference being that I'm on amd64 ... Hmmm.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Dustin:
Please file a separate bug report. In that bug report include the following information:
lscpi | grep -i nv
dpkg -l nvidia\* | grep ii
Whether your card has a TV-Out socket.
The dmesg.txt file produced by doing
dmesg > dmesg.txt
The /var/log/Xorg.0.log created when this problem occurred.

Revision history for this message
th (daimoni) wrote :

Hm, I installed -15 versio of lowlatency kernel and Nvidia drivers work again (and modules load).

Could it be that my installation just has some conflicting files with -generic kernel, though I have uninstalled nvidia-glx with --purge?

Still, with -generic both vanilla and ubuntu's nvidia kernel driver fails to load, manual modprobe nvidia gives same install error.

-lowlatency kernel doesn't have paravirtualization enabled, wild guess why that one works?

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

daimoni:
Could you add the output of the following commands to this bug report:
lscpi | grep -i nv
dpkg -l nvidia\* | grep ii
ls -al /lib/linux-restricted-modules/

Could you upload the following files:
The dmesg.txt file produced by doing
dmesg > dmesg.txt
The /var/log/Xorg.0.log created when this problem occurred.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Setting to needsinfo pending reply from daimoni.

Changed in linux-restricted-modules-2.6.20:
status: Unconfirmed → Needs Info
Revision history for this message
th (daimoni) wrote :
Revision history for this message
th (daimoni) wrote :
Revision history for this message
th (daimoni) wrote :
Revision history for this message
th (daimoni) wrote :
Revision history for this message
th (daimoni) wrote :
Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

daimoni:
You added nearly everything but you missed the dmesg.txt file...
It might also be interesting to see the output of:
sh -x /sbin/lrm-video nvidia
too...

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

(there should have been a sudo in front of that sh)

Revision history for this message
th (daimoni) wrote :
Revision history for this message
th (daimoni) wrote :
Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

daimoni:
OK it looks like the kernel module for 9755 is correctly installed AND this matches the X driver version too...

The only hint that something might be wrong are those APIC errors in the logs. It might be an idea to press e at the grub menu when you boot and add noapic to the end of the kernel line and see if it makes any difference...

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Before doing that though could you add the output of
rmmod nvidia
modprobe nvidia_new
?

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Doh, I've only just realised that you said you manually installed the nvidia drivers at some point in the past:
"Actually even vanilla Nvidia driver from nvidia installer does not load with -15. Manually running modprobe nvidia gives FATAL: could not run install command for module or such." I wish I'd spotted this sooner because as soon as you go the manual route any problems that arise may be beyond Ubuntu's control and you are better off reporting issues to NVIDIA via http://www.nvnews.net/vbulletin/forumdisplay.php?f=14 .

The fact that the lowlatency kernel works but the regular kernel doesn't suggests the manual binary driver install has overwritten/created a kernel module that interferes with the default Ubuntu provided kernel module. If the X server works with the binary driver after doing:
rmmod nvidia
modprobe nvidia_new
Then that will confirm the problem and there might be a way to use the default Ubuntu modules again.

Revision history for this message
th (daimoni) wrote :

It seems that nvidia_new loads, thanks for that.

I guess i'll report that paravirtualization problem for Nvidia.
Little googling revealed that others have faced this too (ieg. Paravirtualization has GPL-symbol and Nvidia driver fails to build).

However, I think this should be noted somewhere since if someone tries to build Nvidia's vanilla drivers, they need to patch kernel, or at least
change the config parameter to N before it builds.

And I thought Linus was against this kind of GPL-patches :-)

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

daimoni:
Hmm. I am seeing not similar behaviour in another bug. Could you attach:
/etc/modprobe.d/lrm-video
please?

Re GPL patches:
It's not quite as clear cut as that. The GPL-only patches were introduced years ago to help discourage people from (accidentally or otherwise) abusing kernel interfaces which would then create derivative kernel modules. Linus isn't "anti-GPL" but nor does he want to ban modules that aren't derived from Linux (see http://thread.gmane.org/gmane.linux.kernel/475654/focus=475824 ). I suspect that in later updates the NVIDIA driver will stop using those interfaces (so this is something that NVIDIA will fix) because the nvidia drivers distributed by Ubuntu seemingly do not have this problem.

Since you are retrieving the drivers from NVIDIA, I think there's an strong argument saying that NVIDIA should have had a note about this - after all you downloaded the driver from them and there's nothing Ubuntu can do to stop you downloading any other arbitrary driver and then running into problems compiling it. You're free to do what you like with your system but doing certain things will change who and where you can get support/help from...

Revision history for this message
th (daimoni) wrote :

I'll attach it later today when I get back home.

I switched back to Ubuntu's Nvidia driver now. I do understand kernel developer's hate for non-gpl drivers and Ubuntu's hate for drivers that don't ship with it :)

Also could be worth noting that I tried installing Nvidia's driver _after_ the X broke (and because of that) with -15 kernel upgrade, I hadn't got it installed before that. Could be just that before that I had nvidia-glx installed instead of nvidia-glx-new. I couldnt replicate this with new installations, just this one time between herd5 and final Feisty so I guess this bug can be closed.

Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

Leaving in needsinfo until daimoni replies.

Revision history for this message
th (daimoni) wrote :

Okay here's the lrm-video file, sorry for delay

Changed in linux-restricted-modules-2.6.20:
status: Needs Info → Unconfirmed
Revision history for this message
Sitsofe Wheeler (sitsofe) wrote :

daimoni:
What is the output of:
sudo strace modprobe --ignore-install nvidia
?

Changed in linux-restricted-modules-2.6.20:
status: Unconfirmed → Needs Info
Revision history for this message
Launchpad Janitor (janitor) wrote :

[Expired for linux-restricted-modules-2.6.20 (Ubuntu) because there has been no activity for 60 days.]

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.