A Plex alternative
Pilot Program
Dim, a relatively new open source media manager, looks to implement the appearance and feature set of the commercial Plex media center.
Many media players, also known as home theater software suites or media managers, are available for Linux. Of particular interest are the candidates that rely on the client-server principle, which users can host themselves and which also support secure access from the outside. The better-known representatives of this genre include the open source projects Kodi, Emby, LibreELEC, and Jellyfin, and the primarily proprietary Plex [1], which originated as a fork of the Xbox Media Center's (XBMC) Frodo version.
Although not open source, Plex is very popular on Linux because of its extensive functionality, good user interface, and suitability as a streaming media server. However, it has shifted too heavily in the direction of Netflix and Amazon Prime for many users, while basic features have been missing for years, such as smooth fading in and out of audio tracks.
For about a year, developers have been working on Dim [2], open source software that emulates Plex's appearance and functionality as closely as possible. First released in April 2021, the current version is Dim 0.3.0-rc6. By the time you read this article, version 0.3.1 should already be available or close to official release.
Developed from scratch, Dim is not based on an existing application. It aims to scan and play media from anywhere with minimal setup effort by the user. The project is still at an early stage, but Dim already promises to morph into a viable free alternative to the proprietary Plex. For that reason, I will take a closer look at how to install Dim, where the project stands today, and what its future plans are.
Installation
You can install Dim, which uses GitHub as its development platform, on your own hardware and control it via a web interface (Figure 1). You can set it up on a home computer or on a server on the web. All planned functions can be externally accessible if so desired. Containerization with Docker is an alternative to installing Dim directly.
One unique selling point is that Dim is implemented in Rust. The Rust programming language, which has been under development by Mozilla since 2010 and is now supported by a large community, is currently establishing itself as a second kernel language alongside C. The design brief for Rust is that it has to be simple and easy to use while offering better security and faster application execution speeds. Plex, on the other hand, which Dim is trying to emulate, is a Python program.
Because there are no binary packages of Dim for distributions yet, it is important to check the required dependencies on multimedia libraries before you install. The libraries should already be in place on a normal desktop installation, assuming that FFmpeg is installed. Listing 1 shows how to install the required packages on Debian and its derivatives (first line), as well as on Fedora and other RPM-based systems.
Listing 1
Dependencies
$ sudo apt install libva2 libva-drm2 libharfbuzz-bin libfontconfig1 libfribidi0 libtheora0 libtheora-bin libvorbis0a libvorbisenc $ sudo dnf install libva libva-vdpau harfbuzz fontconfig fribidi libtheora libvorbis
ZIP or Docker?
Once all the dependencies are resolved, download the ZIP file of the current Dim version from GitHub [3]. Unpack it as shown in Listing 2, change to the unpacked directory, and run the configuration process there (Figure 2). After completing the action, call the Dim web interface by typing http://0.0.0.0:8000 in your browser's address bar. If needed, you can change the port number for the service there. Listing 3 describes how to install with Docker. You will find the image, including a README file, at /var/lib/docker/overlay2
.
Listing 2
ZIP Installation
$ unzip ./release-linux.zip $ tar -xvzf ./release.tar.gz $ cd release && ./dim
Listing 3
Docker Installation
### Install Docker for Debian and derivates: $ sudo apt install docker.io ### Install Docker on Fedora: $ sudo dnf install docker-ce ### Download the latest Dim image: $ sudo docker pull ghcr.io/dusk-labs/dim:dev
Once you have set up Dim and opened the web interface in the browser, the next step is to create an account. You can then start populating the media database (Figure 3). Currently, Dim is limited to movies, series, and anime. Music, images, and other media formats will follow as soon as the developers are satisfied with the implementation of the formats that are already supported.
In the web view, like in Plex, a sidebar on the left with the controls takes up about a quarter of the window width. The rest of the display is used to show the indexed media. Below the user logo, which you can customize to suit your own preferences, you will find the search bar and below that again the collections you created. If so desired, you can hide the control sidebar using the small arrow bottom right, which means you can use the entire screen to display the media and metadata.
Libraries
When you log in for the first time, the application prompts you to create a library by assigning a name and passing the path to the desired files to the Scraper (a small utility or built-in routine that collects data from various sources before typically serving up the data centrally via a database). Use the option here to define whether the library is for movies or series. Dim treats the two categories differently as far as the metadata – which comes from The Movie Database (TMDB) – is concerned.
Dim only supports folders. It does not show individual files in the overview at all. However, a mode to include individual files is on the roadmap. If you hover the mouse pointer over a folder, an orange rectangle appears on the right. You can then click it to select the folder (Figure 4). Don't forget to assign a name to the collection, otherwise the Add Library button will remain disabled. If you want to create more collections, mouse over the Libraries tab and click on the plus sign that appears.
Below Libraries, the Dashboard tab shows the most recently viewed media at the top. Above the file name, you will find automatically generated tags such as the year of creation or genre. Clicking on the keywords, which are defined as links, takes you to other media with the same tag. Dim does not currently support individual tagging.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Canonical Bumps LTS Support to 12 years
If you're worried that your Ubuntu LTS release won't be supported long enough to last, Canonical has a surprise for you in the form of 12 years of security coverage.
-
Fedora 40 Beta Released Soon
With the official release of Fedora 40 coming in April, it's almost time to download the beta and see what's new.
-
New Pentesting Distribution to Compete with Kali Linux
SnoopGod is now available for your testing needs
-
Juno Computers Launches Another Linux Laptop
If you're looking for a powerhouse laptop that runs Ubuntu, the Juno Computers Neptune 17 v6 should be on your radar.
-
ZorinOS 17.1 Released, Includes Improved Windows App Support
If you need or desire to run Windows applications on Linux, there's one distribution intent on making that easier for you and its new release further improves that feature.
-
Linux Market Share Surpasses 4% for the First Time
Look out Windows and macOS, Linux is on the rise and has even topped ChromeOS to become the fourth most widely used OS around the globe.
-
KDE’s Plasma 6 Officially Available
KDE’s Plasma 6.0 "Megarelease" has happened, and it's brimming with new features, polish, and performance.
-
Latest Version of Tails Unleashed
Tails 6.0 is based on Debian 12 and includes GNOME 43.
-
KDE Announces New Slimbook V with Plenty of Power and KDE’s Plasma 6
If you're a fan of KDE Plasma, you'll be thrilled to hear they've announced a new Slimbook with an AMD CPU and the latest version of KDE Plasma desktop.
-
Monthly Sponsorship Includes Early Access to elementary OS 8
If you want to get a glimpse of what's in the pipeline for elementary OS 8, just set up a monthly sponsorship to help fund its continued existence.