Distro News

Ghostty 1.4 terminal emulator cuts scrollback memory up to 90%, adds Linux EGL rendering

Key Takeaway

Ghostty 1.4 introduces idle-time scrollback compression that reduces memory usage 70-90% while expanding the default history limit to 50 MB, alongside a new EGL-based rendering pipeline for Linux and FreeBSD that improves fractional scaling sharpness.

Summary

Ghostty 1.4, the GPU-accelerated terminal emulator, delivers substantial performance and resource efficiency gains across platforms. The release centers on scrollback compression that activates when terminals are idle, dramatically reducing physical memory consumption for inactive history while automatically decompressing data on demand. This optimization enables a fivefold increase in the default scrollback limit from 10 MB to 50 MB without net memory growth for typical workloads.

Linux and FreeBSD users receive particular attention through a redesigned OpenGL rendering architecture. The new implementation abandons GtkGLArea in favor of direct EGL rendering on a dedicated thread, with frames delivered to GTK via DMABUF and triple buffering to mitigate tearing. The update also completes Kitty graphics protocol support for animated in-terminal images, adds a ghostty +ssh wrapper for seamless remote terminfo deployment, and introduces drag-and-drop terminal split rearrangement. However, raised GTK 4.18 and libadwaita 1.7 requirements exclude native builds on Ubuntu 24.04 LTS, pushing users toward Flatpak or older versions.

Rendering pipeline and memory architecture changes

  • Scrollback compression: Idle-time compression reduces physical memory for inactive terminal history by 70-90% on 64-bit Linux and macOS, with transparent decompression during scrollback or search operations.
  • ASCII parsing throughput: Plain text parsing performance increased from 128 MB/s to 725 MB/s, a 5.7x improvement, with real-world terminal recording processing up 25% and large-scrollback resize operations up to 6x faster.
  • Linux EGL rendering: The GTK build replaces GtkGLArea with direct EGL frame generation on a dedicated thread, passing completed frames to GTK through DMABUF with triple buffering for reduced tearing.
  • Fractional scaling: The new pipeline improves text and box-drawing character sharpness at non-integer scaling levels including 125% and 150%, with CPU fallback when GPU drivers lack DMABUF export capability.
  • Kitty graphics protocol: Full protocol implementation enables animated image display and relative image positioning within terminal output, expanding application capabilities for inline visual content.

Why it matters

The scrollback compression and rendering improvements position Ghostty as a more viable alternative to established terminals like Alacritty and WezTerm for Linux users who prioritize memory efficiency and HiDPI display support. The Ubuntu 24.04 LTS exclusion highlights ongoing tension between rapid GTK/libadwaita evolution and long-term distribution support cycles, reinforcing Flatpak's role as a compatibility bridge for newer application releases.

Original reference: linuxiac.com →