Amds2idle Test Report Analysis

I can’t attach the entire log because text files are blocked from upload, and I can’t paste the entire log here because I get a 403 when I do that, but below is the summary output I got (no specific actions, just links to Git issues):

Explanations for your system
🚦 System had low hardware sleep residency
        The system was asleep for 0:01:17.342560, but only spent 72.31%
        of this time in a hardware sleep state.  In sleep cycles that are at least
        60 seconds long it's expected you spend above 90 percent of the cycle in        hardware sleep.

🚦 rtc_cmos is not configured to use ACPI alarm
        Some problems can occur during wakeup cycles if the HPET RTC emulation is used to
        wake systems. This can manifest in unexpected wakeups or high power consumption.

For more information on this failure see:
        https://github.com/systemd/systemd/issues/24279
🚦 System had low hardware sleep residency
        The system was asleep for 0:01:16.896708, but only spent 71.64%
        of this time in a hardware sleep state.  In sleep cycles that are at least
        60 seconds long it's expected you spend above 90 percent of the cycle in        hardware sleep.

🚦 rtc_cmos is not configured to use ACPI alarm
        Some problems can occur during wakeup cycles if the HPET RTC emulation is used to
        wake systems. This can manifest in unexpected wakeups or high power consumption.

For more information on this failure see:
        https://github.com/systemd/systemd/issues/24279
🚦 System had low hardware sleep residency
        The system was asleep for 0:01:16.996060, but only spent 71.67%
        of this time in a hardware sleep state.  In sleep cycles that are at least
        60 seconds long it's expected you spend above 90 percent of the cycle in        hardware sleep.

🚦 rtc_cmos is not configured to use ACPI alarm
        Some problems can occur during wakeup cycles if the HPET RTC emulation is used to
        wake systems. This can manifest in unexpected wakeups or high power consumption.

For more information on this failure see:
        https://github.com/systemd/systemd/issues/24279
🚦 System had low hardware sleep residency
        The system was asleep for 0:01:17.009534, but only spent 71.66%
        of this time in a hardware sleep state.  In sleep cycles that are at least
        60 seconds long it's expected you spend above 90 percent of the cycle in        hardware sleep.

🚦 rtc_cmos is not configured to use ACPI alarm
        Some problems can occur during wakeup cycles if the HPET RTC emulation is used to
        wake systems. This can manifest in unexpected wakeups or high power consumption.

For more information on this failure see:
        https://github.com/systemd/systemd/issues/24279
🚦 System had low hardware sleep residency
        The system was asleep for 0:01:16.980107, but only spent 71.67%
        of this time in a hardware sleep state.  In sleep cycles that are at least
        60 seconds long it's expected you spend above 90 percent of the cycle in        hardware sleep.

🚦 rtc_cmos is not configured to use ACPI alarm
        Some problems can occur during wakeup cycles if the HPET RTC emulation is used to
        wake systems. This can manifest in unexpected wakeups or high power consumption.

For more information on this failure see:
        https://github.com/systemd/systemd/issues/24279

I’m currently running:

  • Ubuntu 24.04 LTS
  • Sway WM
  • Linux 6.5.0-1020-oem x86_64
  • BIOS 3.03

Post the full report to a gist or pastebin

Btw Ubuntu 24.04 should be on non OEM kernel.

Here is the gist: amds2idle · GitHub

How do I switch to the non-OEM kernel? I was on 22.04 and performed the installation steps, which I believe put me on the OEM kernel. I later upgraded through 23.10 to 24.04. I didn’t do anything further, so I didn’t take any steps to change the kernel

@Matt_Hartley maintains the instructions. I don’t know if he has proper upgrade instructions yet.

But the jist is that you would remove the OEM kernel and install the generic kernel which would get you a 6.8 based kernel. This will fix the rtc cmos issue, or if you want to keep your current kernel you can add a workaround to your kernel command line.

If there’s no other reason to switch kernels, I’d rather avoid doing so. Wrong kernel better than no kernel, and I don’t fully trust myself without instructions. If Matt provides them, I’ll follow the steps.

Otherwise, is the RTC CMOS workaround just to add the indicated text from your post (Unexpected wake up when using suspend-then-hibernate · Issue #24279 · systemd/systemd · GitHub)?

Do I just modify

GRUB_CMDLINE_LINUX=""

to

GRUB_CMDLINE_LINUX="rtc_cmos.use_acpi_alarm=1"

and run update-grub?

EDIT: I just sorta yolo’d an updated kernel (apt install linux-generic), and now I’m on 6.8.0-35-generic. The RTC issue is gone from the report (new report added to gist), but I do get a warning that the “kernel is tainted,” so I’m a bit concerned about that…

Tainted kernels can happen for a variety of reasons; but the most common one is proprietary or out of tree kernel module. For example virtual box can cause a taint. It might be totally fine; but the script can’t decide. You can try to run with --force to ignore it.

You can post your new report if you want too.

New report was added to the previous gist as another file (and the forum doesn’t want me to link it again).

And yeah, I checked dmesg and it seems to be related to amdkcl, which might have something to do with ROCm, but I don’t know how to investigate further. Either way, I’ll recheck sleep power consumption today and see if it improved.

Hopefully the new report looks good, and thanks again for all the help!

The only thing that stands out to me about the report now is that it takes quite a while to enter into suspend. Do you have a lot of stuff running in userspace? Particularly anything vram heavy?

Hopefully that’s all it is, and things perform well now.

Edit: Since official Ubuntu upgrading from 22.04 to 24.04 happens in August, you will find the mechanism isn’t there yet in the GUI or CLI.

That said, on a clean install this would be a moot point, follow our guide, and run updates.

On a forced upgrade from 22.04 to 24.04, you can do the following:

cat /etc/default/grub

See if you see any indication of an OEM kernel mentioned, for example:

GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.5.0-1023-oem"
GRUB_TIMEOUT_STYLE=hidden
GRUB_TIMEOUT=0
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=""

We’d simply grab this line:
GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 6.5.0-1023-oem"
change it to
GRUB_DEFAULT=""

Then check Startup Applications GUI for the old “Kernel Check” that checks for OEM kernel versions, delete it if present.

Close, run

sudo update-grub && reboot

On a clean install or even a forced upgrade install to Ubuntu 24.04, you use the default kernel and use our guide as outlined.

That’s Step 8 for FW 13 and Step 8 for FW 16.

1 Like

Sorry for my delayed reply, but I’m not sure? Typically I’m only running Firefox, Discord (background), Steam (background), Sublime Text, and a terminal window that I’m using as a drop-down terminal. All total, ~7-10 GB.

WezTerm uses the GPU, and my open apps do have VRAM footprints, but it’s only about 700 MB total (of 4 GB allocated).

I am still seeing pretty high consumption–About 25% in 12 hours. Having said that, I need to run a test on my work computer to see if the sleep performance is actually better. Windows automatically suspends to disk after a certain amount of time on suspend-to-RAM, so I am starting to realize that I might just be making an invalid comparison since the computers I’m used to aren’t only suspending to RAM the entire time

I think what happened was that I upgraded to 24.04 (forced upgrade, there were reasons…), but doing that didn’t upgrade the kernel since I still only had the OEM kernel (6.5.0-1020-oem).

I was able to apt install to get the latest kernel (at the time), so I am currently on 6.8.0-35-generic, which I hope is satisfactory.

My GRUB doesn’t have any reference to the OEM kernel, so I think we should be good now