Help me understand this better.

From what I have read online, since arm just licenses their ISA and each vendor’s CPU design can differ vastly from one another unlike x86 which is standard and only between amd and Intel. So the Linux support is hit or miss for arm CPUs and is dependent on vendor.

How is RISC-V better at this?. Now since it is open source, there may not be even some standard ISA like arm-v8. Isn’t it even fragmented and harder to support all different type CPUs?

  • LeFantome@programming.dev
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    2 months ago

    Shortest answer is that RISC-V is Open Source and ARM is proprietary but what does that mean?

    First, it means “freedom” for chip makers. They can do what they want, not what they are licensed to do. There are a lot of implications to this so I will not get into all of them but it is a big deal. There is even a standard way of adding ISA extensions. It makes RISC-V an interesting choice for custom chip makers trying to position themselves as a platform ( think high-end, specialty products ).

    If you are a country or an economy that is being hit with trade restrictions from the Western world ( eg. China ), then the “freedom” of RISC-V also provides you away around potentially being denied access to ARM.

    For chip makers, the second big benefit is that RISC-V is “free” as in beer—no licenses. For chips in laptops or servers, the ISA license is a small part of the expense per unit. But for really high-volume, low-cost use cases, it matters.

    In the ARM universe, middle of the market chip makers license their designs off of ARM ( not just the ISA ). This is why you can buy “Cortex” CPUs from multiple suppliers. Nobody else can really occupy this space other than ARM. In the RISC-V universe, you can compete with ARM not just selling chips but by licensing cores to others. So, you get players like StarV and MilkV that again want to be platforms.

    So, RISC-V is positioned well across the spectrum—somewhat uniquely so. This makes it an excellent bet for building software and / or expertise.

    It is only the ISA that is Open Source though. Unlike some of the other answers here imply, any given RISC-V chip is not required to be any more open than ARM. The chip design itself can be completely proprietary. The drivers can be proprietary. There is no requirement for Linux support, etc. That said, the “culture” of RISC-V is shaping up to be more open than ARM.

    Perhaps because they want to be platforms, or perhaps because RISC-V is the underdog, RISC-V companies are putting more work into the software for example. RISC-V chip makers seem more likely to provide a working Linux disto for example and to be working on getting hardware support into the mainline kernel. There is a lot of support in the RISC-V world for standards for things like firmware and booting.

    With the exception of RaspberryPi, the ARM world is a lot more fractured than RISC-V. You see this in the non-Pi SBC world for example. That said, if we do consider just RaspberryPi, things are more unified there than in RISC-V.

    Overall, RISC-V may be maturing more quickly than ARM did but it is still less mature overall. This is most evident in performance. Nobody is going to be challenging Apple Silicon or Qualcomm X Elite with their RISC-V chips just yet. Not even the Pi is really at risk.

    Eventually, we will also just get completely Open Souce designs that anybody can implement. These could be University research. They could be state funded. They could be corporately donated designs ( older generations maybe ). Once that starts to happen, all the magical things that happened for Open Source software will happen for RISC V as well.

    Open Source puts a real wind at RISC-V’s back though. And no other platform makes as much sense from the very big to the very small.

  • MNByChoice@midwest.social
    link
    fedilink
    arrow-up
    2
    ·
    2 months ago

    RISC-V is better for Linux due to driver support. Vendors making hardware are more likely to use RISK-V for their controllers due to the costs. Modern computers are putting more functions under control of kernels that run on proprietary compute. (There exists a chart showing how little the Linux kernel directly controls.) As more of those devices run RISC-V, they will become more discoverable.
    Also, those that can design or program tge devices will have more transferrable skills. Leading to the best designs spreading, and all designs improving.

    Places in a computer with compute (non-exhaustive, not all candidates for RISC-V):
    BMC
    Soundcard (or subsystem on mainboard)
    Video card (GPU and the controller for the GPU)
    Storage drives
    Networking
    Drive interface controlling card
    Mainboard (not BMC)
    Keyboard
    Mouse
    Monitor
    UPS
    Printer

    Will it be perfect? Nope.
    A lot of the vendors will lock things up as well.

    • tetris11@lemmy.ml
      link
      fedilink
      arrow-up
      1
      ·
      2 months ago

      There exists a chart showing how little the Linux kernel directly controls

      I’d be greatly interested in seeing this chart

        • tetris11@lemmy.ml
          link
          fedilink
          arrow-up
          1
          ·
          2 months ago

          examples he gives are what you’d expect:

          • Linux doesnt control the bootloader
          • Linux doesn’t control power management

          Many systems on the chip that Linux doesn’t have control over, and could be compromised by a cross SoC attack

    • winterayars@sh.itjust.works
      link
      fedilink
      arrow-up
      0
      ·
      edit-2
      2 months ago

      There’s also the fact that Arm doesn’t really work with arbitrary PC style hardware. Unless this got fixed (and there have been some pushes) you have to pretty much hard code the device configuration so you can’t just (for example) pull a failed graphics card and swap a new one and expect the computer to boot. This isn’t a problem for phone (or to an extent: laptop) makers because they’re happy to hard code that info. For a desktop, though, there’s a different expectation.

      RiscV does support this, i believe, so in that sense it fits the PC model better.

      • acockworkorange@mander.xyz
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        I don’t follow. Isn’t the OS’s job to discover hardware? How is the CPU instruction architecture come into play here?

        • winterayars@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          See the start of this post talking about device tree models vs boot time hardware discovery.

          There’s no reason an arm chip/device couldn’t support hardware discovery, but by and large they don’t for a variety of reasons that can mostly be boiled down to “they don’t want to”. There’s nothing about RISC-V that makes it intrinsically more suited to “PC style” hardware detection but the fact that it’s open hardware (instead of Apple and Qualcomm’s extremely locked down proprietary nonsense) means it’ll probably happen a lot sooner.

  • sabreW4K3@lazysoci.al
    link
    fedilink
    arrow-up
    1
    ·
    2 months ago

    Better for Linux? I’m not sure I would say it is. Better for the world in general? When you compare things like power consumption, you can definitely see that in some use cases (the average user), ARM is superior. But for Linux? Maybe by default owing to the fact that it’s more modern. As for RISC-V, the core is open source and “all” the extensions are proprietary, so it’s not as open source as it pretends to be. But it’s definitely better than what we’re currently accustomed to as mainstream.

  • Avid Amoeba@lemmy.ca
    link
    fedilink
    arrow-up
    0
    ·
    edit-2
    2 months ago

    each vendor’s CPU design can differ vastly from one another unlike x86 which is standard and only between amd and Intel.

    The ISA guarantees that a program compiled for it can run on any of these vendor designs. For example native binaries for Android run on any SoC from any vendor with the ARM ISA compiled for. The situation is exactly the same as with x86, Intel and AMD. Their core designs are very different yet binaries compiled for x86 run on either Intel or AMD, and on any of their models, even across different architectures. E.g. a binary compiled for x86_64 would run on AMD Zen 2, as well as Intel Skylake, as well as AMD Bulldozer.

    How is RISC-V better at this?

    It’s better in that it’s free to use. Anyone making a chip implementing RISC-V doesn’t have to pay ARM or Intel for a license. Not that Intel sells them anyway.

    The fragmentation issue might become a new problem. With that said we definitely want to move away from the only usable cores using ARM or x86, neither of which we can design and manufacture without the blessing of two corpos, one of which is a proven monopoly abuser.

      • Laser@feddit.org
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        VIA also built x86 CPUs for some time, they have a license as well; the issue with modern x86_64 is though that basically, you need licenses from both AMD and Intel. They do have a cross-license agreement, but there’s no single point of contact for all licenses for a modern x86 CPU.

      • pivot_root@lemmy.world
        link
        fedilink
        arrow-up
        1
        ·
        2 months ago

        TL;DR: While Intel had their heads shoved up their ass making the Itanium architecture, AMD made a 64-bit variant of x86 that was backward compatible with the older x86 ISA. Technology moved on, and amd64 was adopted while Intel kept trying and failing to push their binary-incompatible architecture.

        Eventually, Intel had to give up and adopt AMD’s amd64 ISA. In exchange for letting them use it, Intel lets AMD use the older x86 ISA.

        • acockworkorange@mander.xyz
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          Itanium also failed miserably in performance and everything else it set out to deliver. While being ridiculously expensive.

        • CameronDev@programming.dev
          link
          fedilink
          arrow-up
          2
          ·
          2 months ago

          AMD were already using the x86 ISA long before amd64.

          https://en.m.wikipedia.org/wiki/AMD

          Intel had introduced the first x86 microprocessors in 1978.[51] In 1981, IBM created its PC, and wanted Intel’s x86 processors, but only under the condition that Intel also provide a second-source manufacturer for its patented x86 microprocessors.[12] Intel and AMD entered into a 10-year technology exchange agreement

          AMD were also second source for some other Intel logic chips before that deal.

          • pivot_root@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            2 months ago

            I was only going for explaining why AMD still continues to have the license to the x86 instruction set in modern times, but I appreciate the added historical context to explain to others how they originally had the rights to use it.