Linux support for Qualcomm Snapdragon 7c? - eviltoast

cross-posted from: https://lemmy.world/post/1798744

I’m searching for a Notebook and I came across one that had a Qualcomm Snapdragon 7c which grabbed my attention… My main concern was that the processor specs says:

  • Instruction Set: ARMv8-A64 (64 bit)
  • Architecture: Kryo 468

Main questions:

  • Does Linux already supports this processor?
  • What I should look at? Instruction Set (A64) or Architecture (Kyro)?

If you have time to spend… How this CPU compares with an i3 6157U?

  • Nia@lemmy.ml
    link
    fedilink
    arrow-up
    17
    ·
    edit-2
    1 year ago

    It’s complicated.

    ARM system initialization doesn’t happen the same way as on x86 (the instruction set your computer is probably using unless you’re on a phone/tablet). On x86, once the CPU is initialized, it can inform the Linux kernel of what hardware is installed and how to talk to it through a protocol called ACPI. Thus, for Linux to work on a system, it must only support the CPU and some necessary hardware (e.g. I doubt you’ll have a usable system if USB, graphics, audio, and networking are unsupported, but otherwise it’s fine).

    ARM functions quite differently; ACPI doesn’t exist ACPI is also usable on ARM but Qualcomm refuses to implement it, so instead the Linux kernel has to already know what hardware is installed and where through a configuration file called a device tree blob - basically weird JSON. Therefore it’s not enough that Linux supports the Snapdragon 7c (it does) - there must also be a builtin device tree config for your specific device. There likely is one; a simple way to check would be to look here for your device’s name (the Snapdragon 7c’s codename is SC7180, so the file you’re looking for would be sc7180-$vendor-$model.dts). If there isn’t and you’re willing to get moderately deep in the weeds, you can write your own device tree source file and load it into the kernel (assuming you have at least a rudimentary familiarity with programming, this is doable with a little dedication).

    As for your other questions, you don’t need to worry too much about instruction set and architecture - being ARM will limit what software can run, but emulation is sort of okay too. It will, however, be far more power-efficient than a 6th gen Intel i3 if that’s what you care about - and gut instinct says faster.

    It really depends on your usecase, though. If your budget is limited enough that these are serious options, I’d honestly recommend finding a decent second-hand laptop running something a bit better and more recent - but if you run mostly open-source software, don’t care about gaming at all, and are willing to get a little deeper than the average hobbyist for some extra battery life, the ARM laptop might be interesting.

    • techLover@lemmy.worldOP
      link
      fedilink
      arrow-up
      3
      ·
      1 year ago

      Thank you for this very detailed answer!

      I was looking for a new Notebook for my parents, and they need Windows working as a dual boot and Linux as the main driver. After some research, I found that ARM for Windows was still bad, and we need it to work properly, so I discarded this option. But I appreciated the knowledge you shared with us. Thanks

      • Nia@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        Glad to have been informative :D and good luck on your laptop hunt

      • Nia@lemmy.ml
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        That’s correct, mea culpa; I’ve only seriously worked with qcom so entirely forgot that’s a thing. I’ll update my comment, thanks!

    • LiveLM@lemmy.zip
      link
      fedilink
      arrow-up
      2
      ·
      1 year ago

      but Qualcomm refuses to implement it

      Ah, thank you Qualcomm, very cool!
      WHY DOES EVERYTHING SUCK SO MUCH???