Saturday, May 1, 2010

Lucid Lynx and NVIDIA video cards.

Recently i've upgraded to the latest stable release of Kubuntu - 10.04 LTS or simply Lucid Lynx. The upgrade was made from Karmic. When all were done, i've rebooted to my new system and from this place the story begins :)
As everyone knows, when loading the new linux kernel (this time it was 2.6.32-21-generic), NVIDIA driver should be installed (compiled using new headers files). Using Karmic, i've never encountered any problems with NVIDIA proprietary drivers, downloaded from their website. But not this time. When i tried to load new system with the latest driver from NVIDIA (195.36.24), my monitor turned off, and keyboard was unresponsive. Even in safe mode, only reset helped! Fortunately, i have another kernel (2.6.31-21-generic), so i tried to load system using it, and after that i've installed nvidia-current package. Then i rebooted to 2.6.32-21-generic, kdm started, and i thought that everything will be fine this time.
After logging in to KDE the dialog opened saying "Could not start ksmserver. Check installation." Then i googled (using links2 :)). I've seen the problem, when typed "ksmserver" in terminal. Modules from nvidia-current package and from NVIDIA-Linux-x86-195.36.24-pkg1.run were conflicting. So i've typed:
./NVIDIA-Linux-x86-195.36.24-pkg1.run --uninstall
And finally logged in to KDE.
  • lsmod | grep nvidia showed that nvidia module was loaded.
  • glxinfo showed complete info (direct rendering: Yes).
  • nvidia-settings showed that the driver version is 195.36.15.
But composite and effects were not available.
I decided to install native NVIDIA 195.36.24 anyway. And i've done it!
When i installed 195.36.24 again and rebooted, monitor turned off, as usual, and i pressed reset.
Then i loaded to another linux kernel, and watched on /var/log/kern.log. Here is what i've seen:

May 1 17:17:12 home kernel: [ 14.737115] [drm] nouveau 0000:01:00.0: allocated 1280x1024 fb: 0x49000, bo f4ace400
May 1 17:17:12 home kernel: [ 14.737204] fb1: nouveaufb frame buffer device
May 1 17:17:12 home kernel: [ 14.7
37206] registered panic notifier
May 1 17:17:12 home kernel: [ 14.737210] [drm] Initialized nouveau 0.0.15 20090420 for 0000:01:00.0 on minor 0
May 1 17:17:12 home kernel: [ 15.011029] nvidia: module license 'NVIDIA' taints kernel.
May 1 17:17:12 home kernel: [ 15.011032] Disabling lock debugging due to kernel taint
May 1 17:17:12 home kernel: [ 15.913678] NVRM: The NVIDIA probe routine was not called for 1 device(s).
May 1 17:17:12 home kernel: [ 15.913681] NVRM: This can occur when a driver such as rivafb, nvidiafb or
May 1 17:17:12 home kernel: [ 15.913682] NVRM: rivatv was loaded and obtained ownership of the NVIDIA
May 1 17:17:12 home kernel: [ 15.913683] NVRM: device(s).
May 1 17:17:12 home kernel: [ 15.913685] NVRM: Try unloading the rivafb, nvidiafb or rivatv kernel module
May 1 17:17:12 home kernel: [ 15.913686] NVRM: (and/or reconfigure your kernel without rivafb/nvidiafb
May 1 17:17:12 home kernel: [ 15.913687] NVRM: support), then try loading the NVIDIA kernel module again.
May 1 17:17:12 home kernel: [ 15.913689] NVRM: No NVIDIA graphics adapter probed!


nouveau obtained ownership of the NVIDIA device.
Moving nouveau and nouveaufb to /etc/modprobe.d/blacklist.conf solved the problem:
#Disable nouveau to load native NVIDIA driver
blacklist nouveau
blacklist nouveaufb


I rebooted and looked to kern.log:

May 1 18:02:11 home kernel: [ 8.839098] nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
May 1 18:02:11 home kernel: [ 8.839106] nvidia 0000:01:00.0: setting latency timer to 64
May 1 18:02:11 home kernel: [ 8.839111] vgaarb: device changed decodes: PCI:0000:01:00.0,olddecodes=io+mem,decodes=none:owns=io+mem
May 1 18:02:11 home kernel: [ 8
.839261] NVRM: loading NVIDIA UNIX x86 Kernel Module 195.36.24 Thu Apr 22 09:18:20 PDT 2010

NVIDIA was loaded, i'm happy :) Visual effects are now available.
Here is the screen of nvidia-settings (clickable):












One more thing: i installed the NVIDIA driver with --no-distro-scripts option, without it, installation failed.
Good luck!

P.S.
Ubuntu 10.04 LTS includes improved integration for nVidia binary driver packages. Unfortunately, this comes at the expense of compatibility with the installer provided upstream on the nVidia website. Users who wish to use the nVidia binary video drivers with 10.04 LTS should install them using the Ubuntu packages, as made available under System -> Administration -> Hardware Drivers.
http://www.ubuntu.com/getubuntu/releasenotes/1004
LOL.

11 comments:

  1. Thanks for sharing your results, Andrew, that was extremely helpful for me and probably many others.

    ReplyDelete
  2. My system messes for around 15-20sec after logging in(it takes a lot of time for the panels on the surface to appear). how to fix this

    ReplyDelete
  3. It's hard to say what's wrong. See the logs maybe...

    ReplyDelete
  4. logs says system is searching for /etc/gdm/custom.conf which does not exists.When i run gdmsetup as root i get

    ankit@ankit-desktop:~$ sudo gdmsetup
    [sudo] password for ankit:

    ** (gdmsetup:4172): WARNING **: Error calling GetValue('daemon/TimedLoginEnable'): Key not found

    ** (gdmsetup:4172): WARNING **: Error calling GetValue('daemon/TimedLoginDelay'): Key not found
    ** (gdmsetup:4172): DEBUG: init delay=30
    ** (gdmsetup:4172): DEBUG: "/usr/share/xsessions/une-efl-guest-restricted.desktop" is hidden or contains non-executable TryExec program

    ** (gdmsetup:4172): DEBUG: "/usr/share/xsessions/guest-restricted.desktop" is hidden or contains non-executable TryExec program

    ** (gdmsetup:4172): DEBUG: "/usr/share/xsessions/une-guest-restricted.desktop" is hidden or contains non-executable TryExec program


    ** (gdmsetup:4172): WARNING **: Error calling GetValue('daemon/DefaultSession'): Key not found
    ** (gdmsetup:4172): DEBUG: Init default session found:'(null)'
    ** (gdmsetup:4172): DEBUG: Failed to identify the current session: Unable to lookup session information for process '4172'

    ** (gdmsetup:4172): WARNING **: Unable to find users: no seat-id found
    ** (gdmsetup:4172): DEBUG: GdmUserManager: explicitly skipping user: nobody
    ** (gdmsetup:4172): DEBUG: GdmUserManager: user icon changed
    ** (gdmsetup:4172): DEBUG: adding monitor for '/home/ankit/.face'
    ** (gdmsetup:4172): DEBUG: Getting list of sessions for user 1000
    ** (gdmsetup:4172): DEBUG: Found 1 sessions for user ankit
    ** (gdmsetup:4172): DEBUG: GdmUserManager: not adding session on other seat: /org/freedesktop/ConsoleKit/Session2



    i reinstalled gdm but has no progress

    ReplyDelete
  5. Hey i got it solved,since i had floppy drive enabled in bios(and i didn't had that)so by disabling it solves that issue.

    ReplyDelete
  6. Wow, cool :-)
    Frankly, a lot of work is still to be done by guys from Canonical to improve the upgrade mechanism.

    ReplyDelete
  7. Hi Andrew, I am running similar problem on my Sony Vaio cw series as yours. My graphics is G310M GPU and I am running Kubuntu 10.04 Lucid Lynx 64 Bit on my machine. After a lot of research (using custom EDID file found in ubuntu forum, Edited xorg.conf) I was able to install the latest driver from nvidia support(It failed on first two occasions bcoz I didnt have kernel source and binutils package updated). But still there is no display. Did you or anybody else experience something like that? and also could it be directly related to "nouveau" messing up with the current display setting?

    ReplyDelete
  8. by the way, the driver I installed was NVIDIA-Linux-x86_64-195.36.31-pkg2.run

    ReplyDelete
  9. No display - it means X doesn't even start? If so, try loading in safe mode and look on /var/log/Xorg.0.log and /var/log/kern.log. Here is my xorg.conf, maybe it will help u :)

    ReplyDelete
  10. Thanks ... will give it a shot after work and let you know. Thanks again.

    ReplyDelete