‹ BackHN Continuity

Thread

Linux support is coming to Snapdragon X2 series

625 points · 273 comments · aaronday

  1. hurricanepootis · · focus · HN ↗
    I hope Qualcomm upstreams all the device tree kernel level stuff to Linux for every laptop model. One of the things I don't like about Arm Laptops is—for example—how even if a SoC is supported upstream, if the manufacturer does not upload a device tree for their device, then you're cooked.

    I read that while these Snapdragon laptops do technically have UEFI + ACPI, the information they provide is not useful for Linux and is more coupled with Qualcomm's proprietary drivers on Windows. Therefore, device trees are needed on Linux (I could be wrong about the first part).

    1. ChocolateGod · · focus · HN ↗
      Needing the kernel to be changed for each device is an Androidism that encourages ewaste and we should fight against it.

      Instead Qualcomm should improve their ACPI implementation and improve the kernels handling of it

      1. someonebaggy · · focus · HN ↗
        There's no universally good solution for connecting varied kernels with varied hardware. Device tree is okay.

        Kernels always have to be changed for different hardware, that's nothing new. x86 kernels don't run on ARM machines, full stop. Gameboy Advance kernels don't run on Switch 2. IBM mainframe kernels don't run on AWS EC2.

        As part of good engineering practice we like to separate the parts that are volatile with regard to hardware changes from the parts that are nonvolatile. But that's a kernel implementation detail and we shouldn't pretend it means the combined kernel doesn't need to be changed.

        We can also embed several volatile components for several different hardware configurations. That's called inefficiency, or bloat.

        There were several attempts for hardware to incorporate the volatile component itself and be self-describing. ACPI (in ROM) is one; device-tree-in-ROM is another. Neither turned out to work well, because it turns out you actually want to evolve that code and so kernels contain lists of ROM patches anyway, which isn't much better than just including whatever was in the ROM to begin with.

        1. boobsbr · · focus · HN ↗
          > Kernels always have to be changed for different hardware

          Isn't there a way to have loadable device drivers that live outside the kernel?

          1. someonebaggy · · focus · HN ↗
            That's just a form of building the kernel for several configurations at once.
Open on Hacker News to reply ↗

Unofficial Hacker News client; not affiliated with Y Combinator.