What ghostty-org/ghostty shipped
Written by FoxPlug from public releases; not affiliated with Ghostty. An automatic summary of the public release, pull request and commit data of github.com/ghostty-org/ghostty. Ghostty did not write it and does not use or endorse FoxPlug. Every line links to the public change it describes.
Get a weekly update like this for your product, free
Week of September 21, 2026
What shipped
- Terminal now supports overscan in RenderState, capturing extra rows above and below the viewport to enable smooth fractional scrolling. Pull request #14400
- GTK now uses fractional surface scaling via gdk_surface_get_scale() to keep textures aligned with actual device pixels instead of ceiling to integers. Pull request #14269
- Programs can now request terminal window size in cells using the CSI 8 t sequence (XTWINOPS). Pull request #14375
- Special graphics character writes are now batched for a 6.9× performance improvement when repainting DEC Special Graphics boxes. Pull request #14356
- Glyph cache keys are now stored as packed u64 instead of full RenderOptions, improving font rendering performance. Pull request #14300
- Double-clicking now correctly selects wide characters like Japanese text by resolving character spacers. Pull request #14391
- Fixed cursor jump bug with reverse wrapping when cursor-left or Backspace follows a restored cursor position. Pull request #14390
- Word selection now stops at hard line breaks instead of spanning across them when double-clicking. Pull request #14354
- GTK now installs SIGUSR2 handler before notifying systemd of readiness to prevent D-Bus activation failures on systemd 262+. Pull request #14399
- Nvidia GPU support improved by explicitly initializing a surfaceless EGL display instead of requiring EGL_PLATFORM=surfaceless environment variable. Pull request #14319
Why it matters
This week brings infrastructure for smooth scrolling with overscan support and improved fractional scaling on GTK, alongside significant rendering performance gains from batched character writes and optimized glyph cache keys. Several important fixes address selection behavior with wide characters, systemd integration on newer versions, and GPU compatibility with Nvidia drivers.
Changelog entry
- terminal: add overscan support to RenderState for smooth scrolling Pull request #14400
- gtk: support fractional surface scaling with gdk_surface_get_scale() Pull request #14269
- Support resizing the window with CSI 8 t (XTWINOPS) Pull request #14375
- terminal: batch special graphics character writes for 6.9× performance improvement Pull request #14356
- font: store glyph cache keys as packed u64 Pull request #14300
- terminal: fix word selection across wide characters Pull request #14391
- terminal: fix reverse wrap cursor jump with pending wrap state Pull request #14390
- terminal: stop word selection at hard line breaks Pull request #14354
- gtk: fix systemd Type=notify-reload service activation by installing SIGUSR2 handler before READY=1 Pull request #14399
- opengl: improve Nvidia GPU support with explicit surfaceless EGL display initialization Pull request #14319
- libghostty-vt: expose RenderState overscan in C API Pull request #14404
- opengl: validate exported DMA-BUF planes to prevent crashes on window maximize Pull request #14322
This week: smooth scrolling infrastructure, fractional scaling on GTK, 6.9× faster special graphics rendering, wide character selection fixes, and Nvidia GPU improvements.
This week's updates focus on rendering performance and correctness. We've added overscan support to RenderState for smooth scrolling, improved fractional surface scaling on GTK to align with actual device pixels, and achieved 6.9× faster rendering for special graphics through batching. Glyph cache keys are now packed as u64 for better performance. Bug fixes include proper wide character selection, hard line break handling, systemd integration on newer versions, and Nvidia GPU compatibility.