Since this is Hacker News and a lot of people here runs Linux, I want to remind everybody to hold your horses before you tested Linux on these machines.
The machine that I'm currently using comes with a Ryzen 6800H CPU and LPDDR5-6400 RAMs, made by Lenovo. On Linux, the builtin keyboard don't work because of IRQ problems (See [1], a fix is also available at [2]), and it constantly spams out "mce: [Hardware Error]: Machine check events logged" messages.
If you read the code in [2], the patch basically disables IRQ override for every new Ryzen machines (`boot_cpu_has(X86_FEATURE_ZEN)`). Based on that, I assume every new Ryzen CPU has the same problem(???)
Edit: wait... blaming it on the CPU might be unjust, it's more like a kernel adoption problem.
Luckily, compiling Linux kernel with 16 threads is not really too big of a struggle, you can just apply the patch manually every time the kernel updates :-) :-| :-(
> On Linux, the builtin keyboard don't work because of IRQ problems (See [1]
The exact problem is that an IRQ/ACPI workaround is not needed anymore on modern Zen platforms, and it (the workaround) now breaks compatibility. It's already in linux master, and will be released for v6.0
Commit message of the fix:
commit 9946e39fe8d0a5da9eb947d8e40a7ef204ba016e
Author: Chuanhong Guo <gch981213@gmail.com>
ACPI: resource: skip IRQ override on AMD Zen platforms
IRQ override isn't needed on modern AMD Zen systems.
There's an active low keyboard IRQ on AMD Ryzen 6000 and it will stay
this way on newer platforms. This IRQ override breaks keyboards for
almost all Ryzen 6000 laptops currently on the market.
Skip this IRQ override for all AMD Zen platforms because this IRQ
override is supposed to be a workaround for buggy ACPI DSDT and we can't
have a long list of all future AMD CPUs/Laptops in the kernel code.
If a device with buggy ACPI DSDT shows up, a separated list containing
just them should be created.
Some vendors may only 'test' as far as getting the compiler to produce something without errors. So, first thing an end-user/consumer/enterprise customer can do when encountering a new platform is to run the platform through https://uefi.org/testtools, in particular the FWTS/Firmware Test Suite and SCT/ACPI Self-Certification Test, and hold the vendor accountable. Chances are the vendor already has a member on the board of the Unified Extensible Firmware Interface Forum.
Here's a user report from back in April from a user running w/ 5.17.x on a 2022 Asus Zephyrus G14 w/ an 6800HS w/o keyboard issues so I don't think it affects all laptops running Ryzen 6000. https://www.reddit.com/r/linuxhardware/comments/u5p1rs/zephy...
I'm on T14 Gen 1 AMD with Fedora with the latest BIOS for the past 2 years and hasn't really experienced any issues. Perhaps I'm missing something here. Care to elaborate?
Thanks. The posts says all AMD-based ThinkPads are affected. And I can't confirm that with both of my T14 Gen 1s which I leave on S3 for multiple days. I haven't tried the S0-something yet, but will do. It looks like you did way more research than me, so I believe that it's a real issue. Perhaps it's down to individual component combination, like planar revision, battery, etc.?
If you don't mind, can you test Ubuntu or Fedora to see if the issue is present?
The reason I'm asking, according to a Lenovo talk from DebConf22 [0], the guy said it takes some time for patches to reach upstream, but with Fedora and Ubuntu they have some connections to shortcut some patches before they reach upstream.
I've already setup production environment on this machine, it's not really easy to test Ubuntu on it. Fedora on the other hand, is the exact distro I'm using.
Sad news is, according to my test, the latest kernel Fedora 36 offered, which is kernel-5.18.16-200.fc36.x86_64, does not come with the keyboard (IRQ override) fix.
Another thing is the mce errors, or more specifically, errors similar to:
It was never fixed by both patched and unpatched kernel.
Of course, those were just the most annoying two. There are many smaller problems such as: 1) Screen won't turn off after timeout if an external display is plugged in via HDMI, 2) Linux S2 (Suspend-to-RAM) never wakes up, 3) Builtin mic don't work, 4) Fingerprint scanner crashes when you put your finger on.
I guess it takes time for those engineers in Lenovo to address those problems, and Lenovo is not a Linux-friendly company (they are more like a Linux-meh company).
Framework on the other hand, cares about Linux more. Sadly they don't operate in my country :(
The machine that I'm currently using comes with a Ryzen 6800H CPU and LPDDR5-6400 RAMs, made by Lenovo. On Linux, the builtin keyboard don't work because of IRQ problems (See [1], a fix is also available at [2]), and it constantly spams out "mce: [Hardware Error]: Machine check events logged" messages.
[1]: https://bbs.archlinux.org/viewtopic.php?id=277260
[2]: https://lore.kernel.org/all/20220712020058.90374-1-gch981213...
If you read the code in [2], the patch basically disables IRQ override for every new Ryzen machines (`boot_cpu_has(X86_FEATURE_ZEN)`). Based on that, I assume every new Ryzen CPU has the same problem(???)
Edit: wait... blaming it on the CPU might be unjust, it's more like a kernel adoption problem.
Luckily, compiling Linux kernel with 16 threads is not really too big of a struggle, you can just apply the patch manually every time the kernel updates :-) :-| :-(