Get Thread Priorities Working:On Windows, Media Center can set thread priorities and thus playback is prioritized but until now on Linux, this wasn't the case. Because of the lack of thread priorities on Linux, some issues could occur (e.g. pops/jumpy music playback when resampling to 4X DSD (aka DSD256). If you're encountering issues like this, this may be the solution for you! You need to be using
Media Center 23.0.21 and above, as thread priorities have been implemented on Linux! Setting it up requires a couple extra steps to allow allow non-root users to be able to do this. Still want to try this? Okay, follow along (this is the easiest way to set it up)...
First, we need to make sure your user account on Linux is part of the audio group. If you're on
Debian, you already did this as step 0 in the first post so you can skip this first part and move down to the second (editing limits.conf). However if you're on
Ubuntu, Linux Mint, elementary OS or any of their derivatives you may still need to add yourself to this group. Okay, try the following command in a Terminal by either typing the following command or copying and pasting the command in and press Enter (you *may* be prompted for your password);
sudo usermod -a -G audio youruser
NOTE: Replace
yourname with your Linux user account name you're logged into.
If you encounter no errors, you can move onto the next step!
Now, we need to edit
limits.conf to allow non-root users to do this. So with the Terminal open try either typing the following command or copying and pasting the command in and press Enter (you *may* be prompted for your password);
sudo gedit /etc/security/limits.conf
This will now open in the text editor. Scroll down to the bottom of this file and add the following;
@audio - rtprio 100
Save the file, then either logout or reboot the computer. To test this you can now open Media Center 23 and start playing music. When a Terminal window open while playing music in Media Center, you can either type or copy/paste the following command into the Terminal;
ps -T -eo pid,tid,class,rtprio,ni,pri,comm | grep mediacenter23
Now, if you see this as the output...
2946 2946 TS - 0 19 mediacenter23
2946 2956 TS - 0 19 mediacenter23
2946 2966 TS - 0 19 mediacenter23
2946 2967 TS - 0 19 mediacenter23
2946 2968 TS - 0 19 mediacenter23
2946 2970 TS - 0 19 mediacenter23
2946 2972 TS - 0 19 mediacenter23
Something went wrong and thread priorities are not working. Re-read the tutorial and please try again!
However, if you see this as the output...
10059 10059 TS - 0 19 mediacenter23
10059 11871 TS - 0 19 mediacenter23
10059 11872 RR 56 - 96 mediacenter23
10059 11873 RR 46 - 86 mediacenter23
10059 11875 RR 99 - 139 mediacenter23
It's working! The
RR 99 part is what we're looking for. Congrats, threaded priorities are working now!
Get Pulseaudio Output Working:If desired, you can also output using Pulseaudio - keep in mind though that ALSA output is bit-perfect. I'd
highly recommend sticking with ALSA instead of Pulseaudio since Pulseaudio requires resampling to one sample rate, but if you wish to use Pulseaudio for whatever reason you'll need to set it up...
Pulseaudio *should* work out-of-the-box on Debian 8+/Ubuntu 14.04+/Linux Mint 17+ however if you want to cover all your bases on getting Pulseaudio working try the following commands in a Terminal by either typing the following command or copying and pasting the command in and press Enter (you *may* be prompted for your password);
sudo apt-get install libasound2-plugins
NOTE: You don't need to use this command in
Debian Jessie/Stretch 64-bit, Ubuntu 15.04+ 64-bit, Linux Mint 17+ 64-bit and Elementary OS 0.4+ 64-bit!Just open Media Center up, go to Tools > Options > Audio > click the Device settings... button and select pulse as the output device but keep in mind you may need to specify the default output device Pulseaudio uses via the pavucontrol utility.
Setting Default Pulseaudio Device Via PulseAudio Volume Control (pavucontrol):When trying to use the Pulseaudio output in Media Center, you might find yourself with this type of error when trying to play music...
This means the correct output device for Pulseaudio isn't being used, thus why this error is encountered. Fortunately, there's a way to fix this. Open up a Terminal window and either type the following command or copy and paste the command in and press Enter (you *may* be prompted for your password);
sudo apt-get install pavucontrol
After installing, either start PulseAudio Volume Control by typing pavucontrol into the Terminal or by typing in Pulseaudio into the Unity dash until you see PulseAudio Volume Control. Once open, you'll want to go to the Configuration tab like seen here;
Notice how there's multiple output devices listed here? As seen above, what I want to use as the default is my Schiit Modi 2 Uber aka USB Modi Device. In this example, to set this card up I setup the Configuration tab to the following...
And take a look at the Output Devices tab now. See how it's using the USB Modi Device as the default device?
Please setup your device(s) accordingly for your own needs! And if desired setup your input devices via the Input Devices tab! If everything looks good, try playing music through Pulse again in Media Center. If sound works, congrats, you have working sound via Pulse!
How To Remove Media Center 20, Media Center 21 and Media Center 22:If you've updated from Media Center 20 and/or Media Center 21 and/or Media Center 22, you might find yourself with several versions of Media Center installed. If you don't want multiple versions of Media Center installed, you can remove the old Media Center.
Step 1: Backup your library and settings.
Read the wiki article on how to backup your library and settings.
Step 2: Open a Terminal and input the following (you *may* be prompted for your password - answer yes when it prompts!);
For Media Center 20:sudo apt-get remove mediacenter20
For Media Center 21:sudo apt-get remove mediacenter21
For Media Center 22:sudo apt-get remove mediacenter22
Step 3 (Optional): If you want to completely remove Media Center 20/21/22's files, with the Terminal open and input the following (you *may* be prompted for your password - answer yes when it prompts!);
For Media Center 20:sudo rm -rf '/usr/lib/jriver/Media Center 20'
For Media Center 21:sudo rm -rf '/usr/lib/jriver/Media Center 21'
For Media Center 22:sudo rm -rf '/usr/lib/jriver/Media Center 22'
And...
For Media Center 20:sudo rm -rf '~/.jriver/Media Center 20'
For Media Center 21:sudo rm -rf '~/.jriver/Media Center 21'
For Media Center 22:sudo rm -rf '~/.jriver/Media Center 22'
Step 4 (Optional): If you want to remove the old mediacenter20.list and/or mediacenter21.list and/or mediacenter22.list file from the /etc/apt/sources.list.d/ directory;
For Media Center 20:sudo rm /etc/apt/sources.list.d/mediacenter20.list
For Media Center 21:sudo rm /etc/apt/sources.list.d/mediacenter21.list
For Media Center 22:sudo rm /etc/apt/sources.list.d/mediacenter22.list
If all goes well, your Media Center 20/21/22 installation(s) should be removed.
How To Remove Media Center 23:If you don't like Media Center 23 or it's the wrong fit for you, you can easily remove it!
Step 1: Open a Terminal and input the following (you *may* be prompted for your password - answer yes when it prompts!);
sudo apt-get remove mediacenter23
Step 2 (Optional): If you want to completely remove Media Center 23's files, with the Terminal open and input the following (you *may* be prompted for your password - answer yes when it prompts!);
sudo rm -rf '/usr/lib/jriver/Media Center 23'
And...
sudo rm -rf '~/.jriver/Media Center 23'
Step 3 (Optional): If you want to remove the mediacenter23.list file from the /etc/apt/sources.list.d/ directory;
sudo rm /etc/apt/sources.list.d/mediacenter23.list
If all goes well, your Media Center 23 installation should be completely removed.
Adding Additional Skins In Media Center 23:Media Center 23 for Linux supports additional skins, like the Windows and Mac builds. I've created Linux-based skins (based on the excellent Modern Cards) with a
Adwaita skin for GNOME 3 (the default theme is Adwaita), a
Ubuntu Ambiance skin, a
Arc Theme skin, a
Mint-X Cinnamon skin and a
Elementary OS skin. You can find them in
this topic.
Now the easiest way to add skins is by doing the following; open the Home folder (using the native file manager on your distro), pressing CTRL+H to show the hidden files then going to the .jriver folder. From there open the Media Center 23 folder and you're met with multiple folders, including a Skins folder. Open Skins then Standard View and the folders inside contain the additional skins. Just drag and drop the skin you want to add (make sure you drag and drop the extracted skin folder from the Skins/Standard View directory inside the downloaded skin's archive) and change the skin within Media Center 23. If you don't see your skin listed, then the skin probably wasn't installed correctly.
Tutorial changelog:1.0 (07/12/2017): Media Center 23 tutorial for Ubuntu/Mint/Elementary OS up and running!
1.1 (07/12/2017): Merged the Debian tutorial into this one!
1.2 (07/12/2017): Changed/added stuff, added the ARM repos for those running Raspbian on a Raspberry Pi. Keep in mind I don't own any Raspberry Pis or anything like that, so I can't actually test Raspbian.
1.3 (07/23/2017): Added a tutorial for getting thread priorities working on Linux.
1.4 (09/08/2017): Updated the repo lists to reflect that the latest and beta repos have been merged into one repo, instead of three repos each.
1.5 (09/11/2017): Stable repos got merged into one, updated tutorial and some wording - the minimum Debian version supported is Jessie!