Raven runs Windows applications on Linux. You install them with their own installers, the same ones you would use on a PC, and they start: no virtual machine, no winetricks, no DLL overrides.

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

    From the site:

    How does it work?

    A virtual machine boots a guest operating system. Compatibility runtimes such as Wine instead implement the Windows interfaces an application needs.

    Raven runs the .exe directly on the CPU in a supervised guest process. Some Windows functions execute inside that process, in Raven’s guest components or libraries. Requests for supervisor-managed services cross into the runtime outside it, which manages processes, handles, files and registry state and mediates access to the Linux host.

    Raven implements Windows Installer custom actions, side-by-side assemblies through WinSxS and a service manager. These are among the interfaces real installers depend on; application compatibility still needs testing.

    The official redistributables can be installed with their classic installers, like you would on Windows (Visual C++ 2005 to 2022, DirectX, .NET Framework 3.5 and 4.8, XNA and OpenAL). Raven protects its own system libraries during installation. Snapshot creation can fail, so check that a checkpoint exists before relying on rollback. Tested applications can use the vendor’s installer; other applications may still fail to install or start.

    Graphics go straight to Wayland and Vulkan, with DXVK and vkd3d-proton for Direct3D.

    • Ferk@lemmy.ml
      link
      fedilink
      arrow-up
      5
      ·
      edit-2
      16 hours ago

      It’s still unclear where the “Raven’s guest components or libraries” come from… which I think it’s the question that was being asked (given that wine is a reimplementation of the Windows components).

      EDIT: apparently they are using ReactOS implementation of the Windows kernel & system libraries to translate the system calls, and beyond that they use the official Microsoft libraries that need to be installed inside the Raven runtime, like you would install in ReactOS.

      EDIT2: Also apparently there’s some controversy going on because ReactOS is GPL but Raven is getting distributed as MIT, so there’s a bit of a mix of licenses which opened a bit of a debate.