While updating my Linux installation on an AMD Ryzen system with sudo pacman -Syu, I noticed this row:

gremlins/linux-zen    5.12.1.zen2-1     5.12.4.zen1-1      0.05 MiB      98.39 MiB

So the kernel would be updated from version 5.12.1.zen2-1 to 5.12.4.zen1-1.

Why the downgrade from zen2 to zen1?

My laptop has an AMD Ryzen 7 2700U, Zen 2, processor. The Linux distribution is Artix (Arch based).


It's not a downgrade from zen2 to zen1. It's an upgrade from 5.12.1.zen2-1 to 5.12.4.zen1-1. You can't just split out a component in the middle of the version string to decide if its newer or older.

You're seeing the result of a double layer of versioning applied. Package versions generally (across distros) tend to comprise both the upstream version (5.12.1-zen2 and 5.12.4-zen1 here) and a distro-specific version (here, both are 1, the number after the last hyphen) intended to be used for distro-specific updates (e.g., custom patches applied, rebuilds made due to changes in build dependencies, etc.). The situation is complicated here by the Zen kernel itself being a downstream of Linux, so they tack on their own version modifier (zen2, zen1) after the real upstream (Linux kernel) version (5.12.1, 5.14.1).

So imagine something like this:

  1. Linus publishes a new kernel, say x.y.z
  2. The Zen folks publish their new version based on that - x.y.z-zen1
  3. Arch Linux publishes their packages based on that - x.y.z-zen1-1
  4. Arch Linux publishes another package based on x.y.z-zen1 because some dependency got changes (maybe a new version of gcc or something) - x.y.z-zen1-2
  5. The Zen folks publish one more version base don the same Linux version, maybe tacking on another patch or something - x.y.z-zen2.
  6. Arch Linux publishes that: x.y.z-zen2-1 (note how the Arch Linux part of the number resets)
  7. Linus publishes a new kernel x.a.z
  8. When Zen publishes a new version based on x.a.z, now they will use x.a.z-zen1, since it's their first release based on x.a.z.
  • 2
    just for sake of completeness, zen is called patchset, and is applied to vanilla kernel; every new version of the patchset will increase its number: zen1, zen2, and so on...
    – mattia.b89
    May 16 at 11:43

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.