Fix broken desktop after gaming profile: skip risky dracut regen.
Carveout-only changes no longer run dracut --regenerate-all (known to leave wallpaper with no Plasma shell on Nobara). Add z13-recover-desktop for emergency reset from TTY. Co-authored-by: Cursor <[email protected]>
This commit is contained in:
+24
-7
@@ -191,20 +191,33 @@ clear_ttm_config() {
|
||||
}
|
||||
|
||||
regenerate_initramfs() {
|
||||
# Only needed when /etc/modprobe.d/ttm.conf changes. Carveout (UMA) is firmware
|
||||
# staged via sysfs and must NOT trigger a full initramfs rebuild — that has caused
|
||||
# broken sessions on Nobara (wallpaper only, no plasmashell).
|
||||
if [[ "${REGEN_INITRAMFS:-0}" != "1" ]]; then
|
||||
log "Skipping initramfs regen (not required for this change)."
|
||||
return
|
||||
fi
|
||||
|
||||
local running_kernel
|
||||
running_kernel="$(uname -r)"
|
||||
|
||||
if command -v dracut >/dev/null 2>&1; then
|
||||
log "Regenerating initramfs (dracut)..."
|
||||
dracut --force --regenerate-all 2>/dev/null || dracut --force
|
||||
log "Regenerating initramfs for ${running_kernel} only..."
|
||||
dracut --force -k "${running_kernel}" || {
|
||||
log "WARN: dracut failed; try: sudo dracut --force -k ${running_kernel}"
|
||||
}
|
||||
return
|
||||
fi
|
||||
if command -v update-initramfs >/dev/null 2>&1; then
|
||||
update-initramfs -u -k all
|
||||
update-initramfs -u -k "${running_kernel}"
|
||||
return
|
||||
fi
|
||||
if command -v mkinitcpio >/dev/null 2>&1; then
|
||||
mkinitcpio -P
|
||||
return
|
||||
fi
|
||||
log "No initramfs tool found; reboot may still apply modprobe.d on next boot."
|
||||
log "No initramfs tool found; modprobe.d applies on next boot without regen."
|
||||
}
|
||||
|
||||
set_carveout_index() {
|
||||
@@ -245,13 +258,17 @@ apply_profile() {
|
||||
fi
|
||||
|
||||
if [[ "${ttm_action}" == "clear" ]]; then
|
||||
clear_ttm_config
|
||||
if [[ -f "${TTM_CONF}" ]]; then
|
||||
clear_ttm_config
|
||||
REGEN_INITRAMFS=1 regenerate_initramfs
|
||||
else
|
||||
clear_ttm_config
|
||||
fi
|
||||
elif [[ -n "${ttm_gb}" ]]; then
|
||||
write_ttm_config "${ttm_gb}"
|
||||
REGEN_INITRAMFS=1 regenerate_initramfs
|
||||
fi
|
||||
|
||||
regenerate_initramfs
|
||||
|
||||
cat <<EOF
|
||||
Profile "${label}" staged successfully.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user