diff --git a/CHANGELOG.md b/CHANGELOG.md index 2435529e..166c56d9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ FlatLaf Change Log - Tree: Support wide cell renderer. (issue #922) - Extras: `FlatSVGIcon` color filters now can access painting component to implement component state based color mappings. (issue #906) +- Linux: Added `libflatlaf-linux-arm64.so` for Linux on ARM64. (issue #899) #### Fixed bugs diff --git a/flatlaf-core/build.gradle.kts b/flatlaf-core/build.gradle.kts index 11dd19b7..f02a413d 100644 --- a/flatlaf-core/build.gradle.kts +++ b/flatlaf-core/build.gradle.kts @@ -156,5 +156,6 @@ flatlafPublish { NativeArtifact( "${natives}/libflatlaf-macos-arm64.dylib", "macos-arm64", "dylib" ), NativeArtifact( "${natives}/libflatlaf-macos-x86_64.dylib", "macos-x86_64", "dylib" ), NativeArtifact( "${natives}/libflatlaf-linux-x86_64.so", "linux-x86_64", "so" ), + NativeArtifact( "${natives}/libflatlaf-linux-arm64.so", "linux-arm64", "so" ), ) } diff --git a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java index 3c169c28..a9768cd4 100644 --- a/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java +++ b/flatlaf-core/src/main/java/com/formdev/flatlaf/ui/FlatNativeLibrary.java @@ -90,10 +90,10 @@ class FlatNativeLibrary classifier = SystemInfo.isAARCH64 ? "macos-arm64" : "macos-x86_64"; ext = "dylib"; - } else if( SystemInfo.isLinux && SystemInfo.isX86_64 ) { - // Linux: requires x86_64 + } else if( SystemInfo.isLinux && (SystemInfo.isX86_64 || SystemInfo.isAARCH64)) { + // Linux: requires x86_64 or aarch64 - classifier = "linux-x86_64"; + classifier = SystemInfo.isAARCH64 ? "linux-arm64" : "linux-x86_64"; ext = "so"; // Load libjawt.so (part of JRE) explicitly because it is not found diff --git a/flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/libflatlaf-linux-arm64.so b/flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/libflatlaf-linux-arm64.so new file mode 100644 index 00000000..c1a663f3 Binary files /dev/null and b/flatlaf-core/src/main/resources/com/formdev/flatlaf/natives/libflatlaf-linux-arm64.so differ