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
-
The Gnome Foundation Struggling to Stay Afloat
The foundation behind the Gnome desktop environment is having to go through some serious belt-tightening due to continued financial problems.
-
Thousands of Linux Servers Infected with Stealth Malware Since 2021
Perfctl is capable of remaining undetected, which makes it dangerous and hard to mitigate.
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.
-
Fedora 41 Beta Available with Some Interesting Additions
If you're a Fedora fan, you'll be excited to hear the beta version of the latest release is now available for testing and includes plenty of updates.
-
AlmaLinux Unveils New Hardware Certification Process
The AlmaLinux Hardware Certification Program run by the Certification Special Interest Group (SIG) aims to ensure seamless compatibility between AlmaLinux and a wide range of hardware configurations.
-
Wind River Introduces eLxr Pro Linux Solution
eLxr Pro offers an end-to-end Linux solution backed by expert commercial support.
-
Juno Tab 3 Launches with Ubuntu 24.04
Anyone looking for a full-blown Linux tablet need look no further. Juno has released the Tab 3.