AB9IL.net: Setting Up Alacritty and Wezterm

Written and curated by Philip Collier / AB9IL
HOME Software Defined Radio WiFi Antennas Air and Space Radio Linux or Windows Digital Audio Liberation Tech Video Gallery Photo Gallery

Live Internet SDR List Radio Caroline BBC Radio 4 LW


Advertisement
Airband Radio on the RTL-SDR
How to maximize RTL-SDR performance for aeronautical comms.

We earn a commission if you make a purchase, at no additional cost to you.
comparison of alacritty and wezterm

Since installing Alacritty as my terminal emulator, I have enjoyed it's responsiveness and configurability. Wezterm is getting a lot of attention for its nice features and easy configurability. Also, both are GPU accelerated, capable of scrolling and rendering very quicly.

GPU acceleration is a way to speed up terminals, in which certain computational and rendering tasks are accomplished in the graphics card instead of the CPU. Most specifically, it is rendering and scrolling which are best sent to the GPU for processing. Splitting the workload in that manner prevents increases in latency when large volumes of text are shown in the terminal. It is not so noticeable for small tasks, such as opening a terminal and editing small scripts or running "man" for a command. It is very noticeable when scrolling within a large text file or taking a lot of text output from a runing process.

Speed Testing Alacritty and Wezterm

Just for fun and out of curiosity, I ran the time command for a task which printed a million lines of text to the screen, comparing Mate-Terminal, Alacritty, and Wezterm. I opened a Bash shell, created a variable containing the text, then used echoed that text to the screen.

Printing text from a large array variable
Average real time required (seconds):

    Mate Terminal   |    Alacritty   |    Wezterm
-------------------------------------------------
    11.492               7.766            10.763

While playing games with a million lines of text, I thought of writing the data to a file and using cat to display it in the terminal:

Printing text catted from a file
Average real time required (seconds):

    Mate Terminal   |    Alacritty   |    Wezterm
-------------------------------------------------
    4.637                2.110            5.970

Results indicate that Alacritty is the fastest terminal emulator, with Wezterm somewhat faster than Mate Terminal. For emphasis, I'll repeat that there is not much latency difference for small tasks involving a few pages of text o a few hunderd lines of code. I had to really slam these terminls with a million lines of text to make the differences really show.

Installing Alacritty or Wezterm

Alacritty is available from multiple sources. MacOS and Windows users, or Linux users seeking the source code should start with the links set up at Alacritty.org. For the Ubuntu package, ready to install, see my page on Alacritty PPAs and use the one run by Antoine Latter.

Get Wezterm's stable or nightly releases from the download links at Wezfurlong.org. It is fully open source, meaning you may download the code to compile locally or download pre-built binary packages for easy istallation. I was pretty excited about running the very latst code, so I installed a nightly build on my Ubuntu Linux desktop PC. Wezterm is also available on Flathub.

Try My Configs for Alacritty or Wezterm

Over the past couple of years, I have gradually refined my terminal emulator setup. Mostly, I set them to be simple, fast, and look good. I use Tmux as a multiplexer, enabling me to run multiple terminal panes in one window, and multiple windows in tabs.

Alacritty is configured in YAML, which means you should take care to follow the proper syntax, especially with regard to indentations. I suggest starting with a working template or or my config, which you can download. Then make tweaks and adjustments as necessary for your workflow.

Since Wezterm has some Tmux-like features, such as multiple tabs and split panes, I have created two Wezterm configurations. Tne full featured config is for a stand alone Wezterm, with keybinds for splitting window panes and navigating them similarly to running with Tmux. The other config is minimal, set up almost identically to my Alacritty config. It does not have many keybinds - just the basics, as it is intended to run with Tmux for the other cool terminal goodies.

Wezterm is configured in Lua, which is pretty easy once you become familiar with the syntax. There are more than 700 pre defined color schemes available; you can certainly find something to make your terminal beautiful. In my case, the dark backgrounds with bright colors work best. Try them and see what works for you!

We have looked at performance seen in my local installations of Alacritty and Wezterm. Both are great. Each may be configured to work well with Tmux. I have enjoyed Running Wezterm both as a stand alone terminal and as a drop-in replacement for Alacritty. If you want to get started with either, I hope that the configurations linked here will help!




© 2005 - 2024 AB9IL.net, All Rights Reserved.
About Philip Collier / AB9IL, Commentaries and Op-Eds, Contact, Privacy Policy and Affiliate Disclosure, XML Sitemap.

This website is reader-supported. As an Amazon affiliate, I earn from qualifying purchases.