NEO Emacs (Neomacs)
A hard fork of GNU Emacs with its roughly 300,000-line C core rewritten in Rust and a GPU-based display engine, aiming for full compatibility with existing Emacs configs and packages alongside modern rendering and performance.
Neomacs (NEO Emacs) reimplements Emacs's C core in Rust and moves its display engine onto the GPU via wgpu, targeting Vulkan, Metal, DX12 and OpenGL, while keeping the Lisp tree synced to a recent GNU Emacs release for compatibility with existing init files, packages and muscle memory. GNU Emacs itself is used as a test oracle, so each rewritten subsystem is checked to behave identically to the original.
Its GPU display engine renders text, images and effects, replacing roughly 50,000 lines of the original C display code with about 4,000 lines of Rust, and adds inline rich media in buffers: 4K video playback over DMA-BUF with zero-copy GPU decoding, GPU-decoded images that do not block the main thread, an inline WPE WebKit browser, and an inline GPU-backed terminal. It also adds display-refresh-rate animations, including multiple cursor modes, scroll effects and buffer-switch transitions.
It is a work in progress aiming for multi-threaded Elisp, a zero-pause concurrent garbage collector and full Emacs compatibility, and is licensed GPL-3.0.