Skip to content

ARM Platforms ko

Kevin Kim edited this page Aug 16, 2025 · 1 revision

ARM Platforms

Nimf를 ARM 기반 플랫폼에서 설치하고 사용하는 방법을 안내합니다.

🎯 지원 플랫폼

플랫폼 아키텍처 상태 설치 방법
라즈베리파이 4 ARM64 ✅ 안정 GitHub Releases/APT
오렌지파이 PC+ ARM32 ✅ 안정 소스 빌드
Armbian ARM32/64 ✅ 안정 GitHub Releases/소스
Manjaro ARM ARM64 ✅ 안정 소스 빌드

🚀 라즈베리파이 4 (ARM64)

GitHub Releases 사용 (권장)

# ARM64용 패키지 다운로드
wget https://github.com/hamonikr/nimf/releases/latest/download/nimf_1.4.0-1_arm64.deb

# 패키지 설치
sudo dpkg -i nimf_*.deb
sudo apt-get install -f  # 의존성 해결

# 입력기 설정
im-config -n nimf

# 재부팅
sudo reboot

APT 저장소 사용 (대안)

# HamoniKR 저장소 추가
wget -qO- https://update.hamonikr.org/add-update-repo.apt | sudo -E bash -

# 코어 패키지 설치
sudo apt install nimf

# 다국어 지원 추가 (선택사항)
sudo apt install nimf-i18n

# 입력기 설정
im-config -n nimf

# 재부팅
sudo reboot

소스에서 빌드

# 의존성 설치
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

# 소스 다운로드 및 빌드
git clone https://github.com/hamonikr/nimf.git
cd nimf
debuild -b -uc -us

# 패키지 설치
cd ..
sudo dpkg -i nimf_*.deb nimf-libhangul_*.deb

# 전체 패키지 설치 (선택사항)
sudo dpkg -i *.deb

# 입력기 설정
im-config -n nimf

🍊 Armbian (오렌지파이 PC+)

환경 정보

  • OS: Armbian Bionic (kernel 5.3.y)
  • Chipset: Allwinner H3
  • 아키텍처: ARM32 (armhf)

빌드 및 설치

# 추가 의존성 설치 (Armbian 전용)
sudo apt install fakeroot libgtk-3-bin

# 기본 의존성 설치
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

# 소스 다운로드 및 빌드
git clone https://github.com/hamonikr/nimf.git
cd nimf
debuild -b -uc -us

# 패키지 설치
cd ..
sudo dpkg -i ./libnimf1_*.deb
sudo dpkg -i ./nimf_*.deb  
sudo dpkg -i ./nimf-libhangul_*.deb

# 입력기 설정
im-config -n nimf

# 재부팅
reboot

⚠️ 주의사항

  • 빌드 시간: 약 40분 이상 소요됩니다
  • 메모리: 최소 1GB RAM 권장
  • 저장공간: 빌드를 위해 최소 2GB 여유공간 필요

미리 빌드된 패키지 사용

davidjung-kr님이 제공하는 미리 빌드된 패키지를 사용할 수 있습니다:

# 미리 빌드된 패키지 다운로드
wget https://github.com/davidjung-kr/nimf-bin-armhf/releases/latest/download/nimf-armhf.tar.gz

# 압축 해제 및 설치
tar -xzf nimf-armhf.tar.gz
cd nimf-armhf
sudo dpkg -i *.deb

# 입력기 설정
im-config -n nimf
reboot

🐧 Manjaro ARM (라즈베리파이 4)

환경 정보

  • OS: Manjaro ARM XFCE
  • 플랫폼: 라즈베리파이 4
  • 아키텍처: ARM64

빌드 및 설치

# 특별한 ARM 브랜치 사용
git clone -b manjaro-arm --single-branch https://github.com/hamonikr/nimf.git

# 의존성 설치
sudo pacman -S meson ninja qt5-tools base-devel

# 빌드
cd nimf/manjaro-arm
makepkg -s

# 설치
sudo pacman -U nimf-*.pkg.tar.xz

환경 설정

# ~/.xprofile 파일 생성/편집
nano ~/.xprofile

# 다음 내용 추가
export GTK_IM_MODULE=nimf
export QT4_IM_MODULE="nimf"
export QT_IM_MODULE=nimf
export XMODIFIERS="@im=nimf"
nimf

재부팅

sudo reboot

⚙️ ARM 플랫폼 최적화

성능 최적화

메모리 사용량 최적화

# 불필요한 입력 엔진 비활성화
# ~/.config/nimf/nimf.conf 편집
[Engines]
enabled-engines=nimf-libhangul,nimf-system-keyboard

CPU 사용량 최적화

# 자동 완성 기능 비활성화 (선택사항)
# nimf-settings → 한국어 → 자동 완성 비활성화

저전력 모드 설정

# 시스템 트레이 표시기 비활성화 (선택사항)
# ~/.config/nimf/nimf.conf에서
[General]
show-tray-icon=false

🐛 ARM 플랫폼 문제 해결

일반적인 문제들

1. 빌드 시간이 너무 오래 걸리는 경우

# 병렬 빌드 옵션 조정 (CPU 코어 수에 맞게)
make -j2  # 듀얼 코어의 경우
make -j4  # 쿼드 코어의 경우

2. 메모리 부족으로 빌드가 실패하는 경우

# 스왑 파일 생성
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# 빌드 후 스왑 비활성화 (선택사항)
sudo swapoff /swapfile
sudo rm /swapfile

3. Qt 관련 오류 (ARM 플랫폼)

# Qt4 관련 오류 시 Qt4 비활성화
./configure --disable-qt4

# Qt6가 없는 경우 Qt6 비활성화
./configure --disable-qt6

ARM 특화 환경 변수

# ~/.bashrc에 추가
export ARM_OPTIMIZATION=1
export QT_QPA_PLATFORM=linuxfb  # 필요시
export QT_QPA_FONTDIR=/usr/share/fonts

📊 성능 벤치마크

라즈베리파이 4 성능

  • 시작 시간: ~2초
  • 메모리 사용량: ~15MB
  • CPU 사용률: ~1% (유휴 시)

오렌지파이 PC+ 성능

  • 시작 시간: ~3초
  • 메모리 사용량: ~12MB
  • CPU 사용률: ~2% (유휴 시)

🔧 고급 설정

크로스 컴파일 (고급 사용자)

# x86_64에서 ARM64용 빌드
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)

Docker를 사용한 ARM 빌드

# ARM64 컨테이너에서 빌드
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 이상 (권장: 512MB)
  • 저장공간: 50MB 이상
  • CPU: ARMv7 이상

경량화 빌드

./configure --prefix=/usr \
    --disable-nimf-anthy \
    --disable-nimf-rime \
    --disable-nimf-m17n \
    --disable-gtk-doc \
    --enable-bundled-libhangul

📚 관련 문서

Clone this wiki locally