[Bug 864701] New: nvidia driver sets NO_KMS_IN_INITRD="yes" but doesn't set it back on uninstallation
https://bugzilla.novell.com/show_bug.cgi?id=864701 https://bugzilla.novell.com/show_bug.cgi?id=864701#c0 Summary: nvidia driver sets NO_KMS_IN_INITRD="yes" but doesn't set it back on uninstallation Classification: openSUSE Product: openSUSE 13.1 Version: Final Platform: All OS/Version: openSUSE 13.1 Status: NEW Severity: Normal Priority: P5 - None Component: X11 3rd Party Driver AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: wbauer@tmo.at QAContact: sndirsch@suse.com Found By: --- Blocker: --- User-Agent: Mozilla/5.0 (X11; Linux) KHTML/4.12.2 (like Gecko) Konqueror/4.12 SUSE The nvidia driver RPM (x11-video-nvidiaG03) from the official repo has this in %post: # recreate initrd without KMS, if the use of KMS is enabled in initrd if grep -q NO_KMS_IN_INITRD=\"no\" /etc/sysconfig/kernel; then sed -i 's/NO_KMS_IN_INITRD.*/NO_KMS_IN_INITRD="yes"/g' /etc/sysconfig/kernel mkinitrd fi But this change isn't reverted when the driver is uninstalled. This prevents the use of nouveau after you uninstall the driver. Reproducible: Always Steps to Reproduce: 1. Install the nvidia driver from the official nvidia repo 2. Uninstall it again Actual Results: NO_KMS_IN_INITRD="yes" is still set in /etc/sysconfig/kernel, therefore nouveau doesn't work and fbdev is used instead. Expected Results: nouveau should work fine after uninstallation of the nvidia driver This is at least true for the G03 driver, haven't checked the other versions yet. Please see here for reference: http://forums.opensuse.org/showthread.php/495638-reinstalling-nouveau-driver... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c1
Stefan Dirsch
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c
Stefan Dirsch
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c2
Wolfgang Bauer
NO_KMS_IN_INITRD just means that the KMS nouveau driver isn't loaded already in initrd, i.e. from the beginning. It's still loaded on demand when X is being started. I'm not aware of any differences in behaviour for the Xsession when it's loadied in initrd or later. I thought so as well until yesterday.
But while this may be true in theory, I absolutely can reproduce an issue here (13.1, G03 driver, GTX 550 Ti card). In my case, nouveau is indeed used after uninstalling the nvidia driver, but it doesn't fully work obviously: KDE just hangs at the splash screen when logging in. Setting NO_KMS_IN_INITRD="no" and running mkinitrd fixes this. (disabling plymouth by adding "plymouth.enable=0" to the kernel boot options makes it work as well, even with NO_KMS_IN_INITRD="yes") So I really think the nvidia driver should set this back on uninstallation.
Trying to revert it would possible mean changing it to a different value the user has set manually. That's the reason it is not reverted during %postun. Well, but this argument could be turned to the opposite as well. If it was set to "no" before installing the driver (maybe even the user set it explicitely), it should be set back to this, especially if the system doesn't boot otherwise.
Maybe the rpm could remember whether it changed the setting in %post and only set it back in that case? There are only 2 possible settings anyway, "yes" or "no". OTOH, I'm not sure if NO_KMS_IN_INITRD="yes" is actually needed. It works fine here when I set it to "no" and recreate the initrd (with the nvidia driver installed), and the resulting initrd contains only the nvidia kernel module (no nouveau) and the blacklist /etc/modprobe.d/nvidia-desktop.conf. Shouldn't that be sufficient? But then I don't know really, so please forgive me if this is nonsense and there is a valid reason to set it to "yes". Please feel free to close this again if you disagree. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c3
Stefan Dirsch
Maybe the rpm could remember whether it changed the setting in %post and only set it back in that case? There are only 2 possible settings anyway, "yes" or "no".
Yes, makes sense.
OTOH, I'm not sure if NO_KMS_IN_INITRD="yes" is actually needed. It works fine here when I set it to "no" and recreate the initrd (with the nvidia driver installed), and the resulting initrd contains only the nvidia kernel module (no nouveau) and the blacklist /etc/modprobe.d/nvidia-desktop.conf. Shouldn't that be sufficient?
Hmm. Even better and easier, but I would like to verify this first. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c4
--- Comment #4 from Stefan Dirsch
OTOH, I'm not sure if NO_KMS_IN_INITRD="yes" is actually needed. It works fine here when I set it to "no" and recreate the initrd (with the nvidia driver installed), and the resulting initrd contains only the nvidia kernel module (no nouveau) and the blacklist /etc/modprobe.d/nvidia-desktop.conf. Shouldn't that be sufficient?
Hmm. Even better and easier, but I would like to verify this first.
Indeed this appears to work fine. At least on openSUSE 13.1. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c5
Stefan Dirsch
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c7
Stefan Dirsch
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c8
Stefan Dirsch
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c9
--- Comment #9 from Wolfgang Bauer
Ok. I've reverted this change now. Will be in place with next driver update (> 340.32). Closing as WONTFIX therefore.
Given the current circumstances, I do agree with that. Still I would like to see the change in NO_KMS_IN_INITRD being reverted when the driver package is uninstalled, which was the original purpose of this bug report. But as it should be fixed in Factory/13.2 anyway (as dracut ignores NO_KMS_IN_INITRD), it is not worth the effort, I suppose. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=864701
https://bugzilla.novell.com/show_bug.cgi?id=864701#c10
--- Comment #10 from Stefan Dirsch
But as it should be fixed in Factory/13.2 anyway (as dracut ignores NO_KMS_IN_INITRD), it is not worth the effort, I suppose.
I fully agree. ;-) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com