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
-
Gnome Fans Everywhere Rejoice for the Latest Release
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.
-
Latest Cinnamon Desktop Releases with a Bold New Look
Just in time for the holidays, the developer of the Cinnamon desktop has shipped a new release to help spice up your eggnog with new features and a new look.
-
Armbian 24.11 Released with Expanded Hardware Support
If you've been waiting for Armbian to support OrangePi 5 Max and Radxa ROCK 5B+, the wait is over.
-
SUSE Renames Several Products for Better Name Recognition
SUSE has been a very powerful player in the European market, but it knows it must branch out to gain serious traction. Will a name change do the trick?
-
ESET Discovers New Linux Malware
WolfsBane is an all-in-one malware that has hit the Linux operating system and includes a dropper, a launcher, and a backdoor.
-
New Linux Kernel Patch Allows Forcing a CPU Mitigation
Even when CPU mitigations can consume precious CPU cycles, it might not be a bad idea to allow users to enable them, even if your machine isn't vulnerable.
-
Red Hat Enterprise Linux 9.5 Released
Notify your friends, loved ones, and colleagues that the latest version of RHEL is available with plenty of enhancements.
-
Linux Sees Massive Performance Increase from a Single Line of Code
With one line of code, Intel was able to increase the performance of the Linux kernel by 4,000 percent.
-
Fedora KDE Approved as an Official Spin
If you prefer the Plasma desktop environment and the Fedora distribution, you're in luck because there's now an official spin that is listed on the same level as the Fedora Workstation edition.
-
New Steam Client Ups the Ante for Linux
The latest release from Steam has some pretty cool tricks up its sleeve.