Published at: February 07, 2026
Category: share note
Tags: #emacs

Somebody on Reddit shared Emacs rendering built with Rust

https://www.reddit.com/r/emacs/comments/1qyg0rl/ann_neomacs_use_rust_to_rewrite_the_emacs_display/

┌─────────────────────────────────────────────────────────────────┐
│                     Emacs Core (C/Lisp)                         │
│  neomacsterm.c ──── neomacs_display.h (C FFI) ──── neomacs-win.el │
└──────────────────────────┬──────────────────────────────────────┘
                           │  C FFI (ffi.rs)
┌──────────────────────────▼──────────────────────────────────────┐
│              Rust Display Engine (neomacs-display)               │
│                                                                  │
│  ┌──────────────────────────────────────────────────────────┐   │
│  │                   Render Thread                           │   │
│  │  render_thread.rs — winit event loop, frame dispatch      │   │
│  │  thread_comm.rs   — command/event channels                │   │
│  └──────────────────────────┬───────────────────────────────┘   │
│                              │                                   │
│  ┌───────────┐  ┌───────────▼──────────┐  ┌─────────────────┐  │
│  │   Core    │  │   wgpu Backend       │  │ Media Backends  │  │
│  │           │  │                      │  │                 │  │
│  │ scene     │  │ renderer (145KB)     │  │ video_cache     │  │
│  │ animation │  │ glyph_atlas          │  │  GStreamer      │  │
│  │ cursor    │  │ image_cache          │  │  VA-API         │  │
│  │ scroll    │  │ vulkan_dmabuf        │  │  DMA-BUF        │  │
│  │ buffer    │  │ 4 WGSL shaders       │  │                 │  │
│  │ transition│  │                      │  │ webkit_cache    │  │
│  │ faces     │  │ cosmic-text          │  │  WPE WebKit     │  │
│  │ grid      │  │  text shaping        │  │                 │  │
│  └───────────┘  └──────────┬───────────┘  └─────────────────┘  │
│                             │                                    │
│                  ┌──────────▼───────────┐                       │
│                  │   winit (Windowing)  │                       │
│                  └──────────────────────┘                       │
└──────────────────────────────────────────────────────────────────┘
                              │
                 ┌────────────┼────────────┐
                 ▼            ▼            ▼
           ┌─────────┐  ┌─────────┐  ┌─────────┐
           │ Vulkan  │  │  Metal  │  │DX12/GL  │
           │ (Linux) │  │ (macOS) │  │(Windows)│
           └─────────┘  └─────────┘  └─────────┘

Comments