• gandalf_der_12te@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    62
    ·
    edit-2
    2 days ago

    Our hardware has its own problems.

    We rely way too much on x86 and ia64 architecture, both of which have only two big manufacturers in the world. That’s not good because it’s almost monopolies.

    It would be better to have simpler chipsets that can be produced by more manufacturers worldwide, and especially ones that can be produced by smaller regional manufacturers.

    On top of that we shouldn’t distribute compiled binaries for the x86 and ia64 chipsets; instead program code should be distributed like .wasm, in a hardware-independent way, and compiled on the target device. That would enable that hardware can use any chipset it wants and there are no software incompatibilities because of it.

    • AdrianTheFrog@lemmy.world
      link
      fedilink
      English
      arrow-up
      3
      ·
      1 day ago

      On the high performance compute / GPGPU side the AdaptiveCPP JIT compiler seems very good for cross-platform operation

    • certified_expert@lemmy.world
      link
      fedilink
      English
      arrow-up
      51
      ·
      2 days ago

      RISC-V

      • royalty free
      • future-proof
      • extensible
      • base ISA is 40 instructions!
      • beautifully documented
      • can perform in a range of situations, from embedded to many-cores servers!
      • can handle petabytes of memory (the higher schemes)
      • no nonsense historic compatibility drag.
    • eleitl@lemmy.zip
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      OpenBoot at Sun and Apple had a ggo thing going for a while. Too bad they didn’t release it as open source. In theory you could deliver architecture-independent drivers that ship as firmware on device.

    • nyan@lemmy.cafe
      link
      fedilink
      English
      arrow-up
      12
      arrow-down
      5
      ·
      2 days ago

      On top of that we shouldn’t distribute compiled binaries for the x86 and ia64 chipsets; instead program code should be distributed like .wasm, in a hardware-independent way, and compiled on the target device. That would enable that hardware can use any chipset it wants and there are no software incompatibilities because of it.

      You’re describing Gentoo Linux . . . which is not especially popular among Linux distributions even though it runs on just about anything. There may be a reason for that.

      • krooklochurm@lemmy.ca
        link
        fedilink
        English
        arrow-up
        22
        ·
        edit-2
        2 days ago

        Well, they’re talking about something lower level than the operating system. For one.

        Secondly, every distro is inferior to the only perfect thing mankind has ever created: Hannah Montana Linux. If you’re using anything else you may as well just break your computer and drink cyanide.

        • Alaknár@sopuli.xyz
          link
          fedilink
          English
          arrow-up
          6
          ·
          1 day ago

          If you’re using anything else you may as well just break your computer and drink cyanide

          Unless it’s TempleOS.

    • melfie@lemy.lol
      link
      fedilink
      English
      arrow-up
      6
      arrow-down
      1
      ·
      2 days ago

      I have been waiting impatiently for WASM to really take off. I’d imagine that some day, it will be the most popular way to build software.

        • gandalf_der_12te@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          6
          arrow-down
          1
          ·
          1 day ago

          But isn’t WASM for web browsers

          not really, no. WASM is a generic hardware-independent format for instructions. it’s like instructions for a virtual CPU, not a real one. it gets translated into the instructions for the real processor on the target device. in this way, it can run on any hardware.

          comparing it to other setups such as java or javascript (which are also both hardware-independent), it runs much faster because it is much hardware-oriented, while java and javascript require abstract features such as a garbage collector, which makes real-time processes impossible.

          • fonix232@fedia.io
            link
            fedilink
            arrow-up
            3
            ·
            15 hours ago

            See the main issue with that is you need to bundle everything into the app.

            Modern computing is inherently cross-dependent on runtimes and shared libraries and whatnot, to save space. Why bundle the same 300MB runtime into five different apps when you can download it once and share it between the apps? Or even better, have a newer, backwards compatible version of the runtime installed and still be able to share it between apps.

            With WASM you’re looking at bundling every single dependency, every single runtime, framework and whatnot, in the final binary. Which is fine for one-off small things, but when everything is built that way, you’re sacrificing tons of storage and bandwidth unnecessarily.

            • gandalf_der_12te@discuss.tchncs.de
              link
              fedilink
              English
              arrow-up
              3
              arrow-down
              1
              ·
              edit-2
              6 hours ago

              With WASM you’re looking at bundling every single dependency, every single runtime, framework and whatnot, in the final binary.

              you just don’t know what you’re talking about. wasm has a module-import structure with which you can link libraries at program start-up, and some wasm runtimes also offer possibilities for linking libraries at run-time.

              • fonix232@fedia.io
                link
                fedilink
                arrow-up
                2
                ·
                4 hours ago

                Oh, good to know. Last time I checked around WASM this wasn’t really an option.

        • Natanael@infosec.pub
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 day ago

          WASM was made for browsers but can run anywhere. You can cross compile any language to it.

          The trickier problem is compiler time hardware optimization, but there’s talks about appending architecture specific optimization hints for the runtime, so you can let the compiler search for optimal implementations when creating the bytecode so the JIT engine doesn’t have to. (that does mean you’re essentially compiling multiple times while creating the bytecode, but for performance sensitive software it’s worth it)

        • eldebryn@lemmy.world
          link
          fedilink
          English
          arrow-up
          1
          ·
          1 day ago

          A bunch of desktop apps use electron anyways as a runtime. WASM could allow us to have better/more reliable software that doesn’t rely on JS, which isn’t ideal for many use cases.

          Is it efficient? Definitely not, but for system apps we have other choices which are more performant like C and Rust. These days 90% of the software people use are either web apps in a browser or web apps with an electron gui running outside their browser but inside the Electron browser: P.

    • Alphane Moon@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      arrow-down
      1
      ·
      2 days ago

      How is performance though?

      And honestly ARM isn’t that much than x86 in terms of freedom and competition.

  • oce 🐆@jlai.lu
    link
    fedilink
    English
    arrow-up
    120
    arrow-down
    4
    ·
    3 days ago

    Does that mean I will have more choice in which surveillance agency I want to be spied by?

    • Cethin@lemmy.zip
      link
      fedilink
      English
      arrow-up
      8
      ·
      1 day ago

      It’s about national security. They don’t want to risk using something that they don’t control for the same reason the US doesn’t want to risk using something they don’t control. It’s why Intel probably can’t fail. If Intel goes down then the US doesn’t have a strong native CPU producer.

      • wewbull@feddit.uk
        link
        fedilink
        English
        arrow-up
        50
        ·
        edit-2
        2 days ago

        My thoughts are “Why do they need one?”. It’s not like UEFI stops you doing anything.

        UBIOS’s unique features over UEFI include increased support for chiplets and other heterogeneous computing use-cases, such as multi-CPU motherboards with mismatching CPUs, something UEFI struggles with or does not support. It will also better support non-x86 CPU architectures such as ARM, RISC-V, and LoongArch, the first major Chinese operating system.

        [citation needed]

        I would say this is about increasing the level of control of the platform, not about technological issues.

        Edit: For example, here’s the RISC-V UEFI specification.

        • HertzDentalBar@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          10
          arrow-down
          1
          ·
          2 days ago

          It’s about having a home grown option. Can’t trust Americans not to backdoor everything, and that generally conflicts with China’s desire to backdoor everything.

          • WhyJiffie@sh.itjust.works
            link
            fedilink
            English
            arrow-up
            11
            ·
            2 days ago

            america cannot really backdoor a specification. uefi is not software, but a specification, upon which firmwares can be built. that’s another story that we happen to be calling the firmware on our computers “the uefi”, but really there are quite a few different proprietary uefi implementations out there already.

            so, if that ws the reason, they could have just created their own UEFI firmware, and not something different

            • Tangent5280@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              22 hours ago

              Hey you sound like someone who knows what they are talking about - is UBIOS also a specification like UEFI is a specification? Hypothetically could others also build firmware that adheres to this UBIOS specs?

              • WhyJiffie@sh.itjust.works
                link
                fedilink
                English
                arrow-up
                1
                ·
                20 hours ago

                this post was the first time I heard about UBIOS, so I’m not sure, but if the article is right then yes it is a specification. and if the documents are publicly accessible, then others could hypothetically make their own firmware that is (on paper) compatible.

                but there’s more to it. the reason libreboot and coreboot support so few boards is that unless you can get technical documentation from the board manufacturer about how do the components on the motherboard work, its very hard to create a working firmware. reverse engineering this kind of thing is very hard and very time consuming. even the UEFI specification only tells what should the firmware present to the user and the operating system, it leaves lots of things undefined about how should it interact with the hardware, but that’s ok because that’s not the point of it.
                then the board manufacturer is able to implement firmware verification that cryptographically prevents third party firmware from being used. on android, the boot process is a long chain of bootloaders, where the first one is stored in physically read-only storage and does not continue booting if the secondary bootloader has been replaced with an unauthorized implementation. when you unlock your phones bootloader to install a better android, you basically configure the secondary bootloader to accept booting a third party system. but if the manufacturer didn’t want to let you do it, they could just take this function away. also, the UBIOS specification could be incomplete, missing specification for some functionality that is necessary for an operating system to work with it. that can be a mistake or intentional.

        • CosmoNova@lemmy.world
          link
          fedilink
          English
          arrow-up
          12
          ·
          2 days ago

          Control is the most important thing to the CCP so it makes complete sense from their perspective. We would be free to buy into it but they would definitely force it on devices within China.