From 623ff4f8a068e739b394bd48cd9dc2ddb271d2f7 Mon Sep 17 00:00:00 2001 From: Thomas Duckworth Date: Sat, 24 Jan 2026 17:57:36 +1100 Subject: [PATCH] Add a initcpio hook to include nouveau and nvidia --- .../initcpio/install/nvidia-module-selection | 18 ++++++++++++++++++ mkosi.extra/usr/lib/rebuild-efi | 4 ++-- 2 files changed, 20 insertions(+), 2 deletions(-) create mode 100755 mkosi.extra/usr/lib/initcpio/install/nvidia-module-selection diff --git a/mkosi.extra/usr/lib/initcpio/install/nvidia-module-selection b/mkosi.extra/usr/lib/initcpio/install/nvidia-module-selection new file mode 100755 index 0000000..bd55b88 --- /dev/null +++ b/mkosi.extra/usr/lib/initcpio/install/nvidia-module-selection @@ -0,0 +1,18 @@ +#!/bin/bash +# SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL +# SPDX-FileCopyrightText: 2026 Thomas Duckworth + +# Necessary for letting udev control what GPUs get which drivers +# using driver_override, so nouveau or nvidia can be dynamically selected. +# Also gives us some certainty that these are included for kernel modesetting. + +build() { + add_module "nvidia" + add_module "nvidia-drm" + add_module "nvidia-modeset" + add_module "nvidia-uvm" + + add_module "nouveau" + + add_checked_modules "/drivers/gpu/drm" +} diff --git a/mkosi.extra/usr/lib/rebuild-efi b/mkosi.extra/usr/lib/rebuild-efi index 7336c4e..5df432b 100755 --- a/mkosi.extra/usr/lib/rebuild-efi +++ b/mkosi.extra/usr/lib/rebuild-efi @@ -27,9 +27,9 @@ fi # NOTE: plymouth MUST be after systemd as per the wiki! cat <<- EOF > mkinitcpio.conf MODULES=(overlay) -BINARIES=(nvidia nouveau) # Ensure both drivers are pulled into the initrd (see mkosi.postinst.chroot) +BINARIES=() FILES=(/usr/lib/udev/rules.d/05-nvidia-module-selection.rules) # Determine which driver is used at boot with udev -HOOKS=(base systemd modconf kms keyboard block sd-encrypt filesystems fsck systemd-extension plymouth microcode sd-shutdown) +HOOKS=(base systemd nvidia-module-selection modconf kms keyboard block sd-encrypt filesystems fsck systemd-extension plymouth microcode sd-shutdown) EOF echo "rw \