CLIツール
eval-exec/neomacs avatar
eval-exec/neomacs

NEO EmacsはGPU時代の編集環境になれるか

NEO Emacs (WIP): 最新の表示エンジンを備えた Rust で書かれた GPU 駆動の Emacs。最新のデザインとマルチスレッド Elisp、10 倍のパフォーマンス、一時停止なしの同時 GC、および 100% の Emacs 互換性を目指しています。

スター 1,269フォーク 48RustGPL-3.0

ひと目でわかる

これは何?
Rustで作られる実験的なEmacs系エディターを、GPU表示、リッチメディア、ビルド手順、互換性の現在地から検討します。
誰に向いている?
GPUで描画するEmacs系環境を試したい開発者には興味深い候補ですが、NEO EmacsはWIPで、LinuxとmacOSを先行しWindowsは実験的です。まずリポジトリのdev shellとcargo xtask fresh-build --releaseを同じ環境で実行し、生成物、起動、既存Elispの読み込みを確認してください。
商用利用できる?
条件付きでできます。GPL-3.0 はコピーレフトのライセンスで、これを含むソフトウェアを配布する場合、そのソフトウェアのソースコードを同じライセンスで公開する必要があります。配布せず社内で使うだけなら、この義務は生じません。
今もメンテナンスされている?
されています。直近 1 日以内に新しいコミットがあります。
何の言語で書かれている?
主に Rust です(GitHub の言語統計による)。

回答はプロジェクトの GitHub データ(最終同期:2026年9月15日)と当サイトの分析に基づくもので、法的助言ではありません。

オープンソース詳細解説

NEO Emacsが狙う表示エンジンの刷新

NEO EmacsはRustで書かれた作業中のEmacs系プロジェクトで、GPUを使う現代的な表示エンジンを目指しています。READMEはマルチスレッドElisp、ゼロ停止の並行GC、100% Emacs互換などを目標として挙げていますが、目標と完成済み機能は分けて読む必要があります。WIPという表示は、現在の挙動が変わる可能性を明示しています。

既存Emacsの編集体験を引き継ぎながら描画経路を改める構想は、文字だけでなく動画、画像、Web表示を同じバッファに置く方向と結びついています。とはいえ、READMEはすべてのElispやパッケージが動くことを証明していません。互換性を必要条件にする利用者は、使うパッケージを絞って実測する必要があります。

4K動画と画像をバッファ内で扱う

ShowcaseにはDMA-BUFのゼロコピーとGPUバックエンドを使うインライン4K動画、GPUデコードする4K画像が挙げられています。画像はEmacsのメインスレッドをブロックしないという説明もあります。これはNEO Emacsがテキスト表示だけを高速化するプロジェクトではなく、メディアを編集面へ統合しようとしていることを示します。

表示できることと安定して編集できることは別です。動画の形式、GPUドライバー、ウィンドウシステム、メモリ使用量などの互換表は、eval-exec/neomacsの提示されたREADMEだけでは確認できません。自分のGPUで同じサンプルを再生し、入力遅延、CPUとGPU使用率、長時間表示後の状態を測ることがNEO Emacsの導入判断に直結します。

WPE WebKitとAlacrittyを同一画面へ置く

NEO EmacsはWPE WebKitをGPUバックエンドとDMA-BUFのゼロコピーでインライン表示し、AlacrittyをGPUバックの端末としてバッファへ埋め込む例も示しています。Webブラウザーと端末を別ウィンドウで管理するのではなく、編集対象と近い場所で扱う設計です。

この構成では、WebKitの依存関係、端末の入力処理、GPU経路が一つの起動に関係します。READMEのショーケースは実装の方向を伝えますが、Web標準の範囲、端末の完全な互換性、セキュリティ境界までは説明していません。外部サイトや秘密情報を扱う用途では、埋め込み機能を個別に隔離して評価してください。

cargo xtaskが作るビルドの確認点

Install章は、依存関係をそろえたリポジトリのdev shellを任意の推奨手段として案内し、cargo xtask fresh-build --releaseでRustのコンパイル、Elispのブートストラップ、portable dumpの生成を行います。単純なcargo buildだけで終わらないため、生成物を含む手順として理解するのが適切です。

ビルド前にはRust、グラフィックス関連、メディア関連の依存が自分のOSで解決するかを確認します。コマンドが成功しても、起動時にGPUやWPE WebKitが使えるとは限りません。fresh-buildの出力、生成されたdump、起動ログを保存し、失敗箇所がRust依存、Elisp初期化、表示バックエンドのどれかを切り分けます。

対応OSと互換性の現在位置

eval-exec/neomacsのREADMEの対応表はLinuxとmacOSを先行対象とし、Windowsはテスト待ちの実験段階、WASM、Android、iOSは計画中としています。したがって、Windowsやモバイルを本番の前提に置くことはできません。プラットフォーム対応の計画と、今のリリースでの動作保証を混同しないことが重要です。

NEO Emacsを試す場合は、既存のEmacs設定を一括投入せず、initファイルと依存パッケージを最小構成にします。文字入力、保存、検索、Elisp評価、端末、動画表示を別々に試し、クラッシュ時に再現条件を残してください。これで互換性という大きな言葉を、実際に必要な操作へ分解できます。

GPLv3のプロジェクトを試験導入する

ライセンスはEmacsと同じGNU General Public License v3.0です。再配布や改変を行う場合はリポジトリのLICENSEを参照し、ビルドと配布物に必要な条件を確認します。ライセンスはGPUドライバーや外部ライブラリの利用条件を一括で決めるものではないため、依存物のライセンスも別に調査します。

NEO Emacsの価値は、完成した代替エディターとしてではなく、表示と実行モデルを試せる実験環境として現時点で評価するのが安全です。GPUを使う作業が必要で、WIPの変更を追える人には合います。設定互換と長期安定性を最優先する人は、移行ではなく隔離した試験環境でリリース差分を確認してください。動画やWebを扱わない通常の編集でも、入力、保存、検索、終了を繰り返し、基本操作が安定しているかを判断材料に加えます。

NEO Emacsのビルド差分を記録する

eval-exec/neomacsではcargo xtask fresh-build --releaseの出力、生成されたportable dump、起動時のGPUバックエンドを同じ記録に残します。LinuxとmacOSで同じElisp入力を開き、保存、検索、Elisp評価、端末表示を比較します。WindowsやモバイルはREADME上で計画または実験段階なので、対応済みとして扱わず、ビルドできるかと日常利用できるかを分けて記録してください。実施記録には対象版と入力条件を残し、成功した結果だけでなく失敗した場合の出力も保存します。設定を変更した前後で同じ確認を繰り返せるようにし、READMEに書かれた機能と自分の環境で確認できた事実を分けます。採用判断では、導入できたかだけでなく、更新、障害、切り戻し、権限、ライセンスを同じ担当者が追跡できるかを確かめます。

編集部の結論

GPUで描画するEmacs系環境を試したい開発者には興味深い候補ですが、NEO EmacsはWIPで、LinuxとmacOSを先行しWindowsは実験的です。まずリポジトリのdev shellとcargo xtask fresh-build --releaseを同じ環境で実行し、生成物、起動、既存Elispの読み込みを確認してください。互換性や10倍性能などの目標は現時点の保証ではないため、日常のEmacsを置き換えず、具体的な編集作業で差を測るのが妥当です。

公式情報源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
コミュニティノート

コミュニティノート