the one thing linux really hasnt been made on par with winblows yet is the dreadful amount of options for android simulation -the most popular choice seems to be Waydroid, but its such an unneeded hassle to set up at all -genymotion is just slow -and than you have things like android x86 which entirely defeat the point of an emulator

  • 520@kbin.social
    link
    fedilink
    arrow-up
    1
    ·
    edit-2
    11 months ago

    And therefore it means that in addition to doing translation work, they themselves need to implement hardware acceleration. That’s why you see many game emulators requiring DirectX even if the console in question never used it.

    Oh, and 4 of the 5 products you mentioned are not emulators. Of the 5, only QEMU is fully capable of emulation. There is a massive and important difference between virtual machines and emulation.

      • 520@kbin.social
        link
        fedilink
        arrow-up
        1
        ·
        11 months ago

        no, there is no difference between virtualization and emulation.

        Yes there is.

        virtualizations just hardware accelerated emulation. That’s it.

        Actually it’s the opposite: virtualisation does as little emulation as possible. At a high level, it acts more as a ring-fence around native resources than an actual emulator. With most virtualisation, the only things that are getting emulated are minor components with little computing involved like sound and networking cards.

        The reason virtualisation is so fast compared to emulation is because it’s running the code as-is and not translating it.

        If that is the bar, then there are incredibly few Android emulators.

        That is correct. You basically have QEMU and that’s it.

        oftentimes you are emulating GPU.

        Not exactly. If you are not doing GPU passthrough, either fixed or mediated, most virtualisation software use API forwarding for 3D acceleration APIs. That is, the hypervisor passes calls to Vulkan, DirectX, etc, from the guest to the host, has the host’s GPU render it, then pass it back.

        GPU emulation is a very last resort, as the performance is dreadful.