Avalonia 12 crashes on Windows Server 2012 R2 and other older systems so NervaOne Is staying on Avalonia 11.
The error looks like this in the Windows Problem Reports dialog:
Problem Event Name: APPCRASH
Application Name: NervaOneDesktop.exe
Fault Module Name: KERNELBASE.dll
Exception Code: e0434352This is a .NET runtime exception (0xe0434352 = CLR exception code) that surfaces as an unhandled crash at process startup, before the application window even opens. The root cause is not a bug in NervaOne itself — it is a dependency change introduced in Avalonia 12.
Root Cause: Avalonia 12 Bundles SkiaSharp 3.119+, Which Requires DirectX 12
Avalonia 12 upgraded its rendering backend from SkiaSharp 2.x to SkiaSharp 3.119+. This new version of SkiaSharp dropped support for DirectX 11 and now requires DirectX 12 as its Windows rendering backend.
DirectX 12 requires Windows 10 (version 1507 or later) at minimum. Any system running an older version of Windows does not have DirectX 12 and cannot load the SkiaSharp native library. The result is a hard crash at startup — no fallback, no error message, just APPCRASH.
The Avalonia team is aware of this. The issue was reported on GitHub (avaloniaui/Avalonia #20710) and was officially closed as “by-design.” There is no planned fix. Avalonia 12’s minimum supported platform on Windows is Windows 10 build 19045 (22H2).
GitHub issue: https://github.com/AvaloniaUI/Avalonia/issues/20710
Affected Operating Systems
Any Windows version that shipped before DirectX 12 is affected. This includes:
| Operating System | DirectX Version | Affected? |
|---|---|---|
| Windows Server 2012 R2 | DirectX 11.1 | YES – crashes |
| Windows Server 2012 | DirectX 11.0 | YES – crashes |
| Windows 8.1 | DirectX 11.1 | YES – crashes |
| Windows 8 | DirectX 11.0 | YES – crashes |
| Windows 7 | DirectX 11.0 | YES – crashes |
| Windows Server 2008 R2 | DirectX 11.0 | YES – crashes |
| Windows Server 2008 | DirectX 10.1 | YES – crashes |
| Windows 10 early builds (pre-1507) | DirectX 11.3 | YES – crashes |
| Windows 10 (1507 / build 10240+) | DirectX 12 | Works |
| Windows Server 2016 and later | DirectX 12 | Works |
Android
Avalonia 12 also drops older Android support. The officially supported Android tier now requires Android 12 (API level 31) or higher. Devices running Android 8, 9, 10, or 11 may encounter rendering issues or crashes.
Linux
Linux systems without Vulkan support or with very old Mesa drivers may also experience startup failures under Avalonia 12’s new rendering stack.
What We Observed
We confirmed this after trying to run NervaOne on VPS servers with Windows Server 2012 R2. The crash is 100% reproducible:
- NervaOne built with Avalonia 11.3.14 -> starts and runs correctly
- NervaOne built with Avalonia 12.0.x -> crashes immediately on startup
What NervaOne is Doing
NervaOne will NOT be upgrading to Avalonia 12.
We are staying on Avalonia 11.3.14 (the latest 11.x patch release) to maintain compatibility with:
- Windows Server 2012 R2 and older Windows Server editions
- Windows 8.1 and earlier
- Older Android devices (Android 8+)
- Low-end VPS environments
We take compatibility seriously. Many Nerva users run NervaOne on modest hardware and server environments, and we do not want an upstream rendering dependency to silently break the app for those users.
We will revisit the Avalonia 12 upgrade path if the team introduces a software fallback renderer for DirectX 11 systems. Until then, Avalonia 11.3.14 is stable and fully functional for our needs.
Technical Reference
- Avalonia GitHub issue #20710 (closed as by-design):
https://github.com/AvaloniaUI/Avalonia/issues/20710 - Avalonia 12 supported platforms:
https://docs.avaloniaui.net/docs/guides/platforms/platform-support - SkiaSharp 3.x: DirectX 12 required on Windows
NervaOne is an open-source wallet and miner for the Nerva (XNV) cryptocurrency.
Source code: https://github.com/nerva-project/NervaOneWalletMiner
