About this project
NEO Emacs is a work-in-progress hard fork of GNU Emacs that replaces the ~300,000-line C core with Rust and runs the display engine on the GPU via wgpu (Vulkan, Metal, DX12, GL). It aims for 100% compatibility with the existing Emacs ecosystem—init.el, packages, and muscle memory—using GNU Emacs as a test oracle to verify each rewritten subsystem.
Key capabilities include:
- GPU-rendered text, images, and effects, replacing xdisp.c with ~4,000 lines of Rust
- Inline rich media in buffers: 4K video (GStreamer + VA-API on Linux), GPU-decoded images, an embedded WPE WebKit browser, and a GPU-backed terminal (Alacritty), with DMA-BUF zero-copy paths
- Configurable animations: 8 cursor modes, 21 scroll effects, 10 buffer transitions at display refresh rate
- Elisp-hackable frontend extending to GPU shaders (WGSL)
- Pure-Rust Elisp runtime: evaluator, bytecode VM, GC, and portable dump
- GUI and terminal modes from the same binary (neomacs -nw)
The project reports ~95% GNU Emacs compatibility via oracle test suites, with JIT compilation and inline caching for Elisp working. True multi-threaded Elisp and a zero-pause concurrent GC are in the research and design phase.
Pre-built packages are available for Linux (.deb, .rpm, AppImage), macOS (experimental), and Windows (experimental). Docker images are published for amd64 and arm64. Licensed under GPL-3.0.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.