I seem to have fixed the issue, hopefully! An ask through ChatGPT seemed have found a common issue with my GPU. I’ll post what ChatGPT suggest for steps, but long story short, I needed to add mem_sleep_default=deep to GRUB_CMDLINE_LINUX="..." in the file /etc/default/grub with sudo rights.
Here is the ChatGPT reply
Oof — yeah, this is a very common (and very annoying) combo of issues: new kernel + NVIDIA + modern ASUS laptop + sleep. You’re not crazy, and you didn’t do anything wrong.
Let’s break it down and then I’ll give you concrete fixes to try, in order of likelihood.
What’s most likely happening
On your ROG Zephyrus M16 (13th-gen Intel + RTX 4070), suspend is failing because of an interaction between:
- NVIDIA proprietary driver
- Modern sleep states (s2idle / S0ix)
- Wayland + GNOME
- ASUS firmware quirks
The blinking white keyboard but no wake =
the system never actually resumes the GPU or display, even though power comes back.
This is not unique to Fedora 43 — Arch, Ubuntu, and even older Fedora releases hit the same wall on this exact class of laptops.
Step 1: Confirm which NVIDIA driver you’re using (important)
Run:
nvidia-smi
Outcomes:
Command not found → you’re on Nouveau (bad for suspend here)
Shows driver version → proprietary NVIDIA driver (expected)
If you’re not on the proprietary driver, jump to Step 2.
If you are, skip to Step 3.
Step 2: Install the correct NVIDIA driver (RPM Fusion)
Fedora does not ship NVIDIA drivers by default.
Enable RPM Fusion
sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Install NVIDIA driver + power bits
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-power
Reboot twice (first builds the kernel module).
This alone fixes suspend for some people — but not most on this laptop.
Step 3: Fix the sleep state (THIS IS THE BIG ONE)
Your laptop defaults to s2idle, which is broken on many ASUS + NVIDIA systems.
Check current sleep mode
cat /sys/power/mem_sleep
If you see:
[s2idle] deep
That’s the problem.
Force deep sleep
Create config:
sudo nano /etc/default/grub
Change:
GRUB_CMDLINE_LINUX="..."
Add:
mem_sleep_default=deep
Example:
GRUB_CMDLINE_LINUX="rhgb quiet mem_sleep_default=deep"
Then regenerate GRUB:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Reboot and re-check:
cat /sys/power/mem_sleep
You want:
s2idle [deep]
This fixes suspend/wake for a large chunk of Zephyrus users
Step 4: NVIDIA suspend/resume services (often missing)
Fedora installs them but doesn’t always enable them.
sudo systemctl enable nvidia-suspend.service
sudo systemctl enable nvidia-resume.service
sudo systemctl enable nvidia-hibernate.service
Reboot.
These services explicitly tell the GPU how to sleep and wake — without them, black screens are common.
Step 5: Wayland-specific NVIDIA issue (fallback test)
Wayland + NVIDIA is mostly fine now, but suspend is still shakier than X11.
Test with X11:
- Log out
- Click your username
- Gear icon → “GNOME on Xorg”
- Log in
- Test suspend
If suspend works on X11 but not Wayland →
You’ve confirmed a Wayland + NVIDIA resume bug.
You can:
- Stay on X11 for now (many do on gaming laptops)
- Or keep Wayland but avoid suspend (hibernate instead)
Step 6: ASUS-specific kernel module (highly recommended)
ASUS laptops benefit hugely from asusctl.
sudo dnf install asusctl supergfxctl
sudo systemctl enable supergfxd --now
This improves:
- GPU switching
- Power states
- Sleep/resume reliability
Reboot after installing.
If it STILL hangs…
Try disabling NVIDIA during suspend (last resort but effective):
sudo nano /etc/modprobe.d/nvidia-suspend.conf
Add:
options nvidia NVreg_PreserveVideoMemoryAllocations=1
Then:
sudo dracut --force
reboot
Reality check (honest talk)
Your hardware is very new and very powerful, but Linux suspend on:
- hybrid GPUs
- gaming laptops
- NVIDIA
- modern firmware
…is still one of the weakest spots in the ecosystem.
The most reliable combo for this machine tends to be:
- Proprietary NVIDIA
mem_sleep_default=deep
- NVIDIA suspend services enabled
- GNOME on X11 (if Wayland misbehaves)
If you want, tell me:
- Does suspend fail every time or only after unplugging?
- Does closing the lid behave differently than
systemctl suspend?
- Output of
cat /sys/power/mem_sleep
We’ll pin this down cleanly 