Bug 1227702 - Tumbleweed repo rpm nvidia packages script unable to regenerate systemd-boot initramfs in order to blacklist nouveau
Summary: Tumbleweed repo rpm nvidia packages script unable to regenerate systemd-boot ...
Status: RESOLVED DUPLICATE of bug 1224773
Alias: None
Product: openSUSE Tumbleweed
Classification: openSUSE
Component: X11 3rd Party Driver (show other bugs)
Version: Current
Hardware: x86-64 openSUSE Tumbleweed
: P5 - None : Major (vote)
Target Milestone: ---
Assignee: Gfx Bugs
QA Contact: Stefan Dirsch
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-07-12 09:22 UTC by ArminC
Modified: 2024-07-12 12:56 UTC (History)
3 users (show)

See Also:
Found By: ---
Services Priority:
Business Priority:
Blocker: ---
Marketing QA Status: ---
IT Deployment: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description ArminC 2024-07-12 09:22:52 UTC
By trying to install on a environment with systemd-boot the nvidia drivers through repo-non-free, even if it generates kernel loader blacklists as such:

grep -i 'blacklist nouveau' /etc/modprobe.d/*
/etc/modprobe.d/blacklist-nouveau.conf:blacklist nouveau
grep -i 'blacklist nouveau' /lib/modprobe.d/*
grep -i 'blacklist nouveau' /usr/lib/modprobe.d/*

it is unable to deactivate nouveau. The only hacky solution was through kernel parameters such as rd.driver.blacklist. After some debugging, it was clear that GRUB2 was in fact working just right, requiring just a simple restart after installation and the culprit was in fact systemd-boot.

Basically, systemd-boot isn't using directly dracut -f for initramfs regeneration, but sdbootutil mkinitrd. So after installation, I had to use sdbootutil mkinitrd manually in order to actually blacklist nouveau.

The package scripts should be able to distinguish between a GRUB2 and systemd-boot to use the required regeneration tools. Same applies to nvidia own run script tool. SDB:NVIDIA drivers wiki should indicate this case too.

Ref. https://forums.opensuse.org/t/unable-to-blacklist-nouveau-even-with-blacklist-nouveau-conf/176785/31
Comment 1 Andrei Borzenkov 2024-07-12 11:36:04 UTC
KMP relies on /usr/lib/module-init-tools/kernel-scriptlets and calls kmp-post/kmp-posttrans. With suse-module-tools-scriptlets these scripts regenerate initrd. With  sdbootutil-rpm-scriptlets those scripts are linked to /usr/bin/true.
Comment 2 Alberto Planas Dominguez 2024-07-12 12:04:53 UTC
The merge to suse-module-tools-scriptlets is in its way to Factory. There are some openQA issues related with transactional-update that are being addressed
Comment 3 Stefan Dirsch 2024-07-12 12:56:33 UTC
Thanks, guys. I think we can close this as duplicate. @Albert If you think this is wrong feel free to reopen.

*** This bug has been marked as a duplicate of bug 1224773 ***