• onlinepersona@programming.dev
    link
    fedilink
    English
    arrow-up
    19
    arrow-down
    2
    ·
    edit-2
    1 year ago

    Imagine Valve going the Apple route: “Fuck it, we will design our own hardware to suit our needs” and making hardware tailored to linux.

    Edit: what about qualcomm’s new ARM: Snapdragon X Elite?

    • gornius@lemmy.world
      link
      fedilink
      arrow-up
      17
      arrow-down
      1
      ·
      1 year ago

      I think ARM is their end goal, it’s really the only option for a handheld console, as today ARM is the only way you’ll get enough performance/power rate to make it both good on battery with good enough performance.

      Win-win for everyone if they invest in an open source x86 to ARM project, similar like they did with Wine.

      • kadu@lemmy.world
        link
        fedilink
        arrow-up
        15
        ·
        1 year ago

        The Switch is more than proof enough that pretty much any modern game engine can compile to an ARM target with zero issues (though Nvidia’s low level APIs help, not sure about Qualcomm).

        But there’s zero chance older PC games would ever be updated, and by older I don’t mean ancient, some AAA studios stop issuing updates in about one year after release.

        So it all comes down to being able to emulate X86 on ARM… The best example we have is Apple, and games run but with a massive performance hit. Microsoft’s implementation is borderline unusable. I’m not sure what to expect from Valve.

        • Dani551
          link
          fedilink
          arrow-up
          5
          ·
          1 year ago

          Checkout Box86/64 and Fex-Emu. They both do x86 translation/emulation on ARM Linux and the results are wayy better than any reasonable expectations I had going in.

        • Gyoza Power
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          I wouldn’t say you get that much of a performance hit with Apple games when emulating X86. Rosetta works pretty great for games that are already on macOS but as X86 games. The problem is emulating for Windows games that are also on X86.

          • bamboo@lemm.ee
            link
            fedilink
            arrow-up
            2
            ·
            1 year ago

            It really depends on the game. If the game was truly native, usually the Rosetta performance is good. A lot of games though are JIT, and running a JIT inside a JIT is terrible for performance. The good news is that a game already being JIT is probably easier to patch to be native, for example people have had success replacing the mono runtime used by terraria with a native one and seeing good performance improvements, or running Minecraft on a native JVM. The bad news is it doesn’t necessarily mean the developers will actually update the thing, and mods like this are unlikely to appeal to the vast majority of people.

        • frezik@midwest.social
          link
          fedilink
          arrow-up
          2
          arrow-down
          1
          ·
          1 year ago

          A lot of that comes down to Unreal and Unity. They have targets built in for everything. Even a web browser if you want.

      • Linkerbaan@lemmy.world
        link
        fedilink
        arrow-up
        11
        arrow-down
        3
        ·
        edit-2
        1 year ago

        Nah ARM is barely more efficient than X86. As soon as AMD went TSMC 3nm they got almost similar power efficiency. As the Apple M chips.

        Apples “magic sauce” is just being the first one on the new TSMC nodes.

        • frezik@midwest.social
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          AMD is getting there by optimizing the shit out of memory access and cache. RISC designs by nature have far simpler memory models. AMD has to throw tons of resources into making the x86 pig stay in the air, and they’re already flirting with a move towards ARM.

          Most of the people who know how to keep that pig flying already work at AMD or Intel. They certainly don’t work at VIA Technologies (the third x86 company that nobody talks about, for a good reason). In contrast, any given Fortune 500 could probably hire an ARM team to make a custom chip for their needs provided they had a good enough reason.

          • Linkerbaan@lemmy.world
            link
            fedilink
            arrow-up
            1
            arrow-down
            1
            ·
            1 year ago

            Bruh just check, whenever Apple makes massive performance gains it’s on a new TSMC node.

            I’m not gonna bullshit you and say AMD and Intel do nothing, sure they got some amazing tricks. But in the end it’s mostly TSMC making everyone’s chips faster and more power efficient.

            New Nvidia GPU’s magically got power efficient. Why? Check the node of the 3000 series and the 4000. AMD is currently way less power efficient in GPU. Why? They’re not on the latest node like Nvidia.

            • frezik@midwest.social
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              What I’m getting at is there are factors that affect the broader market. Having more people and companies able to work on processors means greater possibility of variation, and therefore has an evolutionary advantage.

              There are three x86 companies, and there’s not likely to be any others. VIA is barely worth talking about. AMD is currently killing it, but it wasn’t always that way. Over a decade ago, a combination of bad decisions at AMD, good decisions at Intel, and underhanded tactics at Intel made AMD nearly collapse. Intel looked smug on its throne, and sat on the same fundamental architecture and manufacturing node for a long time.

              This was a bad situation for the entire computer industry. We were very close to Intel being all that mattered, and that would have meant severe stagnation. ARM (and RISC-V) being more viable helps keep that from happening again.

              • Linkerbaan@lemmy.world
                link
                fedilink
                arrow-up
                1
                arrow-down
                1
                ·
                1 year ago

                While partially true, the biggest problem is software compatibility. Most software is compiled and optimized for X86 and it won’t run on ARM unless recompiled.

                How are we going to get everyone to jump ship? Apple had their magic emulation sauce but windows doesn’t seem to have that and especially not for Risc5

                • frezik@midwest.social
                  link
                  fedilink
                  arrow-up
                  1
                  ·
                  1 year ago

                  Much of what people do on computers these days is through a web browser. An even bigger market is servers, which often run Linux and can port things into ARM with less hassle.

                  People put far too much weight on games.

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

        I’m no expert so id love to be proven wrong but Emulation has more of an overhead than a translation layer, so that probably wouldn’t work as well

        • uis@lemmy.world
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          Not sure what point you trying to make. Translation is just one of ways to emulate.

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

            Emulation is from one architecture to another, translation layers like wine just translate windows instructions to linux, see also: every WIP ps4 “emulator” is just a translation layer, and doesn’t have the over head that it would if it was your traditional emulator

            • uis@lemmy.world
              link
              fedilink
              arrow-up
              6
              ·
              edit-2
              1 year ago

              This… Is not exactly how it works.

              The way windows ABI works is syscalls always should go through dynamic libraries first, while on linux syscalls do syscall instruction/*. How windows syscalls work allows project like WINE just implement those libraries that will do linux syscalls. No instructions translated.

              But with other architectures story is different. You either make instruction decoder for processor, make interpreter or make binary translator. First is itanium-way, second is naive way and third is how everyone does. Third is basically compiling one machine code to another. It has overhead of, well, compiling one machine code to another. And it works badly with other JIT compilers.

              *there is vDSO, which is dynamic library, that implements syscalls like getting time. It is totally optional.

              • frezik@midwest.social
                link
                fedilink
                arrow-up
                1
                ·
                1 year ago

                One thing you can do is translate 3d APIs. This sometimes makes 3d consoles easier to emulate than 2d consoles. PS1 emulation was basically solved when SNES emulation was playable but still had noticeable bugs.

        • frezik@midwest.social
          link
          fedilink
          arrow-up
          1
          ·
          1 year ago

          You don’t really “tailor” hardware to Linux. You release a driver without a dumb binary blob requirement, or at least document your hardware enough for a kernel hacker to pick it up.

          • onlinepersona@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            1 year ago

            What you mean “you don’t tailor it to linux”. Sure you can. You can optimize hardware to take over certain tasks. There are entire chips out there made explicitly for certain workloads like encryption, neural networks, RAID, encoding, decoding, mining crypto, what have you. Do you really think there’s absolutely nothing in the linux kernel that couldn’t be optimized away into hardware?

    • FaeDrifter@midwest.social
      link
      fedilink
      English
      arrow-up
      3
      arrow-down
      1
      ·
      1 year ago

      Won’t ever happen, Apple is a hardware and device company that also makes software to go with it; Valve is a software company that also makes hardware to go with it.

      And to go arm would mean throwing out the majority of their current store. Plus arm gaming performance is trash, apples chips struggle to run games 10 years old at 1080p 60fps.

      • onlinepersona@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        Apple made its own chips with the Woz and then became a software company with that dude who got cancer. Only with the M1 did they design their own hardware again. Or am I getting this wrong?

        What’s to stop Valve from owning the vertical?

        And to go arm would mean throwing out the majority of their current store.

        That really depends on the game studio support or how good the translation is. Wine games sometimes have better performance than when running on Windows (how they do that magic is beyond me), but adding another layer to translate from x86 to ARM isn’t insane. Even Apple wants to do it and they hate compatibility.

        Plus arm gaming performance is trash, apples chips struggle to run games 10 years old at 1080p 60fps.

        Apple is trash - that we can agree on, but does the chipset really hinder an APU from getting a better GPU? Nvidia is going to enter the ARM space and if they have an inbuilt GPU to make it an APU, then it might blow the Apple chips out of the water in terms of gaming.

        Anyway, all I’m saying is I’d welcome “Made for Linux” hardware.

    • cordlesslamp@lemmy.today
      link
      fedilink
      arrow-up
      6
      arrow-down
      6
      ·
      1 year ago

      Aren’t the AMD in Deck 1 using x86 architecture? It would be impossible to change to ARM now. That would mean starting at square 1 and redesigning everything. And games compatibility would be thrown out the window.

      • uis@lemmy.world
        link
        fedilink
        arrow-up
        6
        arrow-down
        2
        ·
        1 year ago

        And games compatibility would be thrown out the window.

        Computer is like AC. It becomes useless the second you open Windows.

        Developers already did half of work for porting on ARM: they ported on Linux.

        • foggenbooty@lemmy.world
          link
          fedilink
          English
          arrow-up
          2
          ·
          1 year ago

          The whole point of the Steam Deck for me is playing my older games. Unless they get x86 translation working without a performance hit them I’d rather they stay on x86.

            • Chobbes@lemmy.world
              link
              fedilink
              arrow-up
              1
              ·
              1 year ago

              It’s going to depend. If it’s a really old game it’s unlikely to matter. Anything heavy on CPU and particularly single core performance may struggle through a translation layer. A good translation layer on a good chip will probably lead to roughly similar performance in many cases, and most games seem to be GPU limited, so it’s possible it will just work out most of the time. It could always be the case that a critical section of the code somewhere ends up not translating well, leading to poor performance. It would not be terribly surprising for an important loop to end up two or four times slower than it should be, which could cause hiccups.

          • frezik@midwest.social
            link
            fedilink
            arrow-up
            1
            arrow-down
            2
            ·
            1 year ago

            If the Deck can gain critical mass, they’ll be able force the issue. They’re already doing it with targeting Linux. The Switch is ARM, and the Switch2 leaks suggest it’ll be a better ARM chip, so devs are already targeting it.

            Unreal/Unity already go to ARM pretty easily, so it’s not a huge deal.

            • foggenbooty@lemmy.world
              link
              fedilink
              English
              arrow-up
              1
              ·
              1 year ago

              I don’t see the Deck as a critical mass device, and if Valve choses to make it one I will probably no longer be interested. The Deck is great because you can tinker to your heart’s content in an open system. That just isn’t going to fly if Valve decides they want to be the next Xbox or Switch.

              Everyone is losing their shirt over ARM because Apple is producing some insanely expensive chips on it that have high performance. I’m not saying ARM doesn’t have some advantages, but I think that’s a long way out from going into something like the Deck where compatibility is everything. The switch being ARM has nothing at all to do with this conversation.