Could not CreateWindow(): IWindowingPlatform is not registered
stefanwatt opened this issue · 1 comments
I compiled from source and I get this error when trying to launch fvim:
Unhandled exception. System.Exception: Could not CreateWindow(): IWindowingPlatform is not registered.
at Avalonia.Controls.Platform.PlatformManager.CreateWindow()
at Avalonia.Controls.Window..ctor()
at FVim.CrashReport..ctor()
at FVim.Program.startCrashReportWindow(FSharpFunc`2 app, Exception ex)
at FVim.Program.Main(String[] args)
[1] 56833 IOT instruction (core dumped) /home/stefan/Projects/fvim/bin/Release/net6.0/linux-x64/publish/FVim
My System:
$ dotnet --list-runtimes [23:47:42]
Microsoft.AspNetCore.App 6.0.25 [/nix/store/k1ld6p66rdvzlcqhrnmhgllycr745490-dotnet-sdk-6.0.417/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 6.0.25 [/nix/store/k1ld6p66rdvzlcqhrnmhgllycr745490-dotnet-sdk-6.0.417/shared/Microsoft.NETCore.App]
stefan@nixos: ~
$ dotnet --version [23:51:31]
6.0.417
Am I missing dependencies? ChatGPT suggested libX11 might be an issue, but it's installed on my system, too. Maybe it can't fight it under the usual path cause I'm using nixos?
I also ran into this issue on NixOS.
I found the libraries that were failing to be loaded by using strace dotnet bin/Release/net6.0/FVim.dll
.
Here is the flake containing the devShell I was able to get FVim
to run with:
{
inputs = {
nixpkgs.url = "github:NixOS/nixpkgs/nixos-unstable";
};
outputs = { self, nixpkgs }:
let pkgs = nixpkgs.legacyPackages.x86_64-linux.pkgs;
in
{
devShells.x86_64-linux.default = pkgs.mkShell rec {
buildInputs = with pkgs; [
bashInteractive
dotnet-sdk_6
dotnet-runtime_6
xorg.libX11
xorg.libX11.dev
xorg.xorgserver
xorg.libXcursor
xorg.libXcursor.dev
xorg.xrandr
xorg.libXrandr
xorg.libXrandr.out
xorg.libXrandr.dev
xorg.libXi
xorg.libXi.dev
xorg.libXext
xorg.libXext.dev
xorg.libICE
xorg.libICE.dev
xorg.libSM
fontconfig
libz
libz.dev
];
shellHook = ''
export LD_LIBRARY_PATH=${pkgs.lib.makeLibraryPath buildInputs}
'';
};
};
}
I'm not sure if both lib
and lib.dev
are required in buildInputs
.
For anyone encountering this in the future, the libraries Avalonia requires to launch are libX11
, xorgserver
, libXcursor
, libXrandr
, libXi
, libXext
, libICE
, libSM
, libz
, and fontconfig