Everything works out of the box, though it does require some effort to configure a couple of things. The biggest item: I got my laptop to hibernate on Kubuntu 24.04. A few years ago I wrote a long blog post about making it work on earlier versions of the Ubuntu/Mint family of distros, but it has gotten more complicated. It’s not the distro’s fault; it’s because of changes in things like SystemD and other upstream modifications.
First, let me point you to my primary source on the more recent procedure: How to Enable Hibernate Function in Ubuntu 24.04 & 22.04 LTS by Ji M. This is the best, most complete single reference I’ve seen.
Note: You must go into the BIOS and turn off secure boot. It’s a notorious old lie calling it “secure boot”. The only thing it secures is Microsofts’s control over your system. In actual practice, it makes the system less secure, because it’s an attack vector for some malware. Turn it off; you’ll never miss it. UEFI itself is not a problem. And on some laptops (like Dells) you’ll also need to switch the harddrive from RAID mode to ACPI in order to install Linux. Most other BIOS settings should be okay.
Ji does mention making sure you have swap working, but misses something I ran into: Having too small of a swap space. By default, Kubuntu and friends will choose a swap file instead of a swap partition. Unfortunately, it also makes one too small for hibernation. So, I’ll say your first step is to get that fixed, and I recommend this guide, which offers plenty of hand-holding to get you through it. No reboot required.
On my laptop, Kubuntu gave me a 512MB (half-GB) which is woefully inadequate for hibernation. I bumped it up to 8GB simply because my system has 16GB of RAM. While Linux loves to spread itself all across most of that, when compacting down for hibernation, it has so far fit well inside my new larger swap file.
After you get that fixed, then proceed with the detailed fix Ji lays out at the handbook site. I note that, instead of using UUID to identify the resume instructions in the GRUB line, he recommends using the “/dev/nvme????????” tag. I set mine up that way.
One more note: Kubuntu tends to act a little odd unless you properly identify your laptop keyboard. Under settings, look for “Input Devices” and under keyboard, don’t accept the generic 104 key setting. Check to see if there’s something more accurate. In my case, there was a setting for Dell Latitude laptops, which works fine. Without that, some keyboard and mouse functions for me were not yielding the expected behavior.