Musical concept image

Trix Player – Linux music player built with Rust

Linux offers a wide variety of terminal-based music players, but there are still many we haven’t covered on LinuxLinks. Or I should say that new entrants come thick and fast.

Trix Player (or Trix) is billed as a lightweight, high-performance music player written in Rust. Aimed at Linux users who favor the terminal, it delivers a clean, text-based user interface (TUI), efficient vim-style keyboard navigation, and minimal resource consumption.

Installation

I wanted to evaluate Trix with the Manjaro distribution. I often use Manjaro for testing software. As it’s Arch based it offers access to the Arch User Repository, a community-driven repository. There’s a package in the AUR which I installed using Pamac.

Installing Trix in Manjaro

While the package installs fine, Trix fails to start. And I also compiled the source code manually. Still no joy.

Fails to run

As Trix is in an early stage of development, there are no reported issues about installation. But I noticed there’s a deb package in the project’s GitHub repository (link is in the Summary Section, there’s also a Fedora package too). Firing up an Ubuntu machine, I installed Trix with the deb package.

The package installs fine.

Installing Trix in Ubuntu

While the program now starts, I didn’t get any sound with my vanilla installation of Ubuntu. After a bit of digging the issue is resolved with the command:

$ sudo apt install --reinstall pipewire-audio-client-libraries libspa-0.2-bluetooth libspa-0.2-jack

In Operation

Here’s an image of Trix in action. I copied our default test CC-licensed music collection to ~/Music which Trix automatically checks. I’ve constrained the width of the terminal so the image fits in well with the website.

Trix in action

The interface has a hints section instructing you to press h for a cheatsheet. It’s really just a help page for the keyboard shortcuts. Trix provdes an nvim-like experience for managing and playing your local music library.

Trix cheatsheet

The UI is attractive and well laid out.

Gapless playback is the uninterrupted playback of consecutive audio tracks, such that relative time distances in the original audio source are preserved over track boundaries on playback. It’s essential if you listen to classical, electronic music, concept albums, and progressive rock. There are a few Linux music players that don’t offer gapless playback. Sadly Trix doesn’t have gapless playback.

Key Features

  • Audio Format Support: MP3, FLAC, WAV, OGG, M4A, AAC, and Opus.
  • TUI: A clean, streamlined interface powered by ratatui.
  • Volume Adjustment: Native ALSA volume control with a software fallback option.
  • Search Functionality: Quick, fuzzy-style filtering for instant track discovery.
  • Playback Features: Shuffle, loop (single track or entire playlist), and seek controls.
  • File Handling: Remove tracks directly within the player.
  • Standards Compliance: Automatically locates your music library using XDG_MUSIC_DIR, or defaults to ~/Music.

Summary

Trix is in a very early stage of development seeing its first release only in late January this year. I am impressed with this music player save for the absence of gapless playback. If the developer decides to support gapless playback I’ll definitely dig deeper into the software.

One of the strengths of Trix is its user interface. Trix uses ratatui to good effect. ratatui is a sublime Rust crate for cooking up terminal user interfaces.

Trix lives up to its lightweight billing. ps_mem reports that memory usage is a mere 6.1MB. That’s a really tiny memory footprint.

Trix certainly wasn’t a smooth installation, but hopefully things will improve with future releases.

Linux has lots of highly polished terminal-based music players. Look at the Related Software section for our picks.

Website: github.com/RIZAmohammadkhan/TerminalMusicPlayer
Support:
Developer: Riza Mohammad
License: MIT License

Trix is written in Rust. Learn Rust with our recommended free books and free tutorials.


Related Software

Terminal-Based Music Players
musikcubeSublime audio engine, library, player and server written in C++
tapThe lightest music player with gapless playback
TizoniaPowerful cloud music player based on OpenMAX IL 1.2 written in C and C++
cmusGreat set of features including the essential gapless playback
termusicMusic Player TUI written in Rust
kewMusic player written in C
spectrumSimple and intuitive music player for tech enthusiasts
ncmpcFrugal Music Player Daemon client
ncmpyMusic Player Daemon client
MOCDesigned to be powerful and easy to use
RMuPSimple music player lacking gapless playback
SirenExtremely frugal with system resources
grumpCLI audio player written in Go
GomuAnother Go music player
mpvcmpc-like control interface for mpv
RustPlayerAudio and radio player written in Rust

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Know a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments