Skip to content

v0.4.0

Choose a tag to compare

@tanrax tanrax released this 11 Jun 19:19
· 26 commits to main since this release

emacs-gpu 0.4.0

The GNU/Linux backend arrives, and both backends get a much faster draw path.

GNU/Linux (OpenGL ES / EGL) — new

  • Full OpenGL backend behind the same neutral driver layer as Metal:
    text (CJK/BiDi/compositions/emoji), faces and decorations, fringes,
    images (PNG/JPEG/SVG/GIF), mode/tab lines, the four cursor types —
    pixel-accurate against the stock GTK/cairo renderer across a
    22-scenario parity suite.
  • Inline video via GStreamer (gpu-video-insert, gpu-video-mode).
  • Buffer-switch cross-fade and all the animated cursor effects
    (sonicboom, torpedo, spring, ripple, pixiedust, hollow, beam).
  • Build from source on any X11 distro: ./configure --with-gpu
    (Debian/Ubuntu package list in the README).

Performance (both backends)

  • Glyphs and solid fills now share one batched draw call, clipped on
    the CPU: full-frame redraws on Linux are now faster than the cairo
    backend (1.19x) on the integrated-GPU test machine; page scroll is
    at parity. At 4K the GPU leads every motion workload (1.8x-11.5x).
  • The OpenGL present blits only the damaged region, driven by
    EGL_EXT_buffer_age + eglSwapBuffersWithDamage (on by default,
    correct under any compositor).
  • Metal gets the same batched draw path (byte-identical output) plus a
    fringe-bitmap texture cache that also fixes a small memory leak.

Downloads

  • emacs-gpu-0.4.0-macos-arm64.zip: macOS app (arm64, macOS 13+),
    signed and notarized. Unzip and double-click, or
    brew install tanrax/tap/emacs-gpu.
  • emacs-gpu_0.4.0_amd64.ubuntu24.04.deb: Ubuntu 24.04+ / Mint 22+
    (and derivatives). sudo apt install ./emacs-gpu_0.4.0_amd64.ubuntu24.04.deb
  • emacs-gpu_0.4.0_amd64.debian12.deb: Debian 12 (bookworm).
    Same command. (Two .debs because Debian and Ubuntu ship incompatible
    libjpeg sonames.)

Both .debs are built --with-gpu --with-tree-sitter --with-native-compilation=aot, install as /usr/bin/emacs (they
conflict with the distro emacs packages) and include the GStreamer
video path; the GPU backend enables itself on X11, with
EMACS_GPU_DISABLE=1 as the opt-out.

macOS app

Universal feature set as 0.3.x (native-comp AOT + tree-sitter +
video player), rebuilt from the 0.4.0 tree. arm64, macOS 13+.
Unzip and double-click; or brew install tanrax/tap/emacs-gpu.