Skip to content

native-image: add riscv64 (linux-riscv_64) platform support #13351

@gounthar

Description

@gounthar

Feature request

Is your feature request related to a problem? Please describe.

Building native executables for linux-riscv64 is not possible with GraalVM Native Image. No GraalVM distribution exists for riscv64, and native-image cannot cross-compile to riscv64 from other hosts.

Concrete impact: JReleaser recently merged support for recognizing linux-riscv_64 as a valid platform (jreleaser/jreleaser#2062), but cannot ship its own native riscv64 binary release because GraalVM does not support that target. The JVM-based standalone packages work, but the native binary distribution gap remains.

Describe the solution you'd like.

A GraalVM JDK distribution for linux-riscv64 with native-image support, equivalent to the existing linux-aarch64 offering. This would allow projects using GraalVM to build and distribute native binaries for riscv64 targets.

Describe who do you think will benefit the most.

  • Java projects producing native binaries (JReleaser, Quarkus native, Micronaut, etc.) that target riscv64
  • The growing riscv64 ecosystem where native startup time and memory footprint matter
  • CI pipelines running on native riscv64 hardware (runners available today via RISE: ubuntu-24.04-riscv)

Describe alternatives you've considered.

  • Mandrel: same gap, no riscv64 distribution as of 25.0.2.0-Final
  • Cross-compilation: native-image does not support cross-compilation in the general case
  • JVM-based fallback: works but loses the native binary performance benefits

Additional context.

Native RISC-V CI runners are available today via the RISE project (ubuntu-24.04-riscv label, GitHub App: https://github.com/apps/rise-risc-v-runners). Infrastructure is not the blocker - the GraalVM substrate port is.

riscv64 adoption is accelerating: Debian, Ubuntu, and Fedora all have stable riscv64 ports. Hardware like the Banana Pi F3 (SpacemiT K1) and server-class RISC-V boards are increasingly used for development and CI.

Express whether you'd like to help contributing this feature

I can help with providing access to RISE riscv64 runners for testing once development is underway.

Metadata

Metadata

Assignees

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions