# Java To Native Linux App: One 5MB Binary, x64 And Arm

DevFeed: [Java To Native Linux App: One 5MB Binary, x64 And Arm](<https://devfeed.tech/articles/java-to-native-linux-app-one-5mb-binary-x64-and-arm-19341.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/java-to-a-native-linux-app/>)

Author: Shai Almog

Published: 2026-06-20T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Java](<https://devfeed.tech/topics/java.md>), [App](<https://devfeed.tech/topics/app.md>), [Arm](<https://devfeed.tech/topics/arm.md>), [OpenGL](<https://devfeed.tech/topics/opengl.md>)

Tags: [arm](<https://devfeed.tech/tags/arm.md>), [glibc](<https://devfeed.tech/tags/glibc.md>), [java](<https://devfeed.tech/tags/java.md>), [linux](<https://devfeed.tech/tags/linux.md>), [native](<https://devfeed.tech/tags/native.md>), [port](<https://devfeed.tech/tags/port.md>)

## AI overview

This article explains Codename One's native Linux desktop port. ParparVM translates Java and Kotlin bytecode to C, which is compiled into a self-contained ELF binary without requiring a JVM on the target machine. It describes the GTK-based rendering stack, native integrations, packaging approach, dependencies, and support for x64, arm64, and musl-based Alpine Linux.

## Source excerpt

The new native Linux port compiles your Java to a single self-contained ELF through ParparVM and GTK3, with no JVM on the target machine. It runs on an ancient universal glibc, supports musl for Alpine, and ships for both x64 and arm64.