Difference between revisions of "LIME Is Mediated Emulation"

From Open-IOV
Jump to navigation Jump to search
Line 13: Line 13:
VirtIO-FS provides shared filesystem functionality between host and guest using [https://github.com/libfuse/libfuse FUSE] which is ideal for LIME, however in the context of Windows guests the C version of virtiofsd appears unstable (seen in issue [https://github.com/virtio-win/kvm-guest-drivers-windows virtio-win] issue [https://github.com/virtio-win/kvm-guest-drivers-windows/issues/550 <nowiki>550 [closed]</nowiki>], [https://github.com/virtio-win/kvm-guest-drivers-windows/issues/723 <nowiki>723 [closed]</nowiki>], [https://github.com/virtio-win/kvm-guest-drivers-windows/issues/724 <nowiki>723 [open]</nowiki>]). Testing has been performed by members of the OpenMdev community which have shown initial signs of increased filesystem stability under continuous read/write loads using the Rust version of virtiofsd ([https://gitlab.com/virtio-fs/virtiofsd virtiofsd-rs]).
VirtIO-FS provides shared filesystem functionality between host and guest using [https://github.com/libfuse/libfuse FUSE] which is ideal for LIME, however in the context of Windows guests the C version of virtiofsd appears unstable (seen in issue [https://github.com/virtio-win/kvm-guest-drivers-windows virtio-win] issue [https://github.com/virtio-win/kvm-guest-drivers-windows/issues/550 <nowiki>550 [closed]</nowiki>], [https://github.com/virtio-win/kvm-guest-drivers-windows/issues/723 <nowiki>723 [closed]</nowiki>], [https://github.com/virtio-win/kvm-guest-drivers-windows/issues/724 <nowiki>723 [open]</nowiki>]). Testing has been performed by members of the OpenMdev community which have shown initial signs of increased filesystem stability under continuous read/write loads using the Rust version of virtiofsd ([https://gitlab.com/virtio-fs/virtiofsd virtiofsd-rs]).


While many programs can be stored in the VirtIO-FS shared directory some programs don't want to install programs into the VirtIO-FS drive (seen as a secondary drive in Windows - in LibVF.IO often as driver D:/ if no additional media is attached).
While many programs can be stored in the VirtIO-FS shared directory some programs such as [https://store.steampowered.com/ Steam] don't want to install programs into the VirtIO-FS drive (seen as a secondary drive in Windows - in LibVF.IO often as driver D:/ if no additional media is attached).

Revision as of 15:52, 22 August 2022

LIME Is Mediated Emulation is an in-development feature in LibVF.IO which enables the execution of full performance Win64 binaries with full compatibility for the existing library of all current and future software.

Design Goals

LIME aims to provide similar functionality to WINE Is Not Emulation, Valve's Proton / DXVK but with the use of graphics virtualization (vGPU/SR-IOV on consumer GPUs), a shared filesystem between host/guest, and KVM Frame Relay (high performance graphics buffer sharing via Inter-VM Shared Memory Device / IVSHMEM).

Compared to WINE, and Proton the benefits of this approach are that Win64 binaries execute without the incompatibilities introduced in new games taking advantage of the latest version of DirectX, or when changes are introduced to the latest version of the Win64 ABI.

This functionality is enabled via the use of GVM (for consumer GPU Virtualization), VirtIO-FS, Looking Glass (for host <-> guest shared frame buffer), and LibVF.IO (for orchestration).

Development Status

Development of this functionality is ongoing however an initial demo of this technology can be viewed here, and a blog post about some of the problems LIME is attempting to solve can be read here.

VirtIO-FS provides shared filesystem functionality between host and guest using FUSE which is ideal for LIME, however in the context of Windows guests the C version of virtiofsd appears unstable (seen in issue virtio-win issue 550 [closed], 723 [closed], 723 [open]). Testing has been performed by members of the OpenMdev community which have shown initial signs of increased filesystem stability under continuous read/write loads using the Rust version of virtiofsd (virtiofsd-rs).

While many programs can be stored in the VirtIO-FS shared directory some programs such as Steam don't want to install programs into the VirtIO-FS drive (seen as a secondary drive in Windows - in LibVF.IO often as driver D:/ if no additional media is attached).