Unciv: Unciv not working in Raspberry Pi 3B+ (Linux armhf)
Hi! I tried to run Unciv in Raspberry Pi and got the following errors.
~$ java -jar Unciv.jar
Picked up _JAVA_OPTIONS: -Dawt.useSystemAAFontSettings=on -Dswing.aatext=true
Packing textures - 349ms
Could not initialize Discord
Exception in thread "main" com.badlogic.gdx.utils.GdxRuntimeException: Couldn't load shared library 'libgdxarm.so' for target: Linux, 32-bit
at com.badlogic.gdx.utils.SharedLibraryLoader.load(SharedLibraryLoader.java:126)
at com.badlogic.gdx.utils.GdxNativesLoader.load(GdxNativesLoader.java:31)
at com.badlogic.gdx.backends.lwjgl.LwjglNativesLoader.load(LwjglNativesLoader.java:46)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:83)
at com.badlogic.gdx.backends.lwjgl.LwjglApplication.<init>(LwjglApplication.java:71)
at com.unciv.app.desktop.DesktopLauncher.main(DesktopLauncher.kt:67)
Caused by: com.badlogic.gdx.utils.GdxRuntimeException: Unable to read file for extraction: libgdxarm.so
at com.badlogic.gdx.utils.SharedLibraryLoader.readFile(SharedLibraryLoader.java:134)
at com.badlogic.gdx.utils.SharedLibraryLoader.loadFile(SharedLibraryLoader.java:290)
at com.badlogic.gdx.utils.SharedLibraryLoader.load(SharedLibraryLoader.java:122)
... 5 more
Note that Raspberry Pi comes pre-installed with Java 11. I tried to manually install java8-jre, setting it as default and run Unciv, but got same kind of error. I tried using Windows 32 bit jar. It also failed.
About this issue
- Original URL
- State: closed
- Created 3 years ago
- Comments: 23 (21 by maintainers)
@asda488 @yairm210 yes the Game is confirmed to be working on Raspberry Pi from version 3.18.0. The command
java -jar Unciv.jar
works fine. I have tested Mods too. BothRekMOD
and5Hex Tileset
is working fine. And yes I am using an Raspberry Pi OSarmhf
. Here is a Screenshot from Pi,Ok, so does the latest release has this fix? Ok I will start testing now.
Update: I tested Release 3.17.14 but it threw the following error.
Update 2: Ok, 3.17.14 was released 2 days ago while the commit https://github.com/yairm210/Unciv/commit/25cad3aef2e3fb38a2088840cf7c768021cd2fb8 was made yesterday. I need to wait for the next release to test it.
Awesome! 😃
I’d close it then.
I have the
.jar
I built myself here, if you really wanted to you could probably test it before next release, up to you. It contains binaries forarmhf
so hopefully it works.Fixed for
aarch64/arm64
building.jar
file without Android Studio and with JDK11, building commit 25cad3a. Should also work onarmhf
as they are the same arch, just different bit, unless something hasn’t been ported across, but that is unlikely, I think we would just need a confirmation from touhidurrr to close this issue, hopefully it works 😃. (As above, most probably the upgrade toLWJGL 3
that fixed it.)I’m back from trawling through the internet, and it looks like the problem is with
GDX
’s building of native dependency binaries, but since you are upgrading toLWJGL 3
they seem to have fixed binaries forLWJGL
andOpenAL
forLWJGL 3
on ARM devices, so I’ll rebuild and/or test the prebuilt.jar
after you merge/after you release. Hopefully should fix this and #5022. 🤞 @touhidurrr you may want to test this as well.