• @[email protected]
    link
    fedilink
    English
    351 month ago

    Emulation.

    Definitely going to incur a performance hit relative to native code, but in principle it could be perfectly good. It’s not like the GPU is running x86 code in the first place. On macOS, Apple provides Rosetta to run x86 Mac apps, and it’s very, very good. Not sure how FEX compares.

      • Rustmilian
        link
        English
        1
        edit-2
        1 month ago

        Thanks. That answers the part I couldn’t.

        So it’s using Virtualization for the x86_64 bits, while the DirectX11 bits are being translated by WineD3D into OpenGL as normal and the Asahi Linux OpenGL driver executes that on the GPU.

        Edit : I asked about it at the start of her steam apparently, the real Asahi driver is directly interacting with the with the game running in the VM.

        • @[email protected]
          link
          fedilink
          11 month ago

          I thought FEX was dealing with the x86_64 translation and the VM was converting 4K to 16K page sizes

          • Rustmilian
            link
            English
            1
            edit-2
            1 month ago

            It’s a bit hard to understand what she was saying because she likes super low level, even for me. But she’s was talking about how the VM is created & then the driver gets mapped directly into the VM. It’s a really interesting concept.
            I’ll have to go back when the steam ends and pay closer attention to further grasp it.

            • @[email protected]
              link
              fedilink
              11 month ago

              It really is cool, miniature VMs are such a good concept for security like QubesOS but actually possible.

              ChromeOSs Linux VM is also crazy. It is a VM, running a container image. Actually is that krun?? It seems similar.

              Then the stuff is streamed to the wayland compositor and displayed like regular windows.

              Such a cool, secure and minimalist concept.

              • Rustmilian
                link
                English
                1
                edit-2
                1 month ago

                Speak of containers, you just reminded me of Waydroid, such a cool underrated project.
                All this stuff is really really cool. Anything that allows running software from completely different OS’s and Architectures are just a wonder and they help with software preservation which is very important to me.

                • @[email protected]
                  link
                  fedilink
                  11 month ago

                  Poorly Waydroid is just vaguely secure on Distros that use SELinux, as Android uses it as a major part of its app sandboxing (called SEAndroid).

                  So if you run Waydroid on Ubuntu, which will be the most common way, (and to my knowledge was the first possible one, until aleasto packaged it on Fedora), you will have no sandboxing at all.

                  Also the Waydroid container runs as root, even though unprivileged containers can also get access to all the stuff needed. Most notably, Bluetooth doesnt even work, even though Waydroid runs as root, lol.

                  Waydroid is a perfect exable of a hacked solution simply ran as root, to circumvent any real solutions for the needed access.

                  Also it uses Android 11, which for some reason I forgot was easier to port.

                  The concept is cool though, just needs

                  1. Upgrading to Android/GrapheneOS 14
                  2. Running in a rootless and restricted container
                  3. OR running in a VM, so that SELinux can work on all distros
                  • Rustmilian
                    link
                    English
                    1
                    edit-2
                    1 month ago

                    Waydroid uses LXC in the backend, this should help with your networking issues, and 3rd party tools allow for installing Android 13 on it, among ARM translation layers & Magisk.