reinstalling nouveau driver...

Hello,

I have a recurring problem with my nvidia graphic card (GT 215 also said geforce GT320). I tyried to make the nvidia driver to work, but failed.

So my problem now is to have again my system working with nouveau…

openSUSE 13.1

right now, it starts only in failsafe mode and give me a pretty surprising display that looks as full HD (1920x1080) on a 23" monitor, but only with the 19" size (black part around the image):


# xrandr 
xrandr: Failed to get size of gamma for output default
Screen 0: minimum 1920 x 1080, current 1920 x 1080, maximum 1920 x 1080
default connected primary 1920x1080+0+0 0mm x 0mm
   1920x1080      77.0* 

by the way what I did from the perfectly working start (but without color management, so why I tried nvidia driver):

  • set the nvidia repo
  • go to yast/software, I was immediately asked to install the nvidia stuff, accepted
  • tried nvidia, couldn’t make it work and decided to stop for now
  • go to the nvidia repo in yast, removed all what was there
  • accept and restart

I tryed sax3 with a worst result (same screen but image split in two). Now I have no xorg.conf file and removed the 99-saxconfig files.

what I think could be very valuable is a doc : “how to go from nvidia to nouveau”

thanks
jdd

Well, if you uninstalled the nvidia driver (and have no xorg.conf or 99-saxconfig files or any other driver configuration in /etc/X11/xorg.conf.d/) nouveau should be used automatically.
Please check that you have nouveau installed (“xf86-video-nouveau”).
If you have a “nomodeset” boot option, please remove it. (YaST->Boot Loader->Boot Loader Options)

And maybe there’s a nouveau blacklist left over:

grep nouveau /etc/modprobe.d/*

If all of that doesn’t help, post /var/log/Xorg.0.log (from a normal boot) please.
If the system doesn’t boot in normal mode, please reboot to recovery mode after a failed boot, and then post /var/log/Xorg.0.log.old.

OTOH, the nvidia driver (either G02 or G03 should work with your card. Maybe the wrong packages got installed? (can happen under certain circumstances)
I would suggest to select the necessary packages manually in YaST. You would need those:
nvidia-gfxG03-kmp-desktop (if you’re using kernel-desktop, the corresponding one otherwise), x11-video-nvidiaG03, nvidia-glG03, nvidia-computeG03

I found this

https://wiki.archlinux.org/index.php/nouveau

but this did not any good for me

I reinstalled xorg-X11-driver-video-nouveau, mesa, xf86-video-nouveau, even kernel-default with kvm, but no result

well. Curious.

continuing my tests, I reinstalled xorg-x11-server and xorg-x11-driver-video.

then the normal boot booted in grfical mode… but with the same shrinked display.

but now the nouveau driver is not loaded due to kms error (not enabled!) - when I know kms is installed and so the start is fbdev, nouveau is no more loaded. I will restart in failsafe mode to control that.

thanks

Where did you install that from?
That package doesn’t exist in openSUSE 13.1. (I made a mistake there, sorry)

Could you post the Xorg log please?

And maybe also your repo list:

zypper lr -d

Also post the list of installed kernels now:

rpm -qa | grep kernel

Maybe installed a *-base variant by mistake, that doesn’t include the nouveau (and many other) kernel modules.

but now the nouveau driver is not loaded due to kms error (not enabled!) - when I know kms is installed and so the start is fbdev, nouveau is no more loaded. I will restart in failsafe mode to control that.

I don’t understand that fully.
If you disable KMS (with “nomodeset” f.e.) nouveau cannot be loaded since it needs KMS.
And failsafe mode doesn’t use nouveau either.

  • I followed some data from the archlinux page where the names may be slightly different. In openSUSE xf86 is for the nv driver, and xorg is for the nouveau driver. The two of them are installed. all this from opensuse (yast said)

Could you post the Xorg log please?

And maybe also your repo list:

zypper lr -d

Also post the list of installed kernels now:

rpm -qa | grep kernel

Maybe installed a *-base variant by mistake, that doesn’t include the nouveau (and many other) kernel modules.

I don’t understand that fully.
If you disable KMS (with “nomodeset” f.e.) nouveau cannot be loaded since it needs KMS.
And failsafe mode doesn’t use nouveau either.

tgz for logs (very longs!
http://dodin.info/owncloud/public.php?service=files&t=fb3cb292c8922ea06edcce2befddb72c

question could be simply: how to reset his grafic system on install values?

by the way kmp have problems, I can’t make VirtualBox work on this install - there was a thread on the opensuse mailing list saying there where a bug that could be solved and solution was to be deployed, but nothing come.

When I last tried that transition, KDE worked (with desktop effects disabled). And Gnome failed.

It turns out that when you install the Nvidia driver the hard way (which is how I did it), the Nvidia installer replaces a number of libraries with Nvidia versions. So you probably need to get back the original versions of those libraries, presumably by reinstalling the packages for them.

The Nvidia driver that I use is 304.117. So I would search my disk for files with 304.117 as part of their name, and see what has a symlink to those. Then I would look for the package that provided the originals, and reinstall.

Actually, I had reason to do that recently. So I took the easy way. I just reinstalled opensuse from scratch, keeping the separate “/home” partition.

The log shows that fbdev is used, probably because of the following errors:

    27.349] (EE) [drm] failed to open device
    27.417] (EE) [drm] failed to open device
    27.417] (EE) open /dev/dri/card0: Invalid argument

So please check if there is any nouveau blacklist left over:

grep nouveau /etc/modprobe.d/*

And check in /etc/sysconfig/kernel that this is set:

NO_KMS_IN_INITRD="no"

Also the log tells that you booted to kernel 3.13.2. That’s why the KMPs don’t work (including the nvidia ones).
KMP packages only work for the kernel they are compiled against, i.e. normally the standard kernel included in openSUSE.
Btw, the current latest stable kernel is 3.13.3.

So try to boot to kernel 3.11 and at least VirtualBox should work again. Maybe also nouveau? (although that is included in the kernel package)

Your libglx (mentioned by nrickert) is ok though, according to the logs you are using the standard one.

I found a problem with this the other day, I now use the Nvidia 331.38 driver from the repo. I wasnt sure I really needed it so I ran some tests uninstalling it and found the uninstallation isn’t complete. The installer sets /etc/sysconfig/system/kernel/NO_KMS_IN_INITRD to “yes”, but uninstalling doesn’t set it back to “no”.

You’re right apparently. (I had a quick look at the spec file on OBS)
This should be reported as bug on http://bugzilla.novell.com I would say.

I believe you are more competent to do that, I pass.

OK, I will do that later.

@jdd: You’ll have to re-create the initrd after making that change, by running:

sudo /sbin/mkinitrd

https://bugzilla.novell.com/show_bug.cgi?id=864701

ok. doing so then running as root “mkinitrd” fixed the problem.

there is still a curiosity: nvidia uses kmp, at least there are kmp kernel packages, so why disabling this? I let this for an other day :slight_smile:

thanks all, openSUSE community is great!

jdd

You mixed something up. KMS != KMP.
KMS = Kernel Mode Setting (i.e. changing the screen resolution inside the kernel instead of user space as it was done before)
KMP = Kernel Module Package (i.e. a RPM package that contains a pre-compiled kernel module)

The nvidia driver has a KMP (in this case it is not even pre-compiled, it’s compiled when you install it, but the script magic doesn’t work for other kernel versions than the standard one, i.e. 3.11.xx for openSUSE 13.1), but it doesn’t support the kernel’s KMS (although it does something similar itself in the kernel module)
Disabling KMS is needed to prevent the loading of the nouveau kernel module (it requires KMS), which would claim the graphics card and prevent the nvidia kernel module to be loaded (and in effect the nvidia driver to work)

yep :-(((

I sometime regret the years where we had to install linux by hand (the old times of S.u.S.E :-)) but didn’t have to manage such magics. openSUSE should be availalble with a magic wand (may be we should add one in the gadget list :-))

thanks for the clarification!
jdd

PS, I want to add this in case it isn’t clear already:
Installing the nvidia driver RPMs from the official repo only works if you use the standard openSUSE kernel, i.e. 3.11.xx for openSUSE 13.1.

If you want to use kernel 3.13 (or any other version) you have to install the driver using “the hard way”, i.e. by downloading and running the .run file from the nvidia homepage. Then it should work, but you’d have to reinstall it after any kernel, Mesa, or xorg-x11-server update.
https://en.opensuse.org/SDB:NVIDIA_the_hard_way

I don’t know if this applies to the hard way, but at least using the repo I discovered that by omitting the package nvidia-glG03 the nvidia driver will run using Gallium for OpenGL, very useful on Optimus systems with a mux that can switch to both Intel only and Nvidia only mode and all you want is to occasionally use the HDMI port sometimes.

No, that’s a feature of the RPMs.
The GL part has been split out to a different package so you don’t have to install it if you don’t want to.

From the driver RPM’s changelog:

Thu Dec  5 14:11:34 UTC 2013 - sndirsch@suse.com

- introduced nvidia-glG03 subpackage
  * One of the problems our users face is installing the driver
    on an iGPU+dGPU system (ex. a system that would be labeled
    Optimus capable).  Specifically, users lose access to the
    mesa GL libraries when the Nvidia driver is installed, causing
    issues if they want to run X on their iGPU. Giving users the
    ability to opt-out of the GL components of the Nvidia driver
    would allow them to continue to drive the visual components
    of their system on the iGPU, and still run CUDA on their dGPU.
    (Andy Dick <adick@nvidia.com>)

If you install it “the hard way”, you would have to take care of that yourself.

There’s a script somewhere here in the forums that does it for you.
I would have to search for that, but IIRC you know what I’m talking about anyway… :wink: