WPF, beyond Windows
LibreWPF
Keep the WPF programming model. Change the platform beneath it.
Overview
A portable WPF runtime and SDK that retains familiar managed WPF source and XAML while rendering through ProGPU and Silk.NET.
LibreWPF keeps the WPF application model and redirects the platform below it. The work combines transported managed WPF sources, a portable SDK, and a ProGPU compositor so existing XAML knowledge remains useful beyond Windows.
Source-compatible WPF XAML
macOS, Linux, and Windows
ProGPU/WebGPU composition
Portable SDK switch
Built for
Where it fits.
- WPF maintainers evaluating a portable future
- Framework engineers studying compatibility layers
- Desktop teams with deep WPF domain investment
Compatibility & status
Primary goal
Preview
Preview
Preview
In the work
Real output,
not a mockup.

Architecture
Clear layers.
Replaceable seams.
Application
A familiar public programming model defines the app.
Framework
Managed services coordinate layout, input, resources, and lifecycle.
Platform
Portable adapters connect rendering and operating-system services.
Quick start
From package
to first frame.
Choose the package workflow used by your repository, then start from the smallest working example. Replace VERSION with the current stable or prerelease version shown on NuGet.
<Project Sdk="LibreWPF.Sdk/0.1.0-preview.15"> <PropertyGroup> <OutputType>WinExe</OutputType> <TargetFramework>net10.0-windows</TargetFramework> <UseWPF>true</UseWPF> </PropertyGroup></Project><PackageReference Include="LibreWPF.Sdk" Version="VERSION" /><PackageVersion Include="LibreWPF.Sdk" Version="VERSION" />dotnet restoredotnet runPackage surface
Start focused.
Compose as needed.
Source, docs, samples, and releases
The repository is the source of truth.
Use the current documentation and samples, inspect changes, report issues, or support continued open-source maintenance.