Today, I tested rtcwake on several x86 or x86-64 based computers.
The outcome:
(1) Suspend to RAM (say, "rtcwake -m mem -s 10"): * Success: Every system. (2) Wake-on-timer ("rtcwake -m no -s 120 && shutdown -h now" or "rtcwake -m off -s 120"): * Success: Lenovo Thinkpad X220 (2012?), and a 5-year-old desktop system * Fail: IBM Thinkpad X60 (Core Duo from 2006), a HP Zbook from 2016. (3) Suspend to disk ("rtcwake -m disk -s 120") had no chance of working, because I never configure any swap partition. I would assume that this could only work if (2) worked in the first place. On the Debian systems that I tried, the command would fail as expected. On one Arch Linux system (Lenovo Thinkpad X220), it forcibly power off the computer and fail to start automatically; a file system check ran on the manual power-on.
GNU/Linux is the only operating system on each computer, and apart from the 32-bit Thinkpad X60, everything boots up via UEFI.
In the BIOS setup of both the Thinkpad X60 and the HP laptop there are some settings related to powering up on timer. Maybe with something like nvram-wakeup (which was the only working option for a 2001 Intel Celeron machine) they could be made to work.
Moral of the story: You can't expect wake-on-timer to "just work" even on relatively recent hardware. Possibly the chances are better with desktop or small-form-factor systems than with laptops.
Marko