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
When things are ready, the instructions what partition structure to be used will be provided, run Anaconda.
Reboot, update, run hibernate-config script to setup hibernate with all the bells and whistles including SELinux tweaks while keeping things secure - never touch a conf file (although the manual instructions will be provided for those who wish it).
Everything will be live on the Framework github (private atm on my own github).
@matthartley Matt, cannot even understate your impact here, this is wickedly cool and reaffirms my decision 1000x to buy a Framework computer.
Love it!
@moritz I appreciate it! My goal is to continue to tool out tools to add value where possible.
A fair sized area of focus is a proper hibernate option. Suspend is fine for a short term, but when someone sticks a laptop in a backpack, it really should have its state saved and be properly off into a state of hibernate. :)
@matthartley Absolutely.
I mean, my 2nd gen Framework loses battery even when completely turned off, but I’ll take any and all improvements any day
@matthartley That's great! Looking forward to the instructions as I'm on Ubuntu. Does suspend-then-hibernate work with the AMD systems?
@benedolt It does. Tested on AMD Ryzen 7040 Series on the 13 inch model. 16 will behave similarly. Intel Core Ultra Series should as well (testing Monday)
LUKS passphrase bypass as an option (still encrypted) and Yubikey testing Monday as well.
@matthartley That's amazing! Thank you!
@matthartley dying for suspend-to-hibernate that Just Works. can’t express how much i’d love to see it happen.
@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.
@matthartley Will this be supported on the FW Laptop 16?
@cameronbosch Yes. It's the issue with the keyboard wake up that inspired this. Need to triple check dgpu behavior (which should be fine). But yes, the 16 too.
@matthartley that is great what you are doing here for the #linux #community Matt!
I followed instructions on @frameworkcomputer community forum and your suggestions as well, to set up manually hibernate on #Ubuntu2204LTS
But the lid , close, and some other bells are not there yet. I will gladly read your updates and test them, to share results
My #framework13 Intel 12thgen battery will probably love that
@Puma_IT @frameworkcomputer Appreciate the feedback. :) Lid behavor should absolutely work OOTB on Ubuntu and Fedora. So on a default, unchanged installation, lid behavior should be suspend...unless changes were made to the conf or there is something interfering with the lid sensor.