Cool Retro Term is a terminal emulator that mimics the look of a 1980s cathode-ray tube monitor โ complete with scanlines, phosphor glow, screen curvature, and the faint flicker of a degaussing CRT. It is built on Qt 5 and QML, renders its effects through OpenGL, and underneath all that visual nostalgia it is a fully functional VT100-compatible terminal with unlimited scrollback. If you spend hours in the terminal and want something more characterful than the default GNOME Terminal, Cool Retro Term delivers without sacrificing usability.

Why Cool Retro Term Exists
The project was started by Filippo Scognamiglio as an experiment in GPU-accelerated terminal rendering. The goals were straightforward:
- Prove that aesthetic terminal effects could run at 60 fps without burdening the CPU.
- Provide a nostalgia-accurate CRT simulation that went beyond simple colour filters.
- Maintain full compatibility with standard terminal workflows โ SSH sessions, text editors, ncurses applications.
The result was a terminal that looked like it belonged in a 1983 computer lab but behaved exactly like any modern emulator under the surface.
Step-by-Step Installation
Method 1: PPA (Recommended)
The quickest route on Ubuntu 14.04 and later:
sudo add-apt-repository ppa:noobslab/apps
sudo apt update
sudo apt install cool-retro-term
Launch from the application menu or from another terminal:
cool-retro-term &
Method 2: Build from Source
Building from source gives you the latest upstream features. Install the build dependencies first:
sudo apt install git build-essential qmlscene qt5-qmake qt5-default qtdeclarative5-dev \
qml-module-qtquick-controls qml-module-qtgraphicaleffects \
qml-module-qtquick-dialogs qml-module-qtquick-localstorage \
qml-module-qtquick-window2 qml-module-qt-labs-settings \
qml-module-qt-labs-folderlistmodel
Clone and build:
git clone --recursive https://github.com/Swordfish90/cool-retro-term.git
cd cool-retro-term
qmake
make -j$(nproc)
Run directly from the build directory:
./cool-retro-term
Or install system-wide:
sudo make install
Method 3: AppImage
If you prefer a portable binary that requires no installation:
- Download the AppImage from the project’s releases page.
- Make it executable:
chmod +x cool-retro-term-*.AppImage - Run it:
./cool-retro-term-*.AppImage
Customisation
Right-click inside the terminal window and select Settings to access the full configuration panel.
Built-In Profiles
Cool Retro Term ships with several profiles that replicate specific vintage hardware:
| Profile | Look |
|---|---|
| Default Amber | Orange-on-black, mild curvature |
| Green Phosphor | Classic green-on-black, heavy scanlines |
| Apple ][ | White-on-black, high bloom |
| Vintage | Heavy flicker, strong curvature, faded phosphor |
| IBM 3278 | Green text, minimal effects |
Select a profile from Settings โ Profiles and fine-tune from there.
CRT Effects
Every visual parameter is individually adjustable:
- Screen curvature โ 0 % (flat) to 100 % (fishbowl).
- Scanlines โ density and brightness of horizontal line artefacts.
- Bloom โ the phosphor glow around bright characters.
- Ambient light โ a soft halo that illuminates the “bezel” around the screen.
- Flicker โ simulates the 50/60 Hz refresh of a real CRT.
- Jitter โ horizontal line displacement, mimicking a poorly tuned monitor.
- Static noise โ random pixel noise overlaid on the image.
- RGB shift โ chromatic aberration separating colour channels.

Fonts
The Fonts section offers several bitmap-style typefaces at different sizes. For a period-accurate look, choose one of the built-in options (Commodore PET, Apple II, Terminus). To use a modern system font:
- Open Settings โ Fonts.
- Disable Use built-in fonts.
- Select any monospace font installed on your system.
Opacity and Background
You can set terminal background opacity to let your wallpaper show through the CRT effects โ a surreal but visually striking combination:
Settings โ General โ Background opacity โ 85%
Practical Daily Use
Despite the visual effects, Cool Retro Term is a serious working terminal. Workflows that run perfectly:
- SSH sessions. Colours render correctly through SSH; ncurses applications like
htop,mc, andnanodisplay properly. - Vim and Neovim. Syntax highlighting works. For best results set
set termguicolorsin your vimrc if using a 256-colour theme. - tmux and screen. Session multiplexing works flawlessly. This is the recommended way to get “tabs” since Cool Retro Term does not natively support them.
- Git workflows.
git log --graph --oneline,git diff, and interactive rebase all render correctly. - Build output. Compiler errors, test runners, and CI logs scroll at full speed. The unlimited scrollback buffer means you will not lose output from long builds.
Setting Cool Retro Term as Default
sudo update-alternatives --install /usr/bin/x-terminal-emulator x-terminal-emulator /usr/bin/cool-retro-term 50
sudo update-alternatives --config x-terminal-emulator
Select cool-retro-term from the numbered list. From this point, any application that invokes the default terminal (file managers, IDE “Open Terminal” actions) will launch Cool Retro Term.
Performance Considerations
The CRT effects are GPU-bound, not CPU-bound. On hardware with OpenGL 2.0 or later support the overhead is minimal:
| GPU Class | Typical FPS | Notes |
|---|---|---|
| Dedicated NVIDIA/AMD | 60 fps | No measurable overhead |
| Intel HD 4000+ | 60 fps | Smooth at default settings |
| Intel GMA (pre-2010) | 15-30 fps | Reduce curvature and bloom |
| Virtual machine (llvmpipe) | 5-10 fps | Disable most effects |
If you notice sluggish scrolling, reduce Bloom, Ambient light, and Screen curvature first โ these are the most shader-intensive effects.

Common Pitfalls
- Missing QML modules at build time. The build will succeed but the application will crash at launch with QML import errors. Double-check that every
qml-module-*package listed in the dependency block is installed. - Running on Wayland without XWayland. Cool Retro Term uses X11-specific OpenGL contexts. Under a pure Wayland session it may fail to launch. Ensure XWayland is enabled or launch with
QT_QPA_PLATFORM=xcb cool-retro-term. - Excessive scrollback consuming RAM. On sessions with continuous high-volume output (tailing large log files, streaming build output) the unlimited scrollback buffer can grow to hundreds of megabytes. Set a cap in Settings โ General โ Scrollback if memory is tight.
- Expecting colour accuracy. The CRT effects intentionally distort colours. If you rely on precise colour output (CSS colour previews, image metadata), switch to a standard terminal for those tasks.
- Forgetting
--recursivewhen cloning. The repository uses Git submodules for the QML terminal widget. Cloning without--recursiveresults in an emptyqmltermwidget/directory and a build failure. Fix it after the fact with:git submodule update --init --recursive
Final Thoughts
Cool Retro Term occupies a unique niche: it is the only terminal emulator that treats visual personality as a first-class feature while remaining fully compatible with professional workflows. Install it for the aesthetics, keep it for the unlimited scrollback and the conversation-starting green phosphor glow.