INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Quick Start Guide for Installing JRiver Mediacenter 25 ARM on a Raspberry Pi  (Read 16851 times)

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient

This guide to performing a fresh install of JRiver's ARM build for the Raspberry Pi version 1 B+, Raspberry Pi version 2, or Raspberry Pi version 3.  If you're looking to upgrade an older installation, see this thread for instructions: https://yabb.jriver.com/interact/index.php/topic,119969.0.html

Mediacenter works best on a Pi 2 or 3, but will work on the Pi 1 B+ (especially if you overclock), but the experience is limited. The steps to get MC running on the Pi are somewhat similar to getting it running on a normal linux system, with a few tweaks.

Setup

Hardware/OS setup:

Install Raspbian onto an SD card using the downloaded NOOBS image from the Raspberry Pi website. They have good instructions for install there: https://www.raspberrypi.org/downloads/noobs/

Configuring Hardware:

At first boot the Pi may show a config utility (called raspi-config), if it doesn't show, it is now available through the launcher menu at the top left of the desktop (it is called raspberry pi configuration in the preferences sub-menu). For easy use of mediacenter, I recommend a) making sure that the Pi is set to boot into a graphical desktop environment by default, b) choosing the audio output you want by default (HDMI or the Pi's built in audio output*), and c) thinking about whether you want to choose one of the overclock* options in the advanced options. Once you've picked your settings, reboot.

Notes:

Audio: the Pi's HDMI output works great, but the built in stereo jack is not the highest quality output in the world. I wouldn't recommend using it for actual listening. If you have a USB DAC, just ignore that for now, this option is only about the behavior of the Pi's built in audio outputs.

Overclocking: Overclocking can potentially shorten the life of your Pi or cause instability. However, because the Pi now comes with built in thermal throttling, you can overclock some models of Pi using the raspberry pi utility as described above without voiding your warranty. Overclocking makes a huge difference in performance for the Pi 1; I did not find the Pi 1 usable at stock settings, YMMV. Overclocking is less important for the Pi 2, but it definitely improves performance. AFAIK, the Pi 3 does not support out of the box overclocking.  I have not personally encountered overclocking related instability with about four different Pis, but that doesn't mean you won't. If you decide to wait to overclock you can get back to the built in configuration utility any time by running the raspi-config utility from the menu in the upper right hand corner.

Software Preparation:

After rebooting, you should be looking at the Pi's desktop. If your Pi isn't plugged into to an ethernet line, take a minute to configure your wi-fi adapter to get internet access. Once that's done, open a terminal by clicking on the icon that looks like a computer monitor. Enter the following into the terminal:
Code: [Select]
sudo apt-get update && sudo apt-get dist-upgrade

After you enter the line, you'll be prompted whether to install updates to packages; press "y" to confirm. It may take a little while for the packages to download and install. Now enter the following into the terminal

Code: [Select]
cd /boot
sudo nano config.txt

This will show you the file config.txt in the text editor nano. You'll see a lot of information in the config file already, scroll down to the bottom of the file using the direction keys on your keyboard and enter the following two lines exactly as shown:

Code: [Select]
framebuffer_depth=32
framebuffer_ignore_alpha=1

Then save the file by pressing Ctrl+O, then enter. Then press Ctrl+X to exit, and you should be back at the terminal. Now close the terminal and reboot the pi.

Installing MC:

After the reboot, it's time to install MC:

Code: [Select]
wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | sudo apt-key add -
sudo wget http://dist.jriver.com/latest/mediacenter/mediacenter25.list -O /etc/apt/sources.list.d/mediacenter25.list
sudo apt-get update
sudo apt-get install mediacenter25

After installation completes, you should see MC in the application menu in the upper left hand corner under "sound and video." Open MC, and you're off! 

Installing a License:

JRiver offers a 30-day trial, but to keep using the software you'll need to buy and register it. Currently a JRiver for Linux license or Master license will work. There are several ways to install a JRiver License, but the easiest way is to enter your registration code in the JRiver GUI.  That should work, but if it doesn't, try doing it on the command line as follows:

When you purchase JRiver, you receive an E-mail with an .mjr file. Download that file to your Raspberry Pi's Downloads directory (the one created above). Then open a terminal by clicking on the icon that looks like a computer and enter the following command:

Code: [Select]
mediacenter25 /RestoreFromFile ~/Downloads/"Media Center25 Linux-YYYYYY.mjr"

Replace the Y's with the numbers from your .mjr file, but otherwise enter the command exactly as shown. 

NOTE for advanced users: This will not work correctly if you try to do it via ssh, because Mediacenter needs a display/xserver in order to run.  If you have used the headless/VNC setup
instructions below, try connecting to the pi using VNC and using lxterminal to register your license.

Setting Thread Priorites for Improved Performance

MC now automatically configures thread priorities for users in the system's "audio" group.  Make sure your user is in the audio group by running the following command:
Code: [Select]
sudo usermod -aG audio pi

After your next reboot, Mediacenter should have improved thread priorities.

Audio Setup:

If you're using the Pi's built in audio output (HDMI or stereo), it should just work provided you did the steps above. If you have a USB DAC, you'll need to configure MC to address it just like in normal MC for Linux. That means looking under options --> Audio Devices and looking for a hardware device (an entry for your DAC that has something like "front:" or "surround:" in the name). 

Updating:

To update mediacenter (and the rest of your Pi OS) just enter the following line on the terminal:
Code: [Select]
sudo apt-get update && sudo apt-get dist-upgrade

Troubleshooting Audio

If you followed the steps above and are not getting audio output via HDMI, try the following:

Alsamixer:
In the terminal "alsamixer" and you will see a volume bar (a "graphical" mixer displayed using ASCII characters).  Check whether the volume is muted by looking at the bottom of the column: if you see "MM" press the "m" key to unmute and then press escape to exit.  If you see "00" then the output isn't muted and that's not the problem (press escape to exit)

Monitor/DVI issues:
Many monitors expect/request a DVI input, which results in the Pi not sending sound to those monitors by default.  To find out if that's what's causing your problem, open a terminal, and type

Code: [Select]
sudo nano /boot/config.txt

and then find the line that reads

Code: [Select]
#hdmi_drive=2

 Remove the "#" symbol, and leave the rest of the line intact.  If your file doesn't have that line for some reason, you can just add the line at the end of the file.  In either case, save the file by pressing CTRL+O, and exit nano by pressing CTRL+X. Then reboot the Pi and test whether you can get sound over HDMI. Changing that option in config.txt has resolved no-audio issues for several folks with screens that have those issues with HDMI support.

Pops and Dropouts:

Pops or dropouts can be caused by a lot of different things and can be tough to troubleshoot.  Some users have found that adjusting CPU frequency scaling can help on RPi 2's (RPI 1's won't benefit from this tweak).  The following link explains how to set your RPi 2 to stay at maximum CPU frequency (using the performance CPU governor: http://yabb.jriver.com/interact/index.php?topic=95578.msg676554#msg676554

Some notes on getting the most out of MC on the Pi:

The Pi is not a full-featured computer so things will take longer to do on the Pi than on a normal computer. Be patient especially during startup or right after. It might take ten or even thirty seconds for mediacenter to start after you click the icon (depending on whether you have a pi 1 or pi2 and your other settings). Video is not currently supported.  Other than that issue, everything I've tested works pretty well. 


An Important Note Concerning Power:


Pi's are very sensitive to not having enough power; if you plug in too many power hungry USB peripherals it can cause the Pi to reboot or turn off (and corrupt the sd card!). The safest way to resolve this is to use a good powered USB hub and plug the peripherals into that. The best part is that the Hub can also power the Pi itself, so you still only have one wall plug! Some USB hubs won't work very well due to back-power issues, but a recommended list of hubs is available here: http://elinux.org/RPi_Powered_USB_Hubs.  To be clear, if you're just plugging in a usb keyboard/mouse and a wi-fi adapter you should be fine with the normal power supply; it's things like external hard drives and USB DACs that need more juice.

Additionally, if you don't want to use a USB hub, you may be able to power more peripherals by adding the following line to your config.txt:

Code: [Select]
max_usb_current=1

That line allows the Pi's USB ports to supply more current to peripherals, which has allowed several forum members to use an external Hard Drive without using a USB hub.  [Thanks to Hilton for finding and testing that option.]

Pi's are also sensitive to sudden loss of power: cutting off the power on a pi without shutting down properly can and will corrupt your sd card. For that reason it's important to always shut down your pi appropriately. However accidental power outages do occur, so, as a best practice, consider backing up your sd card with a disk imaging utility once you've gotten everything working the way you want. Another more advanced approach is to hook up a rechargeable battery in between the power supply and the Pi to act as a buffer in case of sudden power loss, and configure the Pi to shut down gracefully when mains power goes out, but that's a more advanced topic.

Status of Features
What I've tested that works for me:

1) Local audio playback of FLACs and MP3s (Pi 1, 2, and 3)
2) Using the Pi as a library client (Pi 1, 2, and 3)
3) Using the Pi as a DLNA renderer (Pi 1, 2, and 3)
4) Controlling the Pi with gizmo or eos (Pi 1, 2, and 3)
5) Streaming to gizmo from the Pi (works on Pi 2 and 3, not on the Pi 1)
6) Normal window resizing
7) ALSA-compatible USB DACs
8 ) Using an external hard drive with the Pi (some additional configuration required for some drives)
9) A user has reported that DSD works on the pi (as of 2017)

What I have not tested:

1) Airplay, etc. (I have no macs or i-devices to test with)

What is not working/supported:

1) Video Playback
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72534
  • Where did I put my teeth?

Thanks, mwillems.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7886
  • Long cold Winter...

So... the Raspberry Pi 4 Model B was just announced, with a SKU with 4GB of RAM for $55. I guess I'm getting another Pi! :D

https://www.raspberrypi.org/products/raspberry-pi-4-model-b/
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient

So... the Raspberry Pi 4 Model B was just announced, with a SKU with 4GB of RAM for $55. I guess I'm getting another Pi! :D

https://www.raspberrypi.org/products/raspberry-pi-4-model-b/

It looks like they're using an open source graphics stack too (although details are light), which could mean better video support!
Logged

Hendrik

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 10968

It looks like they're using an open source graphics stack too (although details are light), which could mean better video support!

They've been using Broadcoms VideoCore on previous Pis as well, don't get your hopes up. Its open in name only.
Logged
~ nevcairiel
~ Author of LAV Filters

max096

  • MC Beta Team
  • Galactic Citizen
  • *****
  • Posts: 363

It looks like they're using an open source graphics stack too (although details are light), which could mean better video support!

It does support x265 and up to 2 4k screens. So thats deffinitely better. Whatever it is.
Logged

sking29

  • Recent member
  • *
  • Posts: 16
Steps above not working...a little help please
« Reply #6 on: August 10, 2019, 12:23:26 pm »

When I do this line

wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | sudo apt-key add -

I get a ">" and nothing else happens.

>

Suggestions please?
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Steps above not working...a little help please
« Reply #7 on: August 11, 2019, 12:47:00 pm »

When I do this line

wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | sudo apt-key add -

I get a ">" and nothing else happens.

>

Suggestions please?

The command works correctly here on both stretch and buster, so I would make sure to check that you've entered the exact command, preferably by copying and pasting it.  The ">" suggests that the apt-key command is waiting for input, so my guess is that you omitted the trailing dash, or possibly used a different unicode character that doesn't have the same special meaning as the dash.
Logged

Dennis in FL

  • Galactic Citizen
  • ****
  • Posts: 375
Raspberry Pi 4 install went smooth except
« Reply #8 on: August 11, 2019, 06:51:22 pm »

Everything works.   I linked to the main server on my Mac and played a tune.   Unfortuately the right channel is quiet. 

Hmmmm.

Logged
WiiM Ultra --> Gustard X16 --> Fosi ZA3 --> KEF LS50 Metas

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient
Re: Raspberry Pi 4 install went smooth except
« Reply #9 on: August 11, 2019, 09:01:47 pm »

Everything works.   I linked to the main server on my Mac and played a tune.   Unfortuately the right channel is quiet. 

Hmmmm.

How are you getting audio out of the Pi?   Did you re-check all your physical connections (silly I know, but I occasionally still find loose leads in my own system once in a while).
Logged

Dennis in FL

  • Galactic Citizen
  • ****
  • Posts: 375

It is worse than that.   My top of the line Denon receiver is in need of some serious repair.   I've got loud pops and white noise when changing sources & volume and also lost internet radio.   It is out of warranty.  Probably a major shipping expense to the nearest repair facility.

Yesterday I thought my DAC was causing the issues....but it definitely the receiver.   ARGH!!!!   


Logged
WiiM Ultra --> Gustard X16 --> Fosi ZA3 --> KEF LS50 Metas

sking29

  • Recent member
  • *
  • Posts: 16

Thanks !  for your help. Back from some travels and got it to work fine.  Steve
Logged

DrKNo

  • World Citizen
  • ***
  • Posts: 201

Thank you so much for your work. I read this thread more often than any other on the forums. I found that cloning SD cards (e.g. for setting up multiple zones) leads to serious problems with JRiver (far beyond registering MC): Missing zones and instances that crash each other especially. Maybe it's worth adding that note to the instructions? I now set up all instances manually. I wrote more on this here: https://yabb.jriver.com/interact/index.php/topic,122570.msg848497.html#msg848497
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7886
  • Long cold Winter...

With each clone, you might want to re-setup Media Network again make sure the access key is changed from the other instances (it probably wouldn't hurt to change each Pi's hostname too, especially if the Pis are on the same network). I can see how that'll clash with cloned Pis on the same network.
Logged
I don't work for JRiver... I help keep the forums safe from "male enhancements" and other sources of sketchy pharmaceuticals.

Windows 11 24H2 Update 64-bit + Ubuntu 24.10 Oracular Oriole 64-bit | Windows 11 24H2 Update 64-bit (Intel N305 Fanless NUC 16GB RAM/500GB M.2 NVMe SSD)
JRiver Media Center 33 (Windows + Linux) | iFi ZEN DAC 3 | JBL 306P MkII Studio Monitors | Audio-Technica ATH-M50x Headphones

DrKNo

  • World Citizen
  • ***
  • Posts: 201

It is more than that, unfortunately. As described in the post I linked, I do believe that the way MC generates Zone IDs lead to duplicates that then interfere with each other. I only had success so far when I set up MC from scratch. Just resetting the network and getting a new access key was not sufficient.
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931

With each clone, you might want to re-setup Media Network again make sure the access key is changed from the other instances (it probably wouldn't hurt to change each Pi's hostname too, especially if the Pis are on the same network). I can see how that'll clash with cloned Pis on the same network.
It's not just the access key, if you clone with the ~/.jriver/Media Center 25/Settings/User Settings.ini file in place you will get duplicate UUID's for the servers and renderers on that instance which lead to a world of trouble. Those UUID's are generated on first run IF THEY DON'T ALREADY EXIST which they will if you are cloning that file.
Logged

DrKNo

  • World Citizen
  • ***
  • Posts: 201

Yeah, that makes sense. Hence the suggestion to make it explicit in the instructions that cloning is a no-go to save others the headache, especially since setting up once and then cloning SD cards is pretty common in the Pi world.
Logged

mp48

  • Recent member
  • *
  • Posts: 14

Hello, is this quick installation guide still valid? When I send the first line wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -o- | sudo apt-key add - I get the message gpg: no valid OpenPGP Data found. With the second comand line everything works fine, no failure message but when I send the next line sudo apt-get update , I get a strange failure message: Typ >> -2020-05-01<< in line 1 of sourcelist  /etc/apt/sources.list.d/mediacenter25.list is unknown. The list of sources could not be read.
Can it be that the installation guide only runs with raspian in english language and english keyboard, date and time and so on???
Logged

JimH

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 72534
  • Where did I put my teeth?

Try the one on the MC26 board (if you're using MC26).
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931

Hello, is this quick installation guide still valid? When I send the first line wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -o- | sudo apt-key add - I get the message gpg: no valid OpenPGP Data found. With the second comand line everything works fine, no failure message but when I send the next line sudo apt-get update , I get a strange failure message: Typ >> -2020-05-01<< in line 1 of sourcelist  /etc/apt/sources.list.d/mediacenter25.list is unknown. The list of sources could not be read.
Can it be that the installation guide only runs with raspian in english language and english keyboard, date and time and so on???
Its CAP O
-O-
not lowercase you have above.
Just tested, it works fine.
Logged

mp48

  • Recent member
  • *
  • Posts: 14

Hi Bob, thank you for your fast answer. Now it is running. I am just starting to fill the library. I am running a pi B+. I want to use it as an audio server. Letīs see if it is fast enough.
Thank you again.
Logged

tjmski

  • Recent member
  • *
  • Posts: 5

So, I have installed the latest 32-bit Raspberry Desktop OS on the rpi4. Followed the above directions. When I load Media Center 25 everything works fine except I get the grey "Loading" screen on startup and when I select "Streaming". I then added the GTK library and updated the makefile. Still same grey "Loading" screen. What am I missing? Thanks, Tim
Logged

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5240
  • "Linux Merit Badge" Recipient

So, I have installed the latest 32-bit Raspberry Desktop OS on the rpi4. Followed the above directions. When I load Media Center 25 everything works fine except I get the grey "Loading" screen on startup and when I select "Streaming". I then added the GTK library and updated the makefile. Still same grey "Loading" screen. What am I missing? Thanks, Tim

I'm not sure streaming on Linux was actually supported in MC25 (it's been a few years), but maybe someone else can confirm one way or the other?  Do you have a more recent version of MC you can test with?

Which makefile are you talking about?
Logged

bob

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 13931

I'm not sure streaming on Linux was actually supported in MC25 (it's been a few years), but maybe someone else can confirm one way or the other?  Do you have a more recent version of MC you can test with?

Which makefile are you talking about?
Pretty sure that was a MC26 feature. You could try the MC27 trial.
Logged

tjmski

  • Recent member
  • *
  • Posts: 5

Hi Guys, Thanks for the input/ It'snot so much about the ability of MC25 Linux to stream. BTW, it does in my other intel linux MC25 installs. It's getting the ARM version to use the webkit-gtk in MC25 in my rpi. At least that is where I think the problem is since I am getting the "Loading" screen on startup and not the startup screen. The same is happening for the Streaming screen as well. Additional info: I can see in the logs webkit. But, I do not see anything that looks like any kind of error. Not that I really know what to look for.

UPDATE: I upgraded my license to MC28. Will provide an update when I try MC27 to see if that remedies the issue.
Thanks, Tim
Logged

tjmski

  • Recent member
  • *
  • Posts: 5

Well the issue of not getting the JRiver Start screen to get past the "Loading..." screen is resolved when I go to MC27, as well as the other screens that require a browser.   ...Tim
Logged
Pages: [1]   Go Up