flathub / io.conduktor.Conduktor

https://flathub.org/apps/details/io.conduktor.Conduktor
3 stars 0 forks source link

ARM Support #20

Closed Eonfge closed 2 years ago

Eonfge commented 3 years ago

Special build to see of ARM works. Will have to test it on a second device though.

flathubbot commented 3 years ago

Started test build 58981

flathubbot commented 3 years ago

Build 58981 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/56860/io.conduktor.Conduktor.flatpakref
flathubbot commented 3 years ago

Started test build 58982

flathubbot commented 3 years ago

Build 58982 successful To test this build, install it from the testing repository:

flatpak install --user https://dl.flathub.org/build-repo/56861/io.conduktor.Conduktor.flatpakref
Eonfge commented 3 years ago

Shame :cry:

[kevin@fedorapbp ~]$ flatpak install --user https://dl.flathub.org/build-repo/56861/io.conduktor.Conduktor.flatpakref

io.conduktor.Conduktor permissions:
    ipc     network     fallback-x11     pulseaudio     ssh-auth     wayland     x11     dri     file access [1]     dbus access [2]

    [1] home
    [2] org.freedesktop.Notifications, org.freedesktop.secrets

        ID                               Branch           Op           Remote                     Download
 1. [✓] io.conduktor.Conduktor           test             i            conduktor-origin           242.0 MB / 242.0 MB

Installation complete.
[kevin@fedorapbp ~]$ flatpak run io.conduktor.Conduktor 
WARNING: Unknown module: javafx.graphics specified to --add-opens
WARNING: Unknown module: javafx.controls specified to --add-opens
Loading library prism_sw from resource failed: java.lang.UnsatisfiedLinkError: /home/kevin/.openjfx/cache/16-ea/libprism_sw.so: /home/kevin/.openjfx/cache/16-ea/libprism_sw.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
java.lang.UnsatisfiedLinkError: /home/kevin/.openjfx/cache/16-ea/libprism_sw.so: /home/kevin/.openjfx/cache/16-ea/libprism_sw.so: cannot open shared object file: No such file or directory (Possible cause: can't load AMD 64-bit .so on a AARCH64-bit platform)
    at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
    at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
    at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
    at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
    at java.base/java.lang.Runtime.load0(Runtime.java:768)
    at java.base/java.lang.System.load(System.java:1837)
    at com.sun.glass.utils.NativeLibLoader.installLibraryFromResource(NativeLibLoader.java:214)
    at com.sun.glass.utils.NativeLibLoader.loadLibraryFromResource(NativeLibLoader.java:194)
    at com.sun.glass.utils.NativeLibLoader.loadLibraryInternal(NativeLibLoader.java:135)
    at com.sun.glass.utils.NativeLibLoader.loadLibrary(NativeLibLoader.java:53)
    at com.sun.prism.sw.SWPipeline.lambda$static$0(SWPipeline.java:42)
    at java.base/java.security.AccessController.doPrivileged(Native Method)
    at com.sun.prism.sw.SWPipeline.<clinit>(SWPipeline.java:41)
    at java.base/java.lang.Class.forName0(Native Method)
    at java.base/java.lang.Class.forName(Class.java:315)
    at com.sun.prism.GraphicsPipeline.createPipeline(GraphicsPipeline.java:218)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:91)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
    at java.base/java.lang.Thread.run(Thread.java:829)
Graphics Device initialization failed for :  sw
Error initializing QuantumRenderer: no suitable pipeline found
java.lang.RuntimeException: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at com.sun.javafx.tk.quantum.QuantumRenderer.getInstance(QuantumRenderer.java:280)
    at com.sun.javafx.tk.quantum.QuantumToolkit.init(QuantumToolkit.java:244)
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:261)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.RuntimeException: Error initializing QuantumRenderer: no suitable pipeline found
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.init(QuantumRenderer.java:94)
    at com.sun.javafx.tk.quantum.QuantumRenderer$PipelineRunnable.run(QuantumRenderer.java:124)
    ... 1 more
Exception in thread "main" java.lang.RuntimeException: No toolkit found
    at com.sun.javafx.tk.Toolkit.getToolkit(Toolkit.java:273)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:267)
    at com.sun.javafx.application.PlatformImpl.startup(PlatformImpl.java:158)
    at com.sun.javafx.application.LauncherImpl.startToolkit(LauncherImpl.java:658)
    at com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:678)
    at com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:195)
    at java.base/java.lang.Thread.run(Thread.java:829)
Eonfge commented 3 years ago

@sderosiaux Out of curiosity, I checked for ARM support. Java being cross-platform and so, but sadly, JavaFX isn't that cross-patform. You don't really have to do anything about this for the time being, but with Mac ARM getting more prominence over time, it would be cool to see if Linux ARM also works in the future.

sderosiaux commented 3 years ago

Thanks for the experience. There is an armv6 build with the proper .so files inside https://gluonhq.com/products/mobile/javafxports/get/ but to be honest, we're starting to think about the electron way to improve our UI/UX so everything will change! 🥳

Eonfge commented 3 years ago

armv6 Sadly, that's only for older 32bit ARM devices, ones that are no longer really relevant in today's Linux desktop market.

but to be honest, we're starting to think about the electron way to improve our UI/UX so everything will change!

That's like saying;" I don't like the colour of this horse, so I'll send it to the knackers and in the future I'll ride a cow." I'm not sure how much better and/or worse that will make things. Electron is often maligned for it's UI, since it doesn't really fit any Windows, Mac or Linux UI system.

From a distribution point-of-view, we'll have to change some base libraries, but luckily there is also a runtime extension for Electron so on Flathub's end it will work out. We'll make it work ;)