-
-
Notifications
You must be signed in to change notification settings - Fork 27
ARM Platforms
Kevin Kim edited this page Aug 16, 2025
·
3 revisions
This guide explains how to install and use Nimf on ARM-based platforms.
| Platform | Architecture | Status | Installation Method |
|---|---|---|---|
| Raspberry Pi 4 | ARM64 | ✅ Stable | GitHub Releases/APT |
| Orange Pi PC+ | ARM32 | ✅ Stable | Source Build |
| Armbian | ARM32/64 | ✅ Stable | GitHub Releases/Source |
| Manjaro ARM | ARM64 | ✅ Stable | Source Build |
# Download ARM64 package
wget https://github.com/hamonikr/nimf/releases/latest/download/nimf_1.4.0-1_arm64.deb
# Install package
sudo dpkg -i nimf_*.deb
sudo apt-get install -f # Resolve dependencies
# Configure input method
im-config -n nimf
# Reboot
sudo reboot# Add HamoniKR repository
wget -qO- https://update.hamonikr.org/add-update-repo.apt | sudo -E bash -
# Install core package
sudo apt install nimf
# Add multilingual support (optional)
sudo apt install nimf-i18n
# Configure input method
im-config -n nimf
# Reboot
sudo reboot# Install dependencies
sudo apt install build-essential devscripts debhelper autoconf automake \
libglib2.0-dev intltool gtk-doc-tools libgtk-3-dev libgtk2.0-dev \
qtbase5-dev qt6-base-dev libayatana-appindicator3-dev librsvg2-bin \
libhangul-dev anthy libxkbcommon-dev libxklavier-dev libm17n-dev \
m17n-db librime-dev
# Download source and build
git clone https://github.com/hamonikr/nimf.git
cd nimf
debuild -b -uc -us
# Install packages
cd ..
sudo dpkg -i nimf_*.deb nimf-libhangul_*.deb
# Install all packages (optional)
sudo dpkg -i *.deb
# Configure input method
im-config -n nimf- OS: Armbian Bionic (kernel 5.3.y)
- Chipset: Allwinner H3
- Architecture: ARM32 (armhf)
# Install additional dependencies (Armbian specific)
sudo apt install fakeroot libgtk-3-bin
# Install basic dependencies
sudo apt install -y libglib2.0-dev intltool libgtk-3-dev libgtk2.0-dev \
libqt4-dev qtbase5-dev qtbase5-private-dev libappindicator3-dev \
librsvg2-bin libhangul-dev libanthy-dev anthy librime-dev \
libxkbcommon-dev libwayland-dev wayland-protocols libxklavier-dev \
libm17n-dev m17n-db gtk-doc-tools devscripts build-essential \
debhelper fakeroot libgtk-3-bin
# Download source and build
git clone https://github.com/hamonikr/nimf.git
cd nimf
debuild -b -uc -us
# Install packages
cd ..
sudo dpkg -i ./libnimf1_*.deb
sudo dpkg -i ./nimf_*.deb
sudo dpkg -i ./nimf-libhangul_*.deb
# Configure input method
im-config -n nimf
# Reboot
reboot- Build Time: Approximately 40+ minutes
- Memory: Minimum 1GB RAM recommended
- Storage: Minimum 2GB free space for build
Pre-built packages provided by davidjung-kr:
# Download pre-built packages
wget https://github.com/davidjung-kr/nimf-bin-armhf/releases/latest/download/nimf-armhf.tar.gz
# Extract and install
tar -xzf nimf-armhf.tar.gz
cd nimf-armhf
sudo dpkg -i *.deb
# Configure input method
im-config -n nimf
reboot- OS: Manjaro ARM XFCE
- Platform: Raspberry Pi 4
- Architecture: ARM64
# Use special ARM branch
git clone -b manjaro-arm --single-branch https://github.com/hamonikr/nimf.git
# Install dependencies
sudo pacman -S meson ninja qt5-tools base-devel
# Build
cd nimf/manjaro-arm
makepkg -s
# Install
sudo pacman -U nimf-*.pkg.tar.xz# Create/edit ~/.xprofile file
nano ~/.xprofile
# Add the following content
export GTK_IM_MODULE=nimf
export QT4_IM_MODULE="nimf"
export QT_IM_MODULE=nimf
export XMODIFIERS="@im=nimf"
nimfsudo reboot# Disable unnecessary input engines
# Edit ~/.config/nimf/nimf.conf
[Engines]
enabled-engines=nimf-libhangul,nimf-system-keyboard# Disable auto-completion feature (optional)
# nimf-settings → Korean → Disable auto-completion# Disable system tray indicator (optional)
# In ~/.config/nimf/nimf.conf
[General]
show-tray-icon=false# Adjust parallel build options (according to CPU cores)
make -j2 # For dual core
make -j4 # For quad core# Create swap file
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
# Disable swap after build (optional)
sudo swapoff /swapfile
sudo rm /swapfile# Disable Qt4 on Qt4 related errors
./configure --disable-qt4
# Disable Qt6 when Qt6 is not available
./configure --disable-qt6# Add to ~/.bashrc
export ARM_OPTIMIZATION=1
export QT_QPA_PLATFORM=linuxfb # If needed
export QT_QPA_FONTDIR=/usr/share/fonts- Startup Time: ~2 seconds
- Memory Usage: ~15MB
- CPU Usage: ~1% (idle)
- Startup Time: ~3 seconds
- Memory Usage: ~12MB
- CPU Usage: ~2% (idle)
# Build ARM64 on x86_64
sudo apt install gcc-aarch64-linux-gnu
export CC=aarch64-linux-gnu-gcc
export CXX=aarch64-linux-gnu-g++
export AR=aarch64-linux-gnu-ar
export STRIP=aarch64-linux-gnu-strip
./configure --host=aarch64-linux-gnu --prefix=/usr
make -j$(nproc)# Build in ARM64 container
docker run --platform linux/arm64 -v $(pwd):/workspace ubuntu:22.04 bash -c "
cd /workspace &&
apt update &&
apt install -y build-essential git &&
./build.sh
"- RAM: 256MB or more (recommended: 512MB)
- Storage: 50MB or more
- CPU: ARMv7 or higher
./configure --prefix=/usr \
--disable-nimf-anthy \
--disable-nimf-rime \
--disable-nimf-m17n \
--disable-gtk-doc \
--enable-bundled-libhangul- 🇺🇸 English Documentation - This page
- 🇰🇷 한국어 문서 - Korean documentation
- Build Instructions - General build guide
- Installation Guide - Installation methods
- Configuration - Configuration and usage
- Troubleshooting - Problem solving guide