|author||Kirill Chibisov <firstname.lastname@example.org>||Mon Jan 27 03:54:33 2020 +0300|
|committer||GitHub <email@example.com>||Mon Jan 27 03:54:33 2020 +0300|
Rework Fontconfig fallback to use cached list from font_sort Previous implementation was querying Fontconfig using `charset` in a pattern, which was leading to unpredictable fallbacks in some cases, since Fontconfig was picking the font with the most coverage for a given charset, regardless of user configuration. Moreover all fallback was based on font_match which is extremely slow for such performance sensitive task as a fallback, so alacritty had a hard times on vtebench's unicode-random-write. The new approach is to use some internal fallback list from font_sort and iterate over it to get a proper fallback font, since it matches the following example query from `fc-match`: `fc-match -s "monospace:pixelsize=X:style=Y" That being said it's more intuitive for users to setup their system Fontconfig fallback, and also most applications are doing similar things. Moreover the new implementation uses internal caches over Fontconfig API when possible and performs font matches only once during load of requested font with font_sort, which leads to dramatically improved performance on already mentioned vtebench's unicode-random-write. Fixes #3176. Fixes #3134. Fixes #2657. Fixes #1560. Fixes #965. Fixes #511.
Alacritty is the fastest terminal emulator in existence. Using the GPU for rendering enables optimizations that simply aren't possible without it. Alacritty currently supports macOS, Linux, BSD, and Windows.
Alacritty is a terminal emulator with a strong focus on simplicity and performance. With such a strong focus on performance, included features are carefully considered and you can always expect Alacritty to be blazingly fast. By making sane choices for defaults, Alacritty requires no additional setup. However, it does allow configuration of many aspects of the terminal.
The software is considered to be at a beta level of readiness -- there are a few missing features and bugs to be fixed, but it is already used by many as a daily driver.
Precompiled binaries are available from the GitHub releases page.
Some operating systems already provide binaries for Alacritty, for everyone else the instructions to build Alacritty from source can be found here.
pacman -S alacritty
Unofficial builds of stable tags can be found in Fedora Copr: pschyska/alacritty.
dnf copr enable pschyska/alacritty dnf install alacritty
If you want to help test pre-releases, you can additionally enable pschyska/alacritty-testing.
nix-env -iA nixos.alacritty
zypper in alacritty
If you‘re not running Pop!_OS, you’ll have to add a third party repository first:add-apt-repository ppa:mmstick76/alacritty
apt install alacritty
eopkg install alacritty
pkg install alacritty
brew cask install alacritty
choco install alacritty
scoop bucket add extras scoop install alacritty
Prebuilt binaries for Linux, macOS, and Windows can be downloaded from the GitHub releases page. If your desktop environment has trouble rendering the default SVG icons, you can find a prerendered SVG as well as simplified versions of the SVG in the
On Windows, Alacritty also requires Microsoft's VC++ redistributable.
For Windows versions older than Windows 10 (October 2018 Update), Alacritty requires winpty to emulate UNIX's PTY API. The agent is a single binary (
winpty-agent.exe) which must be in the same directory as the Alacritty executable and is available through the GitHub releases page.
You can find the default configuration file with documentation for all available fields on the GitHub releases page for each release.
Alacritty looks for the configuration file at the following paths:
On Windows the config file is located at:
A full guideline about contributing to Alacritty can be found in the
If you run into a problem with Alacritty, please file an issue. If you've got a feature request, feel free to ask about it. Please just keep in mind Alacritty is focused on simplicity and performance, and not all features are in line with that goal.
Before opening a new issue, please check if it has already been reported. There's a chance someone else has already reported it, and you can subscribe to that issue to keep up on the latest developments.
Is it really the fastest terminal emulator?
In the terminals we‘ve benchmarked, Alacritty is either faster or way faster than the others. If you’ve found a case where this isn't true, please report a bug.
Why isn't feature X implemented?
Alacritty has many great features, but not every feature from every other terminal. This could be for a number of reasons, but sometimes it‘s just not a good fit for Alacritty. This means you won’t find things like tabs or splits (which are best left to a window manager or terminal multiplexer) nor niceties like a GUI config editor.
macOS + tmux + vim is slow! I thought this was supposed to be fast!
This appears to be an issue outside of terminal emulators; either macOS has an IPC performance issue, or either tmux or vim (or both) have a bug. This same issue can be seen in
Terminal.app. I've found that if tmux is running on another machine which is connected to Alacritty via SSH, this issue disappears. Actual throughput and rendering performance are still better in Alacritty.
Alacritty discussion can be found in
#alacritty on freenode.
Wayland is used by default on systems that support it. Using XWayland may circumvent Wayland specific issues and can be enabled through:
env WINIT_UNIX_BACKEND=x11 alacritty
Alacritty is released under the Apache License, Version 2.0.