Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Raven

Runs Windows applications on Linux without a VM or Wine setup

Visit website Save

Raven runs Windows applications on Linux x86_64 in a sandbox, using their own installers, with no virtual machine, winetricks or DLL overrides.

Pricing
Open source
Deployment
Self-hosted
Platforms
Linux
884stars33forks
1views
Updated

What is Raven?

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

The program's code runs directly on the CPU inside a sandbox where it cannot reach Linux. Every system call it makes is answered by Raven, which plays the part of the Windows kernel and its services.

Raven requires Linux on x86_64, CMake 3.20 or newer, a C++20 compiler and Python 3.11 or newer. Desktop applications also need Wayland, xkbcommon, pixman, FreeType and Vulkan. It is built from source for now.

Key capabilities

  • Windows system services Implements processes, threads, files, registry access, windows and input for Windows applications running on Linux.
  • Installer execution Supports NSIS, Inno Setup and MSI packages, including custom actions, rollback and elevation.
  • Application prefixes Provides separate Windows drives and registries, with pre-installation snapshots and a prefix restoration command.
  • Graphics translation Uses DXVK and vkd3d-proton for Direct3D applications, with Wayland output and an experimental X11 desktop backend.
  • Runtime compatibility Supports Windows programs using .NET Framework and Visual C++ redistributables, with required components installed into the prefix.
  • Mixed architectures Runs 32-bit and 64-bit Windows programs side by side within the same prefix.
Advertisements

Where Raven fits

Raven fits Linux desktop environments where developers or administrators need to evaluate running Windows applications with their original installers rather than a virtual machine. Separate prefixes allow application-specific Windows environments, while installer snapshots provide a way to restore a prefix after installation changes.

Before deployment, the target application's installation, startup and actual workflows need testing. Build dependencies, desktop graphics requirements and required guest components must be checked, since the minimal build does not cover most desktop software. Some compatibility tests require separately obtained proprietary installers or redistributables and are skipped when those files are unavailable.

Install

git clone https://github.com/mirkobrombin/raven.git
cd raven
cmake -S . -B build -DCMAKE_BUILD_TYPE=RelWithDebInfo
cmake --build build -j2

Reviews of Raven

No reviews yet

Be the first to share your experience with Raven.

Loading review form…

Alternatives to Raven

Compare Raven with these tools →