Framework 13 7840U freezes (maybe after hibernate)

Hi, I was wondering if anybody was experiencing the same issue: on my amd 7840u framework laptop 13, I pretty consistently get a hard freeze (laptop completely unresponsive, need to hold down power button to reboot), after, I’m pretty sure, using hibernate. Although It doesn’t freeze immediately, it might take a minute or 10 minutes, so I’m not a 100% sure what causes it. Looking at logs it seems to be gpu driver issue but I’m no expert.

I’ve had the same issue on both debian (kernel 7.1.8) and fedora ( 7.1.10), both using a swap partition and a swap file.

Has anyone experienced anything similar?

Which Linux distro are you using?
Fedora Workation
Which release version?
(if rolling release without a release version, skip this question)
Fedora 44
(If rolling release, last date updated?)
Which kernel are you using?
Linux 7.1.10-200.fc44.x86_64
Which BIOS version are you using?
3.20
Which Framework Laptop 13 model are you using? (AMD Ryzen™ AI 300 Series, AMD Ryzen™ 7040 Series, Intel® Core™ Ultra Series 1, 13th Gen Intel® Core™ , 12th Gen Intel® Core™, 11th Gen Intel® Core™)
AMD 7840u

août 31 12:32:20 fedora systemd-logind[1018]: The system will hibernate now!
août 31 12:32:20 fedora ModemManager[1065]: <msg> [sleep-monitor-systemd] system is about to suspend
août 31 12:32:21 fedora systemd[1]: Starting systemd-hibernate.service - System Hibernate...
août 31 12:32:21 fedora systemd-sleep[154850]: Performing sleep operation 'hibernate'...
août 31 12:32:21 fedora kernel: PM: hibernation: hibernation entry
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x00000000-0x00000fff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x0009f000-0x000fffff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x09b00000-0x09dfffff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x09f00000-0x09f3bfff]
août 31 14:34:30 fedora systemd-sleep[154850]: System returned from sleep operation 'hibernate'.
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x49b50000-0x4bd4ffff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x4bd69000-0x4bd6cfff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x4bd6f000-0x4bd6ffff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x52f85000-0x52fd3fff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x54965000-0x54965fff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x57f7f000-0x5affefff]
août 31 14:34:30 fedora kernel: PM: hibernation: Marking nosave pages: [mem 0x5b000000-0xffffffff]
août 31 14:34:30 fedora kernel: PM: hibernation: Basic memory bitmaps created
août 31 14:34:30 fedora kernel: PM: hibernation: Preallocating image memory
août 31 14:34:30 fedora kernel: PM: hibernation: Allocated 2617075 pages for snapshot
août 31 14:34:30 fedora kernel: PM: hibernation: Allocated 10468300 kbytes in 2.12 seconds (4937.87 MB/s)
août 31 14:34:30 fedora kernel: printk: Suspending console(s) (use no_console_suspend to debug)
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora systemd[1]: systemd-hibernate.service: Deactivated successfully.
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora systemd[1]: Finished systemd-hibernate.service - System Hibernate.
août 31 14:34:30 fedora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-hibernate comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
août 31 14:34:30 fedora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-hibernate comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
août 31 14:34:30 fedora systemd[1]: systemd-hibernate.service: Consumed 5.116s CPU time over 11.045s wall clock time, 2.3M memory peak.
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora systemd[1]: Reached target hibernate.target - System Hibernation.
août 31 14:34:30 fedora systemd-logind[1018]: Operation 'hibernate' finished.
août 31 14:34:30 fedora systemd[1]: Stopped target hibernate.target - System Hibernation.
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel:  ttm_device_prepare_hibernation+0x69/0xc0 [ttm]
août 31 14:34:30 fedora kernel:  amdgpu_device_suspend+0x159/0x260 [amdgpu]
août 31 14:34:30 fedora kernel:  device_suspend+0x17e/0x4e0
août 31 14:34:30 fedora kernel:  async_suspend+0x21/0x30
août 31 14:34:30 fedora kernel: ACPI: PM: Preparing to enter system sleep state S4
août 31 14:34:30 fedora kernel: ACPI: PM: Saving platform NVS memory
août 31 14:34:30 fedora kernel: PM: hibernation: Normal pages needed: 2487678 + 1024, available pages: 4801244
août 31 14:34:30 fedora kernel: ACPI: PM: Restoring platform NVS memory
août 31 14:34:30 fedora kernel: ACPI: PM: Waking up from system sleep state S4
août 31 14:34:30 fedora kernel: amdgpu 0000:c1:00.0: SMU is resumed successfully!
août 31 14:34:30 fedora kernel: PM: hibernation: Basic memory bitmaps freed
août 31 14:34:30 fedora kernel: efivarfs: removing variable HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67
août 31 14:34:30 fedora kernel: PM: hibernation: hibernation exit
août 31 14:38:46 fedora systemd-logind[1018]: Suspending...
août 31 14:38:46 fedora ModemManager[1065]: <msg> [sleep-monitor-systemd] system is about to suspend
août 31 14:38:47 fedora systemd[1]: Starting systemd-suspend.service - System Suspend...
août 31 14:38:47 fedora systemd-sleep[156883]: Performing sleep operation 'suspend'...
août 31 14:38:47 fedora kernel: PM: suspend entry (s2idle)
août 31 14:38:49 fedora kernel: printk: Suspending console(s) (use no_console_suspend to debug)
août 31 14:38:49 fedora kernel: PM: suspend devices took 0.165 seconds
août 31 14:38:49 fedora kernel: amdgpu 0000:c1:00.0: SMU is resumed successfully!
août 31 14:38:49 fedora kernel: PM: resume devices took 0.199 seconds
août 31 14:38:49 fedora systemd-sleep[156883]: System returned from sleep operation 'suspend'.
août 31 14:38:49 fedora kernel: PM: suspend exit
août 31 14:38:49 fedora bluetoothd[946]: Controller resume with wake event 0x0
août 31 14:38:49 fedora systemd[1]: systemd-suspend.service: Deactivated successfully.
août 31 14:38:49 fedora systemd[1]: Finished systemd-suspend.service - System Suspend.
août 31 14:38:49 fedora audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
août 31 14:38:49 fedora audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 subj=system_u:system_r:init_t:s0 msg='unit=systemd-suspend comm="systemd" exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success'
août 31 14:38:49 fedora systemd[1]: Reached target suspend.target - Suspend.
août 31 14:38:49 fedora systemd-logind[1018]: Operation 'suspend' finished.
août 31 14:38:49 fedora systemd[1]: Stopped target suspend.target - Suspend.
1 Like

I have the same issue on Fedora, it does happen specifically after a resume from hibernate. Perhaps this is related/same issue: GitLab: amdgpu: soft lockup in amdgpu_cs_parser_bos after hibernate resume + MODE2 reset (RENOIR/Lucienne)

1 Like

Thanks for the response! It does seem very similar, although I lack the technical skills to say for sure. My issue also seems to match this description: How I helped fix sleep-wake hangs on Linux with AMD GPUs | nyanpasu64's blog, for which apparently a fix was introduced to the kernel, and then taken out because it created a new problem.

Just as a follow-up: I can pretty much confirm that hibernate is the culprit. I stopped using hibernate and have not experienced any freeze or instability since. Suspend to RAM works without issue.

I’m not using Fedora. I’m using Kubuntu 26 lts on my framework 13. I had a different issue with my laptop not shutting down properly. I had to research a lot, but managed to find a solution. Generally the 7.x kernel is not very mature yet. On ubuntu it is even worse, because we don’t have access to the newest kernels yet, so we miss some of the bug fixes.

I reverted back manually to 6.18, specifically the ubuntu one 6.18.48 which still receives fixes from canonical and everything is smooth as butter now. I think the kernel is the biggest source of issues for amd hardware. If you wait for updates, it might fix itself, but, if you want a solution now, I would advise you to install the 6.18 kernel.

Yeah I thought about trying that but I had a different issue with PSR causing freezing before kernel 7.1. Mind you I could also just disable PSR. But I’m not too excited about fixing the issue for it to come back in futur kernels… Maybe I’ll try debian stable and see I things are smooth.

This could be the same bug as the one tracked upstream