Hibernation / resume not working

Yep, I used linux-firmware-git.

This is really weird, as this laptop has hibernated succesfully previously. I think I'll try to pop ubuntu/fedora on it just to test.

...and reading your latest reply just now, I'll install windows before that just to update all the things. I have switched the SSD though, so not sure if that applies.

The update only applies to "The nvme SSD is a Toshiba KXG50ZNV256G, KXG50ZNV512G or KXG50ZNV1T02 "

(i'll take a look at your inxi again and recheck, so give me a moment. sorry, early morning for me still and I tend to jump to conclusions easier because of that lmao)

Edit: Okay.. well darn.. I thought I was onto something... but you did swap it out for a Kingston SA2000M81000G . though at this rate I am going to look into that drive too.
Edit 2: doesn't seem to be a firmware update for that drive.
By the way, that is a good idea to test on a clean Linux install like the ones you listed (heck, even heard from a laptop Windows user the other day that they had the same kind of hibernation issue). There could be a difference in the later Linux kernels that the hardware just doesn't like, or that some kind of package or package corruption is effecting your Garuda install. Just really hard to troubleshoot things when it comes to hibernation.

2 Likes

I believe @jonathon hosts a repository of older kernels. If you know which kernel it was previously working on perhaps you could find the one that you require.

The other possibility might be downgrade to older linux-firmware versions.


Edit:


Are you sure you’ve setup hibernation properly? It is a very different procedure with btrfs than when simply suspending.

https://wiki.archlinux.org/title/Power_management/Suspend_and_hibernate#Hibernation_into_swap_file_on_Btrfs

4 Likes

This could be interesting - is the LUKS volume unlocked when you resume from sleep?

Was that the same installation?

2 Likes

Were you using luks encryption at the time the hibernation was working?

2 Likes

Did you have a chance to check this?
I’m referring specifically to:

you can set the machine to enter S3 deep sleep mode. Add quiet mem_sleep_default=deep to the Kernel parameters.

2 Likes

Wow, so may answers :nerd_face:

I just chose swap with hibernation at install, haven’t done any other configuration. I’ll look into the link.

From sleep, yes. If I remember correctly it was also unlocked at resume from hibernation previously.

And hibernation worked on an earlier Garuda install, but then I had a sudden distrohopping attack.

Yes, I always have encryption on laptops. Could this maybe be a problem with unlocking LUKS when trying to resume?

I couldn’t find S3 from bios. And no, I missed the kernel parameter, thanks. Trying that now.

EDIT: Still no luck. I re-enabled "C-states" from the bios and edited by grub (micro /etc/defaults/grub && grub-mkconfig -o /boot/grub/grub.cfg). Here is the new grub:

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Garuda"
GRUB_CMDLINE_LINUX_DEFAULT="quiet cryptdevice=UUID=2c7b2761-22d4-4367-8b1c-4848888a9ee2:luks-2c7b2761-22d4-4367-8b1c-4848888a9ee2 root=/dev/mapper/luks-2c7b2761-22d4-4367-8b1c-4848888a9ee2 splash rd.udev.log_priority=3 vt.global_cursor_default=0 systemd.unified_cgroup_hierarchy=1 resume=/dev/mapper/luks-dcf17b08-0c00-4943-9c96-ce9bcc3e7583 loglevel=3 mem_sleep_default=deep"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
# GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
GRUB_THEME="/usr/share/grub/themes/garuda-dr460nized/theme.txt"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT=true

# Uncomment to disable submenus in boot menu
#GRUB_DISABLE_SUBMENU=y

GRUB_DISABLE_OS_PROBER=false
GRUB_ENABLE_CRYPTODISK=y

And just in case it's important, I'm testing this by selecting "hibernate" from the logout menu.

1 Like

I've never played with LUKS, but there will likely be something useful here:

https://wiki.archlinux.org/title/Dm-crypt/Swap_encryption#With_suspend-to-disk_support

3 Likes

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.