このプロジェクトについて
NEO Emacsは、GNU Emacsのハードフォークとして開発中のプロジェクトであり、約30万行のCコアをRustに置き換え、表示エンジンをwgpu(Vulkan、Metal、DX12、GL)経由でGPU上で動作させる。既存のEmacsエコシステム(init.el、パッケージ、筋肉記憶)との100%互換性を目指し、GNU Emacsをテストオラクルとして各書き換え済みサブシステムを検証している。
主な機能は以下の通り:
- GPUレンダリングによるテキスト、画像、エフェクト。xdisp.cを約4,000行のRustで置き換え
- バッファ内のインラインリッチメディア:4K動画(LinuxではGStreamer + VA-API)、GPUデコード画像、組み込みWPE WebKitブラウザ、GPUバックエンドのターミナル(Alacritty)、DMA-BUFゼロコピーパス
- 設定可能なアニメーション:8種類のカーソルモード、21種類のスクロールエフェクト、10種類のバッファ遷移をディスプレイリフレッシュレートで実行
- Elispでハック可能なフロントエンド。GPUシェーダー(WGSL)まで拡張可能
- 純粋なRustによるElispランタイム:評価器、バイトコードVM、GC、ポータブルダンプ
- 同一バイナリからGUIモードとターミナルモードを提供(neomacs -nw)
プロジェクトはオラクルテストスイートにより約95%のGNU Emacs互換性を報告しており、ElispのJITコンパイルとインラインキャッシュが動作している。真のマルチスレッドElispとゼロポーズ並行GCは研究・設計段階にある。
ビルド済みパッケージはLinux(.deb、.rpm、AppImage)、macOS(実験的)、Windows(実験的)向けに提供されている。Dockerイメージはamd64とarm64向けに公開されている。ライセンスはGPL-3.0。
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.