Ghostty Terminal Emulator Transitions to Non-Profit Status
Mitchell Hashimoto, one of the founders of HashiCorp and lead developer behind Ghostty, a GPU-accelerated open-source terminal emulator launched in 2023, announced that the app has formally become a non-profit project through fiscal sponsorship by Hack Club, a registered 501(c)(3) organization.
In Ghostty’s case, Hack Club now manages compliance, donations, accounting, and public financial transparency. Hashimoto says this structure reinforces Ghostty’s commitment to remaining free and open source, provides legal assurances to users and contributors, and establishes a sustainable foundation beyond any single individual’s involvement.
https://linuxiac.com/ghostty-terminal-emulator-transitions-to-non-profit-status/Open linkView original on toast.ooo195
Comments28
Someone explained to me once why a GPU-accelerated terminal emu might be useful, but I can't recall what you might use that for. Anyone have an example of what a good use case would be?
It's just faster and smoother when scrolling text, and all the work of shifting those pixels is pushed off onto specialized hardware that's much more efficient at it. I use alacritty which is a different GPU-accelerated terminal emulator and I'm very fond of it. It's not a huge deal, I just figure that if I have the hardware, I might as well use it.
Oh, that makes sense. It also makes more sense why it's called "Alacritty," now.
How much VRAM does alacritty use? On my machine, nvidia-smi reports 6MiB for konsole, which I'm seems to be some default reserved by Qt apps (eg dolphin reports the same amount)
Most of my open terminals are using 9 MiB, although one is using 17.
Bias warning: I spend most of my workdays in the terminal, and I'm also a contributor to Ghostty.
The most noticeable difference is smoothness when you're doing intensive terminal work like scrolling through large log files, running TUIs like btop/lazygit/yazi/lnav, or using multiplexers like tmux with multiple panes. Without GPU acceleration, you'll see stuttering and lag with heavy output or complex interfaces.
It also makes a big difference in editors like Neovim, especially with syntax highlighting in large files or when scrolling quickly through code. The rendering just feels snappier and more responsive overall.
Basically, if you spend significant time in the terminal (like I do), the improved responsiveness is immediately noticeable. If you mostly use it for basic shell commands, the benefit is negligible.
Long as we've got an expert here (not sarcastic, this is cool insight, thank you) what's the downside?
I am not the expert, but… Complexity?
Sometimes I use Foot instead of Alacritty/Wezterm to save RAM in extreme situations. Foot's also really nice because it uses a server/client model (again, saving RAM with many terminals), though I don’t know if that’s fundamentally impossible with GPU terminals.
Yeah, complexity is a valid concern. But if your workflow stands to benefit from the performance gains, I'd say it's a worthy trade-off.
The server/client model that Foot uses is actually pretty clever for RAM-constrained situations, especially if you're spawning tons of terminal instances. AFAIK, it's not fundamentally impossible with GPU terminals. Ghostty has single-instance mode on Linux that shares some resources, but the RAM savings aren't as dramatic because GPU terminals maintain texture buffers and rendering state in VRAM per instance.
The catch with Foot's approach is all I/O gets multiplexed on a single thread. That's fine for lightweight usage, but for workflows like mine that involve heavy TUIs and multiple tmux sessions with dozens of windows/panes with big scrollback buffers, it becomes a bottleneck when one or more panes are flooding output from scripts/playbooks/etc.
Oh I didn’t know this. I will have to try it sometime.
Yeah, for sure. Different use cases. Hence I can keep both installed, heh.
One downside on a laptop is reduced battery life.
I tried Ghostty briefly before, but you have to really try hard to notice preformance difference over Konsole.
Cool idea, but not useful for those that spend all day in a terminal imnho.
Like daq mentioned, reduced battery life is one downside if you're on a laptop. RAM usage is also higher, usually 50-100MB more per instance than traditional terminals (sometimes more depending on the terminal and your config).
In terms of Ghostty specifically, it's still a fairly young project, so the chance of hitting an edge case issue is higher than if you were using a more mature GPU-accelerated terminal.
Oh, thanks! I have lazyvim, btop, and Musikcube already, but I've never tried them in something like Ghostty or Alacritty. Might be worth trying!
Also, I'll be looking into some of those programs you mentioned!
Say you have a large amount of data going to stdout for some reason (e.g. dmesg for a system that's been online or a year). Your terminal will take time to render this to the screen, and a reasonable way to do draws may be line by line in the text. The terminal may also have an XXX MB buffer, where it will draw however many lines it can at a time.
If the buffer fills, then you are forced to wait for a draw to occur before more data can go in. This locks the whole pipeline. With a lot of data this can block the terminal buffering, the stdout buffet, printf() from the other program, etc.
The GPU rendering helps alleviate this by offloading some of this rendering work to the GPU, which had its own buffers, etc., and is likely able to draw everything to the screen quicker than the CPU could regardless. This results in a smoother pipeline overall.
A good counter example of this is to use a physical terminal/console, like a serial port with a low baud rate (e.g. /dev/ttyS0 on a raspberry pi). If you run dmesg on one of these devices, you can literally see the text being printed line by line.
This also comes at a cost of CPU cycles and power. If you have a GPU, and it can perform efficient and quick rendering, why would you not use it? It probably shouldn't be the only reason to use a terminal emulator, but it's an added bonus, and there are a few now that support it that you can pick from.
My best guess is some local LLM AI bullshit running in terminal.
GPU accelerated terminal emulators first came about in the mid aughts, though the modern ones that are good, the ones like gostty, really first showed up around 2015. the value for them is that rendering text can be a bottleneck in long-running operations on the terminal in a display environment (as opposed to a raw shell). i only know of one shell with ai features, warp, but i avoid proprietary tools that run system breaking actions so i can't speak to how bullshit is
XD
I guess this is an honest opinion
https://news.ycombinator.com/item?id=29528343
There's probably no big reason. It's just that text is printed much faster. There's no huge gain, especially for general usage and most use cases. But why not? Why shouldn't you use the gpu if you have one?
If gpu would've been first, you'd wonder why you should use cpu if it's slower. Faster is always(?) better and I as a user don't really care if it is wayland or x11, why should I care about gpu or cpu? It just sounds great, but under the hood, it's just a marketing stunt.
It's nice to have but I just don't care. Like if earbuds last 6 or 8 hours. They charge within 5 or 10 minutes, why should I care? Or like losless audio. My headphones can't play it, and more important I can't hear a difference. It's nice, I'll take it, but I don't care about it.
A little bit more about the sponsor on HackerNews.
If you are a lazy bastard not wanting to click this, basically there a quite a few issues with the main goal of Hack Club (not the fiscal sponsorship sidequest), such as not using a privacy policy for kids for 11 years, many leaks of said data and misclassifying workers in at least 2024.
Can I ssh into a server and not lose all productivity yet? Last time I tried ghostty I had to setup separate configs for my servers because they didn't recognize it :/
The terminfo issue was resolved in the v1.2.0 release.
SSH shell integration is disabled by default, but once you enable it in your config you'll be good to go.
https://ghostty.org/docs/features/shell-integration
This is a terminfo issue. When you ssh into the server, run
export TERM=xterm. That will tell the server how to handle your activityWhy does a terminal emulator need GPU acceleration?
My dev env is in the terminal. It really does help speed it up to nearly ad fast as pure GUI.
Ok? So is mine. You maybe missed my comment about redirects? Why are people pushing so much to stdout that it is causing a slowdown?
Most apps print stuff in the same loop as everything else, so stuff like alacritty might help it a little bit. It's not really that significant most of the time, however.
Check my reply above in this thread!
Huh. If rendering is an issue I usually just redirect into a file or null.