Skip to content

itsbalamurali/gpui-mobile

GPUI Mobile

Mobile platform layer for GPUI — run Rust UI apps natively on iOS and Android.

Build & Test

Overview

Implements the gpui::Platform trait for mobile targets, following the same architecture as Zed's desktop platform crates.

Platform Renderer Text
iOS Metal via wgpu CoreText
Android Vulkan/GL via wgpu cosmic-text + swash

Highlights: GPU-accelerated rendering, touch input with momentum scrolling, keyboard support, safe area insets, dark mode, and emoji rendering.

Quick Start

Prerequisites

  • Rust 1.75+
  • iOS: macOS + Xcode 15+, XcodeGen (brew install xcodegen)
  • Android: Android SDK + NDK r25+, cargo-ndk (cargo install cargo-ndk)

Build & Run

cd example

# iOS
./build.sh ios --device        # or --simulator
./build.sh ios --device --release

# Android
./build.sh android --device    # or --emulator
./build.sh android --device --release

Manual Build

# iOS
rustup target add aarch64-apple-ios
cd example && cargo build --target aarch64-apple-ios
cd ios && xcodegen generate --spec project.yml
xcodebuild -project GpuiExample.xcodeproj -scheme GpuiExample build

# Android
rustup target add aarch64-linux-android
cd example
cargo ndk -t arm64-v8a -P 31 -o android/gradle/app/src/main/jniLibs build
cd android/gradle && ./gradlew assembleDebug

Platform Support

Platform Status Min Version GPU Backend
iOS (device + sim) iOS 13.0+ Metal
Android (arm64) API 26+ Vulkan (preferred), GL ES 3.0
Android (armv7/x86_64) ⚠️ Untested API 26+ Vulkan / GL ES

Screenshots

Running on a Motorola Edge 50 Pro (Android, Vulkan):

Home Counter Settings About
Home Counter Settings About

A demo video is available at screenshots/demo.mp4.

Example App

The example app includes screens for Home, Counter, About, Settings, Components (Apple Glass + Material Design), Animations, and Shaders.

Contributing

  1. Fork & create a feature branch
  2. Ensure all targets compile:
    cargo check
    cargo check --target aarch64-apple-ios
    cargo check --target aarch64-linux-android
    cargo test
    cargo fmt --all
  3. Open a Pull Request

License

Licensed under any one of:

Acknowledgements

Zed Industries (GPUI framework) · wgpu · cosmic-text · swash · Google Noto Fonts

About

Mobile platform support for GPUI — iOS (wgpu/Metal) and Android (wgpu/Vulkan)

Resources

License

AGPL-3.0 and 2 other licenses found

Licenses found

AGPL-3.0
LICENSE-AGPL
Unknown
LICENSE-APACHE
GPL-3.0
LICENSE-GPL

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages