Got the gnome-shell-extension-hibernate-status extension ready for Fedora 41, removed Hybrid Sleep as it will just lead to confusion.
I will be bundling these together, but yes, this works flawlessly as shown.
Controls for suspend, suspend then hibernate and lid behavior. Lid behaviors I am really bullish with is suspend to hibernate with lid close and straight hibernate with lid close.
Extension is a fork, with my custom changes for GNOME 47..
https://github.com/ctsdownloads/gnome-shell-extension-hibernate-status
@matthartley great! Will this work with secure boot enabled?
@nsmlzl Sadly no. But secure boot can be enabled or disabled as one chooses. Hibernate simply won't work when enabled.
For those folks, I will be offering a looser alternative with "non-secure boot TPM LUKS handling" and Yubikey LUKS handling. Still ironing out the flow.
Additionally, I do have secure boot working with a vanilla install using LUKS to bypass the passphrase (stored via TPM). But no hibernate for this one.
@matthartley @nsmlzl I'm not sure of where your troubles are, but I currently have suspend to hibernate working with Secure boot and LUKS on my gen1 framework laptop.
https://terminal.space/tech/hibernating-is-easy-now/
It's arch specific, so I'm not sure how that works with all of the fedora machinery. If I had to guess, the challenge is trying to avoid self-enrolling keys and using fedora's UKI?
@nil @nsmlzl Interesting, I'll absolutely take a look as another option to choose from. I like the approach. Different from previous approaches.
My long term goal is to offer both options. Partition has always been the most stable for me overall, but this differs some from other approaches I've used in the past.
Fedora will differ some as you indicated, but this has promise.
@matthartley @nil @nsmlzl Would also be my question and really a requirement. (Also if it disables secure boot, you should really add a warning there…)
Some more background here: https://unix.stackexchange.com/questions/591488/why-does-the-kernel-lockdown-prevent-hibernation
It is said, LUKS-encrypting the swpa space would workaround the issue of the kernel not supporting signed kernel images… (and may anyway be a good idea?)
@rugk @matthartley @nsmlzl In my setup, since the swap is encrypted, it works around that particular issue.
Just for transparency, my disk format is:
2 partitions, /boot and LUKS. The LUKS partition, once decrypted, contains a single btrfs filesystem, with the file structure:
/@root
/@home
/@swap
... Etc.
And then btrfs subvolumes mounted to each respective path.
Fstab then mounts @ root to /, @ home to effectively @ root/home/ etc.