Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Raspberry Pi arm64 error #3104

Closed
DrZhong opened this issue Oct 14, 2019 · 7 comments
Closed

Raspberry Pi arm64 error #3104

DrZhong opened this issue Oct 14, 2019 · 7 comments
Milestone

Comments

@DrZhong
Copy link

DrZhong commented Oct 14, 2019

https://www.nuget.org/packages/Avalonia.Skia.Linux.Natives/1.68.0.2
does't work with Raspberry Pi arm64

Unhandled Exception: System.DllNotFoundException: Unable to load shared library 'libSkiaSharp' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: liblibSkiaSharp: cannot open shared object file: No such file or directory at SkiaSharp.SkiaApi.gr_glinterface_assemble_gl_interface(IntPtr ctx, IntPtr get) at SkiaSharp.GRGlInterface.AssembleGlInterface(Object context, GRGlGetProcDelegate get) at SkiaSharp.GRGlInterface.AssembleGlInterface(GRGlGetProcDelegate get) at Avalonia.Skia.PlatformRenderInterface..ctor() at Avalonia.Skia.SkiaPlatform.Initialize() at Avalonia.Controls.AppBuilderBase1.Setup()
at Avalonia.Controls.AppBuilderBase1.Start(AppMainDelegate main, String[] args) at UdsUI.Program.Main(String[] args) in /home/curtisy/Projects/Avalonia/UdsUI/Program.cs:line 12

@kekekeks kekekeks added this to the 0.10 milestone Oct 14, 2019
@jclapis
Copy link
Contributor

jclapis commented Feb 7, 2020

I ran into this today as well. I worked around it by building v1.68.1.1 for ARM64 on the Pi itself, and dropping the resulting libSkiaSharp.so file directly into the output directory of my Avalonia app (so it's in the same dir as SkiaSharp.dll). My app ran fine on the Pi after that. I've attached the SO here in case anyone wants to try using it until official support is added.

libSkiaSharp.zip

@Gillibald
Copy link
Contributor

Did you use the bootstrapper provided by SkiaSharp to build or did you manually run the build? Ideally, we would cross-compile it but haven't figured out to do that.

@jmacato
Copy link
Member

jmacato commented Feb 7, 2020

easier solution right now would be to use JellyFin's SkiaSharp lib for ARM
https://www.nuget.org/packages/Jellyfin.SkiaSharp.NativeAssets.LinuxArm/

@jmacato
Copy link
Member

jmacato commented Feb 7, 2020

@Gillibald we need to figure out how to x-compile these libs for our own SkiaSharp package...

@jclapis
Copy link
Contributor

jclapis commented Feb 7, 2020

Did you use the bootstrapper provided by SkiaSharp to build or did you manually run the build? Ideally, we would cross-compile it but haven't figured out to do that.

It was a fairly manual process - I'll write a gist about it and link it here when it's ready. In a nutshell, I mostly followed these steps but had to build gn from source (since the included binary is for x64), had to use the distro's version of ninja since depot_tools doesn't know what to do with aarch64, and had to make a few other tweaks (like this one).

@jclapis
Copy link
Contributor

jclapis commented Feb 7, 2020

Okay, here's my writeup of the process I used. Hope it helps!

@kekekeks
Copy link
Member

SkiaSharp now has built-in support for arm and arm64

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

6 participants