The end of the AArch64 desktop experiment

(juszkiewicz.com.pl)

49 points | by signa11 5 hours ago

12 comments

  • 10000truths 6 minutes ago
    I'm not sure why the author didn't attempt to dive deeper into the error message he saw. amd_vcn_dec sounds like it's an issue with the GPU's video decoding logic. If there's a timeout when trying to process a decode request, it may be that power management for the GPU is buggy somehow. Given that this is a server build and idle power consumption is likely not a big deal, I'd suggest pinning the GPU power state to see if it resolves the issue (see amdgpu.ppfeaturemask and amdgpu.runpm kernel parameters).
  • dn3500 49 minutes ago
    I don't understand the kernel problem. Why did he feel he had to rebuild the kernel weekly? When the amdgpu stopped working why couldn't he just go back to the last working kernel?
    • nevi-me 14 minutes ago
      I presumed that as a kernel developer, he would run the kernel he runs, which would require rebuilding periodically. Daily doesn't make sense, monthly is too infrequent given the rate of change in the kernel.

      My speculation though. When I was building an app I was using, I used to run a recent stable build on my device instead of just the one released in the Play Store. Simplifies having to keep multiple devices.

    • M95D 11 minutes ago
      He said he needed patches to make the GPUs work. Kernel package auto-updated does not have those patches and overwrites the custom kernel he built every time there was an update available.
  • edg5000 1 hour ago
    > there was no org.freedesktop.Platform.GL.nvidia in Flatpak repositories for AArch64

    All he had to do was build some packages from source, right? It's really worth learning how to do this, since it removes a lot of constraints.

    And the kernel patch should land in the kernel pretty soon, I hope? He won't have to run a patched kernel forever. Should be possible to get that in a release in a year or so?

  • HerbManic 3 hours ago
    I'm not surprised at the outcome. These Ampere system single core/thread performance is pretty low and that is where you feel it. The OS/software simply cannot allocate the threads across enough cores effectively to make up for this difference.

    This is why things like the Apple M Series feels so fast, because while they don't win the multi core performance especially when going up against a 80 core beast like this, they have single thread performance exactly were it is needed.

    Maybe we will need 80 cores in future, that is cool but for daily home use it is still just way too much for what we need.

    • akoboldfrying 20 minutes ago
      Apple M series is also aarch64 architecture, isn't it? Could you explain more why you expect Ampere to be slow but M series to be fast?
  • john_alan 4 minutes ago
    I’ve been using ARM Debian desktop stably for a long time. I don’t see what the issue is, am I missing something or is this just his hardware choice?
  • fragmede 53 minutes ago
    Fascinating! I've been running the laptop version-ish of this experiment with the 14M9610, and my major complaint is Device Tree sucks. It's been explained to me why all of ARM can't just enumerate devices like PCs do, but it still sucks. This means every ARM device starts off in custom kernel territory, which makes all sorts of hacks okay to begin with, since you need a custom kernel anyway.
    • bpye 24 minutes ago
      ACPI does exist for Aarch64, but is only really used for Windows client devices, and server hardware - though I think the Ampere hardware in the article would use ACPI not DT.

      If you want to run Linux on one of the modern Qualcomm Windows laptops, you still generally end up needing to use device tree.

    • bestouff 9 minutes ago
      This is not completely true. You can use a generic kernel with a custom device tree.

      The only problem is that distributions currently tend to package them together, but that shouldn't be obligatory.

    • M95D 8 minutes ago
      > my major complaint is Device Tree sucks

      Why? Device tree is great. You can patch it yourself if something doesn't work, add overlays, etc.

  • anthonj 2 hours ago
    I see the problem, but I don't see a clear analysis on the actual source of the problem. I assumed the issue was mainly single core performance, but he is also suggesting context switches could be the cause?

    So could you fix that with a new scheduler? Or you just need another SoC with better single core performance? I could imagine that the latter already exists, just not in soc with >16 cores. My naive view is that such high core count system comes with tradoff on core size and interconnect/memeory bus complexity.

    And I mean.. my phone is a middle lower end device and for sure I can play youtube videos (maybe in a popup as well) and run the browser without noticing that much difference from my laptop.

    • NavinF 40 minutes ago
      I don't think youtube playback is a relevant comparison since it uses ~0 CPU. Pretty much all phones have hardware accelerated decoding. Lots of TVs and streaming devices use an ancient Android phone SoC yet they too can play YT and run a browser. The entire UI is often a local web app.
    • KaiserPro 1 hour ago
      I think the single core performance would be bearable if it wasn't combined with maintaining a custom built kernel.
  • ginko 37 minutes ago
    I wonder if a source-based distro like Gentoo would have made OP's life slightly easier. Portage for instance should allow you to maintain a set of patches to automatically apply when you update your kernel. Those flatpak problems also shouldn't exist there.
    • lonelyasacloud 12 minutes ago
      At very least it would have given all those cores something to do :-)
  • __patchbit__ 4 hours ago
    Can the ThinkPad T14 ARM Snapdragon variant function without pain as a daily Linux/BSD driver?
    • bpye 20 minutes ago
      When I looked at this before I found https://github.com/kuruczgy/x1e-nixos-config - reasonable though not 100% support.

      I believe Ubuntu also has semi official X1 elite support, no idea if they're working on the latest generation.

    • sedatk 3 hours ago
      Snapdragon has excellent single-thread performance (unlike Ampere) if that’s what you’re asking.
    • izacus 2 hours ago
      No. The driver support is very poor and won't run at all well.

      Even. Setting it up is a pain: https://github.com/Jeremiah-Hawley/Linux-on-Snapdragon

      It can run Windows well though.

    • shevy-java 3 hours ago
      Without pain? I mean, there is pain when using Linux. It just works better than, say, Windows.
      • hparadiz 1 hour ago
        I just setup Gentoo on a Lenovo laptop last week. It was the least painful process for a Linux laptop of my entire career. Everything just works. Even sleep and the fingerprint sensor for sudo. LLM tuis replaced Google entirely.

        I can't even say there was any pain whatsoever. The experience is now more akin to MacOS circa 10.6.x years.

        • izacus 43 minutes ago
          Was it a Snapdragon laptop? Because if it wasn't, then it has nothing to do with the OPs question.
          • hparadiz 36 minutes ago
            Driver support for that particular Lenovo is 100%. You just recompile. The issue is more to do with the CPU not being as good as say an AMD AI Max or an M4.
  • cmrdporcupine 1 hour ago
    I use a DGX Spark every day as my daily driver and it's great. I barely use the "AI" facilities of it, but as an Aarch64 desktop Linux, I have no complaints.
  • rvz 2 hours ago
    The AArch64 desktop experiment started in 2020 with the Macbook M1 and it ended in 2026 with great success with Apple phasing out support for Intel.

    It is called Apple Silicon.

    • jeroenhd 53 minutes ago
      If you think running a Linux desktop on an Ampere is bad, try running it on an M5 Mac!
    • preisschild 2 hours ago
      Which is somewhat useless because it doesn't properly support ACPI/UEFI so that you can boot other operating systems
      • laurencerowe 1 hour ago
        Wasn’t booting other operating systems supported from early on (two months after release of M1)? It was reverse engineering the graphics hardware that took time and effort.
      • boxed 1 hour ago
        Linux on apple silicon is a thing though: https://asahilinux.org/
        • preisschild 1 hour ago
          True, but they had to implement their own bootloader chain and because of such overhead they need a lot of effort to port to each new apple SoC generation
  • shevy-java 3 hours ago
    The Desktop Linux will take over from here guys. Next year it will be ready, together with GNU Hurd for everyone and their Grandma.
    • mort96 1 hour ago
      Has anyone ever pretended that (non-Apple) ARM hardware running Linux makes for a remotely suitable desktop experience for the general public or are you shadow boxing here?