feat: NVIDIA PRIME, audio fix, timezone, dmesg error cleanup
- Add nvidia/nvidia-dkms/nvidia-libs-32bit/nvidia-vaapi-driver to niri live and installed profiles; wireless-regdb and sof-firmware to all profiles (fixes regulatory.db and SOF firmware dmesg errors) - iso/postsetup-nvidia.sh: new mklive -x hook that re-runs dracut inside the rootfs chroot after the overlay is applied; ensures the squashfs initramfs includes nvidia.ko and omits nouveau.ko at build time — no driver install needed at runtime (fixes /run tmpfs overflow that was killing wireplumber by corrupting D-Bus sockets) - Both ISO inner build scripts gain -x postsetup-nvidia.sh and the nonfree repo flag so nvidia packages resolve correctly - niri config: wireplumber started via supervisor loop (waits for PipeWire socket, auto-restarts on crash) replacing the one-shot exec — survives any D-Bus or pipewire disruption - build-niri-live-iso.sh: NVIDIA modprobe blacklist-nouveau.conf, btusb-quirks.conf, modules-load.d/nvidia.conf, dracut/10-nvidia.conf, Xorg intel/nvidia configs, prime-run helper, elogind run script loop guard, timezone Europe/Zurich overlay, updated BOOT_CMDLINE - build-live-iso.sh: same NVIDIA + timezone + sound udev rule overlays; live-setup.sh timezone and audio group fix - installer/lib/grub.sh: GRUB_CMDLINE_LINUX_DEFAULT gains nvidia-drm.modeset=1 rd.driver.blacklist=nouveau btusb.enable_autosuspend=0 - installer/lib/postinstall.sh: configure_nvidia_prime() adds blacklist-nouveau.conf, btusb-quirks.conf, dracut omit_drivers nouveau, modules-load.d with all four nvidia modules
This commit is contained in:
@@ -18,7 +18,7 @@ install_grub() {
|
||||
GRUB_DEFAULT=0
|
||||
GRUB_TIMEOUT=5
|
||||
GRUB_DISTRIBUTOR="Void"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4 nvidia-drm.modeset=1"
|
||||
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=4 nvidia-drm.modeset=1 rd.driver.blacklist=nouveau modprobe.blacklist=nouveau btusb.enable_autosuspend=0"
|
||||
GRUB_CMDLINE_LINUX=""
|
||||
GRUB_DISABLE_OS_PROBER=false
|
||||
GRUB_TERMINAL_OUTPUT="gfxterm"
|
||||
|
||||
@@ -160,7 +160,19 @@ Section "OutputClass"
|
||||
EndSection
|
||||
EOF
|
||||
|
||||
# 2) Modules to load early for KMS.
|
||||
# 2) Blacklist nouveau so it doesn't grab the GPU before nvidia loads.
|
||||
install -d -m 0755 "$TARGET/etc/modprobe.d"
|
||||
cat > "$TARGET/etc/modprobe.d/blacklist-nouveau.conf" <<'EOF'
|
||||
blacklist nouveau
|
||||
options nouveau modeset=0
|
||||
EOF
|
||||
|
||||
# btusb USB autosuspend causes firmware download failures on Intel BT.
|
||||
cat > "$TARGET/etc/modprobe.d/btusb-quirks.conf" <<'EOF'
|
||||
options btusb enable_autosuspend=0
|
||||
EOF
|
||||
|
||||
# 3) Modules to load early for KMS.
|
||||
install -d -m 0755 "$TARGET/etc/modules-load.d"
|
||||
cat > "$TARGET/etc/modules-load.d/nvidia.conf" <<'EOF'
|
||||
nvidia
|
||||
@@ -169,7 +181,7 @@ nvidia_uvm
|
||||
nvidia_drm
|
||||
EOF
|
||||
|
||||
# 3) Wrapper script + desktop file: run any app on NVIDIA via `prime-run`.
|
||||
# 4) Wrapper script + desktop file: run any app on NVIDIA via `prime-run`.
|
||||
install -d -m 0755 "$TARGET/usr/local/bin"
|
||||
cat > "$TARGET/usr/local/bin/prime-run" <<'EOF'
|
||||
#!/bin/sh
|
||||
@@ -181,10 +193,11 @@ exec env __NV_PRIME_RENDER_OFFLOAD=1 \
|
||||
EOF
|
||||
chmod 0755 "$TARGET/usr/local/bin/prime-run"
|
||||
|
||||
# 4) Make sure dracut picks up nvidia modules.
|
||||
# 5) dracut: include nvidia modules in initramfs; explicitly omit nouveau.
|
||||
install -d -m 0755 "$TARGET/etc/dracut.conf.d"
|
||||
cat > "$TARGET/etc/dracut.conf.d/10-nvidia.conf" <<'EOF'
|
||||
add_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm "
|
||||
omit_drivers+=" nouveau "
|
||||
EOF
|
||||
|
||||
ok "NVIDIA PRIME offload configured (use 'prime-run <app>')"
|
||||
|
||||
Reference in New Issue
Block a user