You are not logged in.

#1 2026-08-09 21:59:54

limbo_owo
Member
Registered: 2026-07-18
Posts: 3

[ FIXED ] Hibernation fails on MSI Laptop with NVIDIA

✅✅✅ EDIT: ISSUE HAS BEEN FIXED, scroll to the reply at the bottom to see the step by step guide

Hi!!! :3

INTRODUCTION
  • I'm still quite a newbie when it comes to Arch and Linux in general, I'm acquainted with Linux for about two years though.

  • Still, assume I'm 5 and don't know a thing, there's many deep concepts I'm still learning... I only know the basic surface stuff, not much about low-level concepts.

  • I got my laptop back in November 2025, and been using Arch ever since.

  • And ever since I've been trying really really hard to make hibernation work, going down a rabbit hole, checking the official documentation, checking arch forum, NVIDIA forum, reddit... I'll detail all of this below.

Issue summarized
  • Suspend/sleep works.

  • Restart/reboot works.

  • Poweroff works.

  • Only hibernation fails.

  • journalctl logs seem to point at NVIDIA getting stuck before the crash... which was my main suspect. But even when booting up with it disabled I still have issues. I suspect NVIDIA could be giving problems, but doesn't look like the root cause.

  • Under minimal settings, resuming from hibernation still fails (see the test below).

Trying to hibernate normally from KDE Plasma

If you are curious how the normal flow looks like on my desktop environment, when I attempt to hibernate either through the KDE Plasma UI or systemctl hibernate on the terminal, it first shuts off the screen and seems like it's working, but then the PC gets stuck and doesn't really shut off completely, the RBG lights from the keyboard stay lit... forever. So I have to hold the power button to manually force it to shut down.

This is how I get my journal logs:

sudo journalctl --rotate
sudo journalctl --vacuum-time=1s
sudo systemctl hibernate
sudo journalctl -p err --no-pager > /home/USER/Documents/text/journalctllogs.txt

Here are the contents of journalctllogs.txt:

Aug 09 23:13:37 archlinux kernel:
Aug 09 23:13:44 archlinux kernel: nvidia 0000:01:00.0: PM: pci_pm_freeze(): nv_pmops_freeze [nvidia] returns -5
Aug 09 23:13:44 archlinux kernel: nvidia 0000:01:00.0: PM: dpm_run_callback(): pci_pm_freeze returns -5
Aug 09 23:13:44 archlinux kernel: nvidia 0000:01:00.0: PM: failed to quiesce async: error -5
Aug 09 23:13:44 archlinux kernel: PM: hibernation: Failed to load image, recovering.
Aug 09 23:13:48 [USER_REDACTED] kernel: ACPI BIOS Error (bug): Could not resolve symbol [^^RP28.PXSX.WIST], AE_NOT_FOUND (20250807/psargs-332)
Aug 09 23:13:48 [USER_REDACTED] kernel: ACPI Error: Aborting method \_SB.PC00.CNVW.IFUN due to previous error (AE_NOT_FOUND) (20250807/psparse-529)
Aug 09 23:13:48 [USER_REDACTED] kernel: ACPI Error: Aborting method \_SB.PC00.CNVW._DSM due to previous error (AE_NOT_FOUND) (20250807/psparse-529)
Aug 09 23:13:52 [USER_REDACTED] dbus-broker-launch[710]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share//dbus-1/services/org.kde.plasma.Notifications.service'
Aug 09 23:13:56 [USER_REDACTED] dbus-broker-launch[775]: Ignoring duplicate name 'org.freedesktop.Notifications' in service file '/usr/share//dbus-1/services/org.kde.plasma.Notifications.service'
Aug 09 23:14:00 [USER_REDACTED] org_kde_powerdevil[1005]: [  1005][  1.222198] Time since library initialized:   1.222198 seconds
Aug 09 23:14:00 [USER_REDACTED] org_kde_powerdevil[1005]: [  1005][  1.222200] Extra delay starting dw_start_watch_displays: 0 millisec
Aug 09 23:14:01 [USER_REDACTED] systemd[740]: Failed to start Swaync notification daemon.
Aug 09 23:14:01 [USER_REDACTED] systemd[740]: Failed to start Swaync notification daemon.
Aug 09 23:14:02 [USER_REDACTED] systemd[740]: Failed to start Swaync notification daemon.
Aug 09 23:14:02 [USER_REDACTED] systemd[740]: Failed to start Swaync notification daemon.
Aug 09 23:14:03 [USER_REDACTED] systemd[740]: Failed to start Swaync notification daemon.
Aug 09 23:14:03 [USER_REDACTED] systemd[740]: Failed to start Swaync notification daemon.

NVIDIA looks to be causing some trouble.

Test with init=/bin/sh

I was getting very hopeless as I couldn't find anything that worked for me after trying every solution I could find online. So I decided to switch approaches completely ^w^ Instead of turning things off until it worked, I would turn things on until it stopped working: build from the ground up until something fails... This way it's easier to isolate and identify the issue. Weeeeellllllll... I was not expecting it to fail at the very start, but at the same time, I think that's valuable insight. These are the steps I tried:

  1. Reboot the PC and when the GRUB menu shows up, press 'e' on the Arch entry.

  2. Add ' init=/bin/sh' at the end of the linux line, and boot with Ctrl + X. NOTE: as far as I understand, this only loads the Linux kernel and a shell terminal, but do let me know if there's any way to go more bare bones than this.

  3. Prepare and mount the filesystem:

    mount -t proc proc /proc
    mount -t sysfs sysfs /sys
    mount -t devtmpfs devtmpfs /dev
  4. Activate swap:

    swapon /dev/nvme0n1p2
  5. Wait a little for the seconds to tick, and check the uptime:

    cat /proc/uptime
  6. Attempt hibernation:

    echo disk > /sys/power/state
  7. This time the laptop does properly shut off and doesn't get stuck with the keyboard RGBs on.

  8. Turn the laptop on again aaaand:

    • Verbose boot says its resuming from hibernation but then...

    • ... it cold boots... instead of returning to the shell it cold boots normally into the desktop environment.

    • The uptime timer has restarted sad

Please correct me if I made any mistake during the process <3

TECHNICAL CONTEXT
Hardware

MSI Cyborg 15 B2RWEKG-284XES Laptop

  • CPU: Intel Core 7 240H

  • GPU: GeForce RTX 5050 - 8GB GDDR7 VRAM

  • RAM: 32 GB DDR5

  • SSD: 1 TB

I'm aware that other Arch users have had some trouble with both MSIs and NVIDIA GPUs so I hope this can help narrow down the issue.

Kernel version

Currently I'm using the Linux long-term support kernel (linux-lts). The version is the one from August 8th 2026:

uname -r
6.18.43-1-lts

Oh I'm also on KDE Plasma but I've been dragging these hibernation issues from the beginning, when I used Hyprland.

Disk partitions and swap

As you can see, there's a swap partition with 32 GB allocated to it, matching the RAM size.

lsblk
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 953.9G  0 disk
|-nvme0n1p1 259:1    0   512M  0 part /boot
|-nvme0n1p2 259:2    0    32G  0 part [SWAP]
|-nvme0n1p3 259:3    0    68G  0 part /
`-nvme0n1p4 259:4    0 853.4G  0 part /home

And this is the swap UUID, which will be referenced in the GRUB config.

lsblk -no UUID $(swapon --show=NAME --noheadings)
67432097-4eac-4c43-b0f2-420a7bb46a6c
GRUB Config

Here is my GRUB config. Some stuff to note:

  • I added the parameter resume=UUID= with the swap UUID above.

  • Zswap is disabled (zswap.enabled=0) because I was troubleshooting and heard there's some synchronization issues with hibernation. In the end it wasn't the (sole) culprit but I wanted to isolate the issue so I left it that way.

# GRUB boot loader configuration
GRUB_DEFAULT=saved # "Advanced options for Arch Linux>Arch Linux, with Linux linux"
GRUB_SAVEDEFAULT=true
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="resume=UUID=67432097-4eac-4c43-b0f2-420a7bb46a6c mem_sleep_default=deep zswap.enabled=0 i915.enable_psr=0 i915.enable_dc=0"
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 `videoinfo'
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="/path/to/gfxtheme"
# 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
# Probing for other operating systems is disabled for security reasons. Read
# documentation on GRUB_DISABLE_OS_PROBER, if still want to enable this
# functionality install os-prober and uncomment to detect and include other
# operating systems.
#GRUB_DISABLE_OS_PROBER=false
mkinitcpio.conf

Some stuff to note:

  • Added the nvidia, nvme and vmd modules.

  • Currently not using the resume hook because I'm using systemd, as the arch wiki suggests.

# vim:set ft=sh:
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(usbhid xhci_hcd)
MODULES=(nvme vmd nvidia nvidia_modeset nvidia_uvm nvidia_drm)
# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()
# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=()
# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No RAID, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect microcode modconf block filesystems fsck)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev microcode modconf block filesystems fsck)
#
##   This setup assembles a mdadm array with an encrypted root file system.
##   Note: See 'mkinitcpio -H mdadm_udev' for more information on RAID devices.
#    HOOKS=(base udev microcode modconf keyboard keymap consolefont block mdadm_udev encrypt filesystems fsck)
#
##   This setup loads an lvm2 volume group.
#    HOOKS=(base udev microcode modconf block lvm2 filesystems fsck)
#
##   This will create a systemd based initramfs which loads an encrypted root filesystem.
#    HOOKS=(base systemd autodetect microcode modconf kms keyboard sd-vconsole sd-encrypt block filesystems fsck)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr and fsck hooks.
HOOKS=(base systemd autodetect microcode modconf kms keyboard keymap sd-vconsole block filesystems fsck)
# COMPRESSION
# Use this to compress the initramfs image. By default, zstd compression
# is used for Linux ≥ 5.9 and gzip compression is used for Linux < 5.9.
# Use 'cat' to create an uncompressed image.
#COMPRESSION="zstd"
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
# MODULES_DECOMPRESS
# Decompress loadable kernel modules and their firmware during initramfs
# creation. Switch (yes/no).
# Enable to allow further decreasing image size when using high compression
# (e.g. xz -9e or zstd --long --ultra -22) at the expense of increased RAM usage
# at early boot.
# Note that any compressed files will be placed in the uncompressed early CPIO
# to avoid double compression.
#MODULES_DECOMPRESS="no"
Nvidia

Here are the contents of these two files:

/etc/modprobe.d/nvidia.conf

options nvidia_drm modeset=1
# options nvidia NVreg_EnableGpuFirmware=0

/etc/modprobe.d/nvidia-power-management.conf

options nvidia NVreg_PreserveVideoMemoryAllocations=1
# options nvidia NVreg_UseKernelSuspendNotifiers=1
options nvidia NVreg_TemporaryFilePath=/var/tmp

And here are the services that are enabled/disabled. I tried disabling nvidia-suspend and nvidia-hibernate like some people suggested but still wouldn't work.

systemctl list-unit-files | grep nvidia
nvidia-hibernate.service                                                  enabled         disabled
nvidia-persistenced.service                                               disabled        disabled
nvidia-powerd.service                                                     disabled        disabled
nvidia-resume.service                                                     enabled         disabled
nvidia-suspend-then-hibernate.service                                     disabled        disabled
nvidia-suspend.service                                                    enabled         disabled

I'm also using the nvidia-open drivers as recommended in the arch documentation. I tried using the nouveau drivers but that didn't fix the issue so I switched back.

cat /proc/driver/nvidia/version
NVRM version: NVIDIA UNIX Open Kernel Module for x86_64  610.43.03  Release Build  (root@)
GCC version:  gcc version 16.1.1 20260625 (GCC)
Systemd sleep config
cat /etc/systemd/sleep.conf

#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it under the
#  terms of the GNU Lesser General Public License as published by the Free
#  Software Foundation; either version 2.1 of the License, or (at your option)
#  any later version.
#
# Entries in this file show the compile time defaults. Local configuration
# should be created by either modifying this file (or a copy of it placed in
# /etc/ if the original file is shipped in /usr/), or by creating "drop-ins" in
# the /etc/systemd/sleep.conf.d/ directory. The latter is generally
# recommended. Defaults can be restored by simply deleting the main
# configuration file and all drop-ins located in /etc/.
#
# Use 'systemd-analyze cat-config systemd/sleep.conf' to display the full config.
#
# See systemd-sleep.conf(5) for details.

[Sleep]
#AllowSuspend=yes
#AllowHibernation=yes
#AllowSuspendThenHibernate=yes
#AllowHybridSleep=yes
#SuspendState=mem standby freeze
#HibernateMode=platform shutdown
#MemorySleepMode=
HibernateDelaySec=2h
#HibernateOnACPower=yes
#SuspendEstimationSec=60min
cat /etc/systemd/logind.conf | grep -i "hibernate\|suspend"

#SleepOperation=suspend-then-hibernate suspend
HandlePowerKey=hibernate
#HandleSuspendKey=suspend
#HandleSuspendKeyLongPress=hibernate
#HandleHibernateKey=hibernate
#HandleHibernateKeyLongPress=ignore
HandleLidSwitch=suspend
#HandleLidSwitchExternalPower=suspend
#SuspendKeyIgnoreInhibited=no
#HibernateKeyIgnoreInhibited=no
ACPI sleep states
cat /proc/acpi/wakeup
Device	S-state	 Status   Sysfs node
PEG1	 S4	*enabled   pci:0000:00:01.0
PEGP	 S4	*disabled  pci:0000:01:00.0
PEG2	 S4	*disabled
PEGP	 S4	*disabled
PEG0	 S4	*disabled  pci:0000:00:06.0
PEGP	 S4	*disabled
RP09	 S4	*disabled
PXSX	 S4	*disabled
RP10	 S4	*disabled
PXSX	 S4	*disabled
RP11	 S4	*disabled
PXSX	 S4	*disabled
RP12	 S4	*disabled
PXSX	 S4	*disabled
RP13	 S4	*disabled
PXSX	 S4	*disabled
RP14	 S4	*disabled
PXSX	 S4	*disabled
RP15	 S4	*disabled
PXSX	 S4	*disabled
RP16	 S4	*disabled
PXSX	 S4	*disabled
RP01	 S4	*enabled   pci:0000:00:1c.0
PXSX	 S4	*disabled
RP02	 S4	*disabled
PXSX	 S4	*disabled
RP03	 S4	*disabled
PXSX	 S4	*disabled
RP04	 S4	*disabled
PXSX	 S4	*disabled
RP05	 S4	*disabled
PXSX	 S4	*disabled
RP06	 S4	*enabled   pci:0000:00:1c.5
PXSX	 S4	*disabled  pci:0000:03:00.0
RP07	 S4	*disabled
PXSX	 S4	*disabled
RP08	 S4	*disabled
PXSX	 S4	*disabled
RP17	 S4	*disabled
PXSX	 S4	*disabled
RP18	 S4	*disabled
PXSX	 S4	*disabled
RP19	 S4	*disabled
PXSX	 S4	*disabled
RP20	 S4	*disabled
PXSX	 S4	*disabled
RP21	 S4	*disabled
PXSX	 S4	*disabled
RP22	 S4	*disabled
PXSX	 S4	*disabled
RP23	 S4	*disabled
PXSX	 S4	*disabled
RP24	 S4	*disabled
PXSX	 S4	*disabled
LID0	 S3	*enabled   platform:PNP0C0D:00
XHCI	 S3	*enabled   pci:0000:00:14.0
XDCI	 S4	*disabled
HDAS	 S4	*disabled  pci:0000:00:1f.3
CNVW	 S4	*disabled  pci:0000:00:14.3
TXHC	 S4	*enabled   pci:0000:00:0d.0
TDM0	 S4	*disabled
TDM1	 S4	*disabled
TRP0	 S4	*disabled
PXSX	 S4	*disabled
TRP1	 S4	*disabled
PXSX	 S4	*disabled
TRP2	 S4	*disabled
PXSX	 S4	*disabled
TRP3	 S4	*disabled
PXSX	 S4	*disabled
AWAC	 S4	*enabled   platform:ACPI000E:00
PWRB	 S4	*enabled   platform:PNP0C0C:00
cat /sys/power/state
freeze mem disk
ATTEMPTED FIXES
Misc stuff I tried and didn't work
  • Disabled Zswap.

  • Updated the BIOS to its latest version (E15Q3IMS.110) from here.

  • Updated the Linux kernel, tried both the mainline and the long-term support kernels... right now I'm using the LTS kernel.

  • Tried the nouveau NVIDIA drivers.

  • Tried both with and without the resume hook.

  • Disabled NVIDIA hibernate and suspend services.

  • Tried different configurations for NVIDIA (see the commented lines of the files above).

  • Contacted MSI Tech Support but they only offer support for Windows (although the OS that came with this PC was FreeDOS... huh O~o)

Posts and forums

Here is a collection of some posts, forums, documentation, etc. that I have checked and tried. I couldn't find every single post that I checked because it's been a few months and I didn't note them down, as they didn't fix my issue... apologies for that OwO

CLOSING WORDS

I know the Arch community greatly values trying to fix things on your own and reading the docs, and I swear I did but after so many months empty handed I figured it was a good time to ask for help.
If I'm doing anything wrong, like posting this on the wrong place, or breaking any rule by accident, do tell me >w<
Also ask for any information you need! I tried to be exhaustive and provide as much as I could find, I also hope the formatting is nice to read. But if you need any extra info I'll provide it.

I guess that is all, thank you so so so much for reading! <33

Last edited by limbo_owo (2026-08-17 08:22:39)

Offline

#2 2026-08-10 01:02:10

dimich
Member
From: Kharkiv, Ukraine
Registered: 2009-11-03
Posts: 753

Re: [ FIXED ] Hibernation fails on MSI Laptop with NVIDIA

limbo_owo wrote:

Here are the contents of journalctllogs.txt:

This looks like journal of boot with attempt to resume. What is in journal of boot with attempt to hibernate?
Please, post all journal messages for both boots, do not restrict to errors only. Surrounding non-error messages also matter.

# journalctl -b -1
# journalctl -b 0
limbo_owo wrote:

As you can see, there's a swap partition with 32 GB allocated to it, matching the RAM size.

I would recommend swap at least 1.5 times larger than RAM.
Some time ago I experienced failures of resume from hibernation (also on PC with Nvidia card) with 128 GiB RAM and 64 GiB swap, despite used RAM was less than 1 GiB. The root cause of that falures is still unknown, I fixed it by allocating larger swap on other drive.

limbo_owo wrote:

Added the nvidia, nvme and vmd modules.

Did you try to exclude nvidia modules from initramfs?

limbo_owo wrote:

options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp

Did you try without these options?
EDIT: if I remember correctly, each "options" line overrides previous, so only last one is applied. Put all desired options into single "options" line.

limbo_owo wrote:

I tried using the nouveau drivers but that didn't fix the issue so I switched back.

So maybe the culprit is not nvidia.

For sanity, please also show

# cat /sys/power/image_size
# cat /sys/power/reserved_size

Last edited by dimich (2026-08-10 03:05:24)

Offline

#3 2026-08-12 22:33:37

limbo_owo
Member
Registered: 2026-07-18
Posts: 3

Re: [ FIXED ] Hibernation fails on MSI Laptop with NVIDIA

Hello!! Thank you so much for this feedback!!! I tried some of the stuff you recommended and actually managed to hibernate twice... (although it got stuck when powering off and I had to hold the power button). Unfortunately, I tried to check if systemctl hybrid-sleep worked and it did not, but not only that, now normal hibernate doesn't either, even after rebooting.

I'm still trying to figure out how to replicate it and find the exact journalctl logs corresponding to it. But at least this should serve as confirmation that 32GB is enough space to save the data and resume it.

In the meantime, I wanted to kindly thank you for your thorough reply, it's been really helpful! <3

Offline

#4 2026-08-17 08:15:24

limbo_owo
Member
Registered: 2026-07-18
Posts: 3

Re: [ FIXED ] Hibernation fails on MSI Laptop with NVIDIA


┏━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃           ✅  ✅  ✅          FIX HERE          ✅  ✅  ✅             ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━┛

YIPPEEEEEEEEEEE!!!!!!!!!! It's finally fixed >W< I'll walk you through the steps I followed to make it work:

  1. Disabled VMD (Volume Management Device) on the BIOS/UEFI.
    .

  2. Removed the "vmd" module from mkinitcpio.conf. It should look like this:

    MODULES=(nvidia nvidia_modeset nvidia_uvm nvidia_drm)

    DO NOT remove the NVIDIA modules as the system won't start otherwise.
    .

  3. ⚠️ IMPORTANT: set PreserveVideoMemoryAllocations to 0. Many fixes I checked said to set it to 1, but setting it to 0 is what finally made my laptop able to resume correctly.
    Here is my full config if you need it:

    cat /etc/modprobe.d/nvidia.conf 
    
    options nvidia_drm modeset=1
    options nvidia NVreg_EnableGpuFirmware=1
    options nvidia NVreg_TemporaryFilePath=/var/tmp
    options nvidia NVreg_PreserveVideoMemoryAllocations=0
    options nvidia NVreg_UseKernelSuspendNotifiers=1

    .

  4. ⚠️ IMPORTANT: Enable nvidia-persistenced.service. While the previous step was enough to resume correctly, my laptop would get stuck during poweroff, forcing me to hold the power button to manually shut it down. Enabling this service fixes that. Now hibernation and resuming should be fully working!!! Remember to also enable hibernate, resume and suspend as well:

    sudo systemctl enable --now nvidia-hibernate.service nvidia-persistenced.service nvidia-resume.service nvidia-suspend.service

    Note: nvidia-persistenced.service may show as failed (systemctl status nvidia-persistenced.service), but it still fixes the poweroff issue regardless. Don't be alarmed if that's the case.
    .

  5. Extra: as the Hyperland Wiki explains, if you still have issues try removing the KMS hook from mkinitcpio.conf.

Loading the Nvidia modules early may cause resuming from hibernation to not work anymore (i.e. the system will just boot instead of resuming). If you have issues with that, try disabling early KMS.

Once finished, make sure to run this to apply changes <3

sudo mkinitcpio -P
reboot

This is what worked for me! I hope it works for you too ^w^ cheers! ❤️

Last edited by limbo_owo (2026-08-17 08:31:40)

Offline

Board footer

Powered by FluxBB