Skip to main content

Supported platforms

Avalonia apps can target Windows, macOS, Linux, iOS, Android, and WebAssembly. The level of support varies by operating system version, organised into three tiers. These tiers are reviewed with each major Avalonia release, so platforms may move between tiers over time.

Support tiers

Tier 1: Fully tested and supported

Tested against every release. Bugs on Tier 1 platforms get fixed. Community PRs are actively reviewed and merged.

Tier 2: Best effort

Not part of the test matrix, but kept working on a best-effort basis. Issues are deprioritised behind Tier 1 work and some may never get fixed. Community PRs are evaluated case by case, and fixes may need to be backed by a commercial engagement if the maintenance burden is significant.

Tier 3: Commercial support only

Any platform not listed in Tier 1 or Tier 2. Issues will be closed and PRs will not be reviewed. If you need Avalonia on a Tier 3 platform, see Enhanced Support or Professional Services.

Windows

Avalonia uses the Win32 API directly on Windows. No additional workloads or dependencies are needed beyond the .NET SDK.

VersionMinimum buildArchitecturesTier
Windows 1124H2 (build 26100)x64, ARM64Tier 1
Windows 1122H2 (build 22621)x64, ARM64Tier 2
Windows 1022H2 (build 19045)x64Tier 2
Windows 10 / 11Earlier buildsx64, x86Tier 3

For WinForms interop and other Windows-specific features, see the Windows platform guide.

macOS

Avalonia ships its own native Objective-C++ backend and does not use the standard .NET macOS workload. Apps can be cross-compiled from Windows or Linux.

VersionNameArchitecturesTier
macOS 26TahoeARM64 (Apple Silicon), x64Tier 1
macOS 15SequoiaARM64, x64Tier 2
macOS 14SonomaARM64, x64Tier 2
macOS 13 and earlierTier 3

For native menus, platform conventions, and embedding native views, see the macOS platform guide.

iOS and iPadOS

.NET support on iOS follows the MAUI lifecycle. When Microsoft drops support for a mobile OS version under the MAUI support policy, our support for that version ends too.

VersionArchitecturesTier
iOS / iPadOS 26ARM64Tier 1
iOS 18.xARM64Tier 2
iOS 17.x and earlierARM64Tier 3

Minimum .NET version: .NET 10.0. Mobile .NET versions follow the MAUI support policy. Microsoft removed .NET 8 mobile workloads from the .NET 10 SDK, so .NET 8 iOS builds are not available when using the .NET 10 SDK.

For setup instructions, see the iOS platform guide.

Android

.NET support on Android follows the MAUI lifecycle. When Microsoft drops support for a mobile OS version under the MAUI support policy, our support for that version ends too.

VersionAPI levelArchitecturesTier
Android 16API 36ARM64, x64Tier 1
Android 12 to 15API 31 to 35ARM64, ARM32, x64Tier 2
Android 11 and earlierAPI 30 and belowTier 3

Minimum .NET version: .NET 10.0. Mobile .NET versions follow the MAUI support policy. Microsoft removed .NET 8 mobile workloads from the .NET 10 SDK, so .NET 8 Android builds are not available when using the .NET 10 SDK.

For setup instructions, see the Android platform guide.

Desktop Linux

Avalonia targets X11 directly on Linux. Wayland support is currently in private preview. Most distributions that support the .NET SDK and have X11 or framebuffer capabilities will run Avalonia applications.

DistributionVersionArchitecturesTier
Ubuntu25.xx64, ARM64Tier 1
Fedora43x64Tier 1
Debian13 (Trixie)x64, ARM64Tier 1
Ubuntu16.04 to 24.xx64, ARM64Tier 2
Fedora30 to 42x64Tier 2
Debian9 (Stretch) to 12x64, ARM64Tier 2
Other distributions(Arch, Alpine, NixOS, Gentoo, and others)VariesTier 3

Rendering: OpenGL via Skia (X11), software rendering (framebuffer). glibc requirement: Skia is built against glibc 2.17. Distributions using a different C library (such as musl) require a custom libSkiaSharp.so build. See SkiaSharp for details. Distributions that need a custom Skia build are Tier 3.

Required packages:

libx11-6 libice6 libsm6 libfontconfig1

For WSL 2 and other configuration details, see the Linux platform guide.

Embedded Linux

Avalonia supports running on embedded Linux devices without a desktop environment using either the Linux framebuffer or DRM (Direct Rendering Manager).

DistributionArchitecturesRuntime identifierTier
Raspberry Pi OSARM64, ARM32linux-arm64, linux-armTier 1
Other embedded LinuxVariesVariesTier 3

Required packages: libgbm1, libgl1-mesa-dri, libegl1-mesa, libinput10

For display output configuration and device setup, see the Embedded Linux guide.

WebAssembly

Avalonia runs in any browser with full WebAssembly support. No server-side component is required.

RequirementDetails
.NET version.NET 8 or later
Browser supportAll browsers with WebAssembly support (Can I use WebAssembly)
RenderingSkia via CanvasKit (WebGL)

For setup and deployment, see the WebAssembly platform guide.

.NET version requirements

TargetMinimum .NET versionNotes
Desktop (Windows, macOS, Linux).NET 8.0Follows standard .NET LTS support.
iOS / Android.NET 10.0Mobile .NET versions follow the MAUI support policy. .NET 8 mobile workloads are not available in the .NET 10 SDK.
WebAssembly.NET 8.0

Contributing platform-specific fixes

Platform-specific contributions are welcome, but they need to align with the tiers above to keep the project healthy.

Tier 1 fixes are always welcome and go through the normal review process.

Tier 2 fixes are evaluated case by case. The review considers the complexity involved, the risk of regression to Tier 1, and the ongoing maintenance cost. If the maintenance burden is significant, the work may need to be backed by a commercial engagement.

Tier 3 fixes require a commercial engagement before review. This applies no matter how small the change looks, because the cost is not in the patch itself, it is in maintaining and testing it release after release.

If you are not sure whether your contribution needs a commercial engagement, ask before you start work to save time up front.

See also