INTERACT FORUM

Please login or register.

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

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

mwillems

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 5174
  • "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,115350.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.

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 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/mediacenter24.list -O /etc/apt/sources.list.d/mediacenter24.list
sudo apt-get update
sudo apt-get install mediacenter24

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.  IF that doesn't work, 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]
mediacenter24 /RestoreFromFile ~/Downloads/"Media Center24 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

To help ensure fewer dropouts and more seamless operation on a resource contrained sytem like a raspberry pi, you should set mediacenter to have greater priority over CPU time.  To set the thread priorities, type
Code: [Select]
sudo nano /etc/security/limits.conf

This will open limits.conf for editing. Enter the following at the bottom of the file (if the file is empty when you open it, that's fine too):
Code: [Select]
pi - rtprio         100
@audio - rtprio 100

Then type the following into the terminal.
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

mwillems

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

Running Without a Monitor: If you would like to run the Pi without a monitor attached, that's a slightly more advanced topic.  MC needs some kind of "display" in order to run.  When a monitor is not attached, the pi will not necessarily start it's display, which will prevent MC from running. The following steps outline a very basic method of creating a virtual display and allowing for remote control of Mediacenter on the pi. NOTE: If you're using a different username than "pi", you should replace all instances of "pi" in the code below with your username. 

Enter the following onto the end of your /boot/config.txt file (as described above)
Code: [Select]
framebuffer_width=1920
framebuffer_height=1080
hdmi_group=2
hdmi_mode=82
hdmi_drive=2

How to do it

First open the raspi-config utility (called raspberry pi configuration in the GUI) and enable both SSH and VNC on the interfaces tab.

Then type
Code: [Select]
sudo nano /etc/systemd/system/jriver.service

Then enter the following text, save the file by pressing Ctrl+O, and exit by pressing Ctrl-X.
Code: [Select]
  [Unit]
     Description=JRiver
     After=display-manager.service

  [Service]
     Type=simple
     Environment=DISPLAY=:0
     User=pi
     ExecStart=/usr/bin/mediacenter24 /MediaServer
     Restart=always
     RestartSec=10
     KillSignal=SIGHUP
     TimeoutStopSec=45
     LimitRTPRIO=100

  [Install]
     WantedBy=graphical.target

Once you've done the above, set it to start on boot by typing
Code: [Select]
sudo systemctl enable jriver.service

Then reboot, and you should have jriver and a VNC server running automatically on boot and jriver will restart if it crashes.  Test it out by trying to log in from another computer using a VNC client.  When you start the VNC Client it will ask you for the VNC server details.  Enter the ip address* of your pi. It will look something like
Code: [Select]
192.168.1.35 Once you enter the address, click connect, and it will prompt you for your password. 

*If you don't know the ip address of your pi, enter "sudo ifconfig" in a terminal on your pi, and it will tell you. You're looking for a 4-part number separated by periods next to the phrase "inet addr." You want the one in the paragraph labelled eth0 if your pi has a wired connection or wlan0 if your pi has a wireless connection.

You should now be looking at your pi desktop with MC running!
Logged

astromo

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2239

Thanks mwillems.

Do you know whether this version works with the 3B+ model yet?
Logged
MC31, Win10 x64, HD-Plex H5 Gen2 Case, HD-Plex 400W Hi-Fi DC-ATX / AC-DC PSU, Gigabyte Z370 ULTRA Gaming 2.0 MoBo, Intel Core i7 8700 CPU, 4x8GB GSkill DDR4 RAM, Schiit Modi Multibit DAC, Freya Pre, Nelson Pass Aleph J DIY Clone, Ascension Timberwolf 8893BSRTL Speakers, BJC 5T00UP cables, DVB-T Tuner HDHR5-4DT

bob

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

Thanks mwillems.

Do you know whether this version works with the 3B+ model yet?
It works fine with a 3B+
Logged

mwillems

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

It works fine with a 3B+

Good to know, I haven't picked up any yet, but I've been meaning to upgrade some of my satelite installations.
Logged

astromo

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 2239

It works fine with a 3B+

Thanks Bob. I appreciate the intel. Saves doing a trial and error install.
Logged
MC31, Win10 x64, HD-Plex H5 Gen2 Case, HD-Plex 400W Hi-Fi DC-ATX / AC-DC PSU, Gigabyte Z370 ULTRA Gaming 2.0 MoBo, Intel Core i7 8700 CPU, 4x8GB GSkill DDR4 RAM, Schiit Modi Multibit DAC, Freya Pre, Nelson Pass Aleph J DIY Clone, Ascension Timberwolf 8893BSRTL Speakers, BJC 5T00UP cables, DVB-T Tuner HDHR5-4DT

RobertNewPi

  • Recent member
  • *
  • Posts: 41

Thanks to the above, I got MC24 up and running on a 3B+ with no previous experience as a result.

I have a problem with the 'without a monitor' set up. I can get to /etc/systemd/system/ but then when I try and create a file (or folder) I'm told I don't have permission to do so. As far as I can see jriver.service doesn't already exist and I need to create it, is that right?
Logged

mwillems

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

Thanks to the above, I got MC24 up and running on a 3B+ with no previous experience as a result.

I have a problem with the 'without a monitor' set up. I can get to /etc/systemd/system/ but then when I try and create a file (or folder) I'm told I don't have permission to do so. As far as I can see jriver.service doesn't already exist and I need to create it, is that right?

You need to create it using "sudo."  So something like: 

Code: [Select]
sudo nano /etc/systemd/system/jriver.service

Then enter the text above.  I'll add a more explicit explanation to the instructions.
Logged

RobertNewPi

  • Recent member
  • *
  • Posts: 41

Perfect, thank you!

All restarts as expected. The 3B+ is now playing (headless) from a library on my PC through an IQaudIO Dac+. All good.
Logged

RobertNewPi

  • Recent member
  • *
  • Posts: 41

Just going off at a slight tangent: I have done another install onto a card which already had moOde audio player installed on Stretch Lite with the intention of running both. Followed the above instructions again and all works fine including the extra 'no monitor bits'. Both players also play fine. My one issue (so far) is that when I view via VNC, moOde is clearly set-up to cover the whole desktop. From a fresh boot, MC opens in a window on top of that and functions normally, however if I then click the moOde desktop that then comes to the front hiding MC.

Is there a simple way of switching between the two? is there a 'bring to front, send to back' type thing? I assume there would be a way of editing the moOde settings somewhere but I haven't gone into that as I wouldn't know where to start. I also wondered about creating a second virtual desktop just for MC - I created the desktop but now don't know how to get MC to open a window in that one. Grateful for any pointers, thanks.
Logged

mwillems

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

Just going off at a slight tangent: I have done another install onto a card which already had moOde audio player installed on Stretch Lite with the intention of running both. Followed the above instructions again and all works fine including the extra 'no monitor bits'. Both players also play fine. My one issue (so far) is that when I view via VNC, moOde is clearly set-up to cover the whole desktop. From a fresh boot, MC opens in a window on top of that and functions normally, however if I then click the moOde desktop that then comes to the front hiding MC.

Is there a simple way of switching between the two? is there a 'bring to front, send to back' type thing? I assume there would be a way of editing the moOde settings somewhere but I haven't gone into that as I wouldn't know where to start. I also wondered about creating a second virtual desktop just for MC - I created the desktop but now don't know how to get MC to open a window in that one. Grateful for any pointers, thanks.

Have you tried alt-tabbing between the programs?  I don't know anything about moOde or what window manager it's using, so I can't tell you an easy answer.  Alt-tab works in most window managers though.  You might need to tinker with your VNC settings to let you send alt through the connection though.
Logged

RobertNewPi

  • Recent member
  • *
  • Posts: 41

Have you tried alt-tabbing between the programs?  I don't know anything about moOde or what window manager it's using, so I can't tell you an easy answer.  Alt-tab works in most window managers though.  You might need to tinker with your VNC settings to let you send alt through the connection though.
Thanks, yes did try alt-tab though wasn’t sure I’d remembered it right so didn’t pursue it further, will give it another go.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7363
  • The color of Spring...

Just wanted to say I got a 3B+ yesterday, and was able to successfully put MC on it thanks to your tutorial. Works great and I'm pleased with the performance.

I guess I should try making a Raspbian/LXDE MC skin soon. ;)
Logged
I don't work for JRiver... I help keep the forums safe from Viagra and other sources of sketchy pharmaceuticals.

Windows 11 2023 Update (23H2) 64-bit + Ubuntu 24.04 LTS Noble Numbat 64-bit | Windows 11 2023 Update (23H2) 64-bit (Intel N305 Fanless NUC 16GB RAM/256GB NVMe SSD)
JRiver Media Center 32 (Windows + Linux) | Topping D50s DAC | Edifier R2000DB Bookshelf Speakers

mwillems

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

Just wanted to say I got a 3B+ yesterday, and was able to successfully put MC on it thanks to your tutorial. Works great and I'm pleased with the performance.

I guess I should try making a Raspbian/LXDE MC skin soon. ;)

Glad to hear it!
Logged

laser

  • Recent member
  • *
  • Posts: 19

Just wanted to say I got a 3B+ yesterday, and was able to successfully put MC on it thanks to your tutorial. Works great and I'm pleased with the performance.

I guess I should try making a Raspbian/LXDE MC skin soon. ;)

Hi Awesome Donkey!
Thanks for your sharing..
Does .dff .dsf multi-channel working through HDMI as well?

Regards,
Laser
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7363
  • The color of Spring...

Does .dff .dsf multi-channel working through HDMI as well?

It isn't possible to do DSD over HDMI with a PC (including a Pi). You'd have to connect a DSD-capable DAC/receiver to the Pi via USB or over DLNA with DoPE (if your DAC/receiver supports it) if you want DSD.

And even then bitstreaming DSD might work, but if you're converting PCM to DSD that likely won't work well if at all, since the Pi is simply too weak for such a resource intensive operation.
Logged
I don't work for JRiver... I help keep the forums safe from Viagra and other sources of sketchy pharmaceuticals.

Windows 11 2023 Update (23H2) 64-bit + Ubuntu 24.04 LTS Noble Numbat 64-bit | Windows 11 2023 Update (23H2) 64-bit (Intel N305 Fanless NUC 16GB RAM/256GB NVMe SSD)
JRiver Media Center 32 (Windows + Linux) | Topping D50s DAC | Edifier R2000DB Bookshelf Speakers

laser

  • Recent member
  • *
  • Posts: 19

It isn't possible to do DSD over HDMI with a PC (including a Pi). You'd have to connect a DSD-capable DAC/receiver to the Pi via USB or over DLNA with DoPE (if your DAC/receiver supports it) if you want DSD.

And even then bitstreaming DSD might work, but if you're converting PCM to DSD that likely won't work well if at all, since the Pi is simply too weak for such a resource intensive operation.

Hi A-Donkey,

from mwillems' starting guide mentioned --

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.

So from your test DSD still not working through HDMI? only other format will ? Or do you mean multi-channel fail only? Can you clarify more?

 
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7363
  • The color of Spring...

Bitstreaming DSD can't work over HDMI from a Pi. It's an absolute - you can only convert DSD to PCM and it might work that way. However, a Raspberry Pi is too weak to do on-the-fly DSD to PCM conversions. Otherwise...

DSD over HDMI from a Windows PC/Mac/Linux PC/Raspberry Pi/etc. WILL NOT work.

If you have a DSD-capable USB DAC you can try connecting it to a Pi via USB and it *might* be possible to bitstream DSD that way. It's also possible bitstreaming via DoP over DLNA (aka DoPE) might work too if the receiver supports that.

Otherwise, DSD over HDMI will not work. Period.
Logged
I don't work for JRiver... I help keep the forums safe from Viagra and other sources of sketchy pharmaceuticals.

Windows 11 2023 Update (23H2) 64-bit + Ubuntu 24.04 LTS Noble Numbat 64-bit | Windows 11 2023 Update (23H2) 64-bit (Intel N305 Fanless NUC 16GB RAM/256GB NVMe SSD)
JRiver Media Center 32 (Windows + Linux) | Topping D50s DAC | Edifier R2000DB Bookshelf Speakers

laser

  • Recent member
  • *
  • Posts: 19

Bitstreaming DSD can't work over HDMI from a Pi. It's an absolute - you can only convert DSD to PCM and it might work that way. However, a Raspberry Pi is too weak to do on-the-fly DSD to PCM conversions. Otherwise...

DSD over HDMI from a Windows PC/Mac/Linux PC/Raspberry Pi/etc. WILL NOT work.

If you have a DSD-capable USB DAC you can try connecting it to a Pi via USB and it *might* be possible to bitstream DSD that way. It's also possible bitstreaming via DoP over DLNA (aka DoPE) might work too if the receiver supports that.

Otherwise, DSD over HDMI will not work. Period.

Hi A-Donkey,

Thanks again! it more clear now..
It's sad that my Marantz pre/pro which do not support DoPE or DAC over USB, and there is no device can sit on BDP's position to do Native DSD over HDMI through DLNA. I will check detail on Oppo BDP to see if it really able to do it.



Regards,
Laser
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7363
  • The color of Spring...

Not sure where to post this, so I'll just ask here...

Have you guys ever looked into running MC on a ODROID XU4? They're double the price of a Raspberry Pi, but they're at least 4X more powerful than a Raspberry Pi 3 Model B+. I've heard people use them as Kodi (and RetroPie) boxes and they're capable of 1080p video playback with no issues. I've even heard people have ran 4K videos on them (depending on the codec, heard VP9 works) too. At the very least, you may be able to get 1080p video working on on a ARM single board computer (which isn't doable on the Pi right now).

I'm thinking about getting one and using it as a RetroPie box, but wondered if you guys ever experimented with one.
Logged
I don't work for JRiver... I help keep the forums safe from Viagra and other sources of sketchy pharmaceuticals.

Windows 11 2023 Update (23H2) 64-bit + Ubuntu 24.04 LTS Noble Numbat 64-bit | Windows 11 2023 Update (23H2) 64-bit (Intel N305 Fanless NUC 16GB RAM/256GB NVMe SSD)
JRiver Media Center 32 (Windows + Linux) | Topping D50s DAC | Edifier R2000DB Bookshelf Speakers

mwillems

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

Not sure where to post this, so I'll just ask here...

Have you guys ever looked into running MC on a ODROID XU4? They're double the price of a Raspberry Pi, but they're at least 4X more powerful than a Raspberry Pi 3 Model B+. I've heard people use them as Kodi (and RetroPie) boxes and they're capable of 1080p video playback with no issues. I've even heard people have ran 4K videos on them (depending on the codec, heard VP9 works) too. At the very least, you may be able to get 1080p video working on on a ARM single board computer (which isn't doable on the Pi right now).

I'm thinking about getting one and using it as a RetroPie box, but wondered if you guys ever experimented with one.

So I haven't fiddled with an Odroid XU4, but I did have an Odroid C1, C2 and U3.  I can 100% not recommend Odroid's for use with MC.  To start with, the most important thing to realize is that their gear uses (or used anyway) an out of tree bootloader and an older, heavily patched kernel that include proprietary mods.  None of my devices booted with a mainline kernel, even with the funny bootloader. This means you basically have to use their kernels/OS images if you want everything working (the graphics drivers and hardware acceleration in particular required use of their kernels).  This means you're locked into the support they provide, and if they stop offering support for a given model, you've got what you've got and that's it.  For example, they end-of-lifed the U3 without fixing lots of issues that were extant, so unless and until it somehow get's mainlined in upstream, I've got a mostly useless board.  Later some of the boards got rudimentary mainline kernel support, but many systems did not work with the mainline kernel (always graphics, sometimes the network stack!).

Some of the problems I've had with the ODroid boards:

- They use OpenGL-ES instead of plain vanilla OpenGL, and had wonky proprietary graphics.  This means that most programs that want hardware accelerated video using OpenGL will not work without some changes and recompilation to support the devices.  When I was trying to use the devices, ODROID was modifying and providing custom Kodi builds to users that had working hardware accel.  MC, obviously, did not have working hardware accel, and never would unless the MC team decided to build specifically for these platforms.  This also meant that you were locked into using whatever desktop environment they provided if you wanted working animations, the whole deal.

- None of the boards I used had adequate color depth to display MC (like the graphics driver did not support the required color depth).  That meant that MC's interface showed as a black or white square and was unusable.  Setting up a virtual framebuffer via VNC worked at the time, but it's been a few years.

- They typically only supported devices for about 18-24 months, and then moved on.  This means no security updates, no hardware fixes, no nothing, and because of the goofy proprietary blobs, no reasonable possibility of community support (at least not with a working graphics stack).  The Xu4 platform has been around much longer, so maybe they stopped doing this.

- Lots of miscellaneous hardware bugs (no UAC2 support, random reboots, network stack crapping out) that, because they're using an older, highly modified kernel, only they can fix.

When I bought them I hoped to use them to run MC as a front-end.  When that was clearly a non-starter, I tried to use them as headless satelite systems, but they were kind of unreliable.  Then I tried using one as a little VPN box, and it was actually underperforming the Pi 3 I had previously used for that.  So I gave one away and the other two are sitting in a box with a frowny face drawn on it.

My advice:  Read their support forums -at length- to see the kinds of crap people have been complaining about, and how long they've been complaining about it.  Things may have changed since I bought from them, but I will never, ever buy another SBC from them (or anyone) that doesn't at least boot with reliable networking from the mainline kernel at launch.
Logged

bob

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

So I haven't fiddled with an Odroid XU4, but I did have an Odroid C1, C2 and U3.  I can 100% not recommend Odroid's for use with MC.  To start with, the most important thing to realize is that their gear uses (or used anyway) an out of tree bootloader and an older, heavily patched kernel that include proprietary mods.  None of my devices booted with a mainline kernel, even with the funny bootloader. This means you basically have to use their kernels/OS images if you want everything working (the graphics drivers and hardware acceleration in particular required use of their kernels).  This means you're locked into the support they provide, and if they stop offering support for a given model, you've got what you've got and that's it.  For example, they end-of-lifed the U3 without fixing lots of issues that were extant, so unless and until it somehow get's mainlined in upstream, I've got a mostly useless board.  Later some of the boards got rudimentary mainline kernel support, but many systems did not work with the mainline kernel (always graphics, sometimes the network stack!).

Some of the problems I've had with the ODroid boards:

- They use OpenGL-ES instead of plain vanilla OpenGL, and had wonky proprietary graphics.  This means that most programs that want hardware accelerated video using OpenGL will not work without some changes and recompilation to support the devices.  When I was trying to use the devices, ODROID was modifying and providing custom Kodi builds to users that had working hardware accel.  MC, obviously, did not have working hardware accel, and never would unless the MC team decided to build specifically for these platforms.  This also meant that you were locked into using whatever desktop environment they provided if you wanted working animations, the whole deal.

- None of the boards I used had adequate color depth to display MC (like the graphics driver did not support the required color depth).  That meant that MC's interface showed as a black or white square and was unusable.  Setting up a virtual framebuffer via VNC worked at the time, but it's been a few years.

- They typically only supported devices for about 18-24 months, and then moved on.  This means no security updates, no hardware fixes, no nothing, and because of the goofy proprietary blobs, no reasonable possibility of community support (at least not with a working graphics stack).  The Xu4 platform has been around much longer, so maybe they stopped doing this.

- Lots of miscellaneous hardware bugs (no UAC2 support, random reboots, network stack crapping out) that, because they're using an older, highly modified kernel, only they can fix.

When I bought them I hoped to use them to run MC as a front-end.  When that was clearly a non-starter, I tried to use them as headless satelite systems, but they were kind of unreliable.  Then I tried using one as a little VPN box, and it was actually underperforming the Pi 3 I had previously used for that.  So I gave one away and the other two are sitting in a box with a frowny face drawn on it.

My advice:  Read their support forums -at length- to see the kinds of crap people have been complaining about, and how long they've been complaining about it.  Things may have changed since I bought from them, but I will never, ever buy another SBC from them (or anyone) that doesn't at least boot with reliable networking from the mainline kernel at launch.

I have a C2 for testing, it's around 40% faster in general that a Pi3.
I agree that it seems far less supported than a Pi3.
It does run in ARM64 mode so it has been useful for porting assuming the Raspberry Pi eventually runs 64 bit by default.
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7363
  • The color of Spring...

Thanks for the info guys. I'll forego using a XU4 for MC and just make a little RetroPie console with it instead. :D
Logged
I don't work for JRiver... I help keep the forums safe from Viagra and other sources of sketchy pharmaceuticals.

Windows 11 2023 Update (23H2) 64-bit + Ubuntu 24.04 LTS Noble Numbat 64-bit | Windows 11 2023 Update (23H2) 64-bit (Intel N305 Fanless NUC 16GB RAM/256GB NVMe SSD)
JRiver Media Center 32 (Windows + Linux) | Topping D50s DAC | Edifier R2000DB Bookshelf Speakers

dcpete

  • Regular Member
  • World Citizen
  • ***
  • Posts: 182
  • Change this by choosing profile

Just installed this on a Raspberry Pi 3 B+.  The installation instructions were good and straight-forward.  Thanks!  My library lives on a NAS box (Netgear) and is quite large (150,000 tracks of mostly flac and some mp3).  Playback is working fine through the analog jack, although as advised, quality could be better.  There are a few gotcha's that might make this a no-go for me. 

First, I cannot figure out how to make my network share stick using fstab.  Have spent many hours of googling trying to do this and no-go.  It is frustrating.  So that means I have to manually mount the share everytime at boot before launching MC.

Second, Theater Mode is pretty much unusable.  I guess the Raspberry is just not up to it.  The performance is so slow, I can't even navigate anything.

Third, Gizmo doesn't work for me the way I want.  It does work when playing to my android device, which is not my main use case.  It doesn't work when using the Raspberry as the playback device.  I mean, I can navigate the collection, but when I try to play something, it just goes out to lunch.

The first problem I guess I will solve at some point.  The last two seem like show-stoppers.  Any comments or advise would be appreciated.

Thanks, Chris
Logged

Awesome Donkey

  • Administrator
  • Citizen of the Universe
  • *****
  • Posts: 7363
  • The color of Spring...

Second, Theater Mode is pretty much unusable.  I guess the Raspberry is just not up to it.  The performance is so slow, I can't even navigate anything.

Bingo. And I doubt Theater View will even be viable on a Raspberry Pi anytime soon (e.g. probably not for years) due to how bad the performance of the Pi is.
Logged
I don't work for JRiver... I help keep the forums safe from Viagra and other sources of sketchy pharmaceuticals.

Windows 11 2023 Update (23H2) 64-bit + Ubuntu 24.04 LTS Noble Numbat 64-bit | Windows 11 2023 Update (23H2) 64-bit (Intel N305 Fanless NUC 16GB RAM/256GB NVMe SSD)
JRiver Media Center 32 (Windows + Linux) | Topping D50s DAC | Edifier R2000DB Bookshelf Speakers

mwillems

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

First, I cannot figure out how to make my network share stick using fstab.  Have spent many hours of googling trying to do this and no-go.  It is frustrating.  So that means I have to manually mount the share everytime at boot before launching MC.

It might help if you shared some of the mount options you've tried.  There are a few threads on the forum with detailed instructions, but they're a few years old.  I'll see if I can find them.

EDIT: Here's an example: https://yabb.jriver.com/interact/index.php/topic,105551.msg742609.html#msg742609

The general format for a cifs mount without a user or password is:
Code: [Select]
IPaddress:Sharename  /place/to/mount  cifs  defaults,noauto,x-systemd.automount  0  2

Quote
Second, Theater Mode is pretty much unusable.  I guess the Raspberry is just not up to it.  The performance is so slow, I can't even navigate anything.

Theater mode won't work well on the Pi.  You might want to try using panel instead depending on your needs.

Quote
Third, Gizmo doesn't work for me the way I want.  It does work when playing to my android device, which is not my main use case.  It doesn't work when using the Raspberry as the playback device.  I mean, I can navigate the collection, but when I try to play something, it just goes out to lunch.

Can you be a little more specific about what "out to lunch" means?  Does it freeze/hang?  Do nothing at all?  Give an error?  Crash? 
Logged

dcpete

  • Regular Member
  • World Citizen
  • ***
  • Posts: 182
  • Change this by choosing profile

This is my mount command which does work and is how I imported my music collection off the NAS share.  I am running anonymous on my NAS and never get asked for usernames and passwords when attaching from Windows or Android based devices.  This command does ask me for a password, which is null, so I just hit <enter> and it's good.

Code: [Select]
sudo mount -t cifs //10.0.0.15/Music /home/pi/NAS/share
I tried a bunch of things in fstab before. From your suggestion...

Code: [Select]
10.0.0.15:Music  /home/pi/NAS/share  cifs  defaults,noauto,x-systemd.automount  0  2
Code: [Select]
//10.0.0.15:Music  /home/pi/NAS/share  cifs  defaults,noauto,x-systemd.automount  0  2
Code: [Select]
10.0.0.15/Music  /home/pi/NAS/share  cifs  defaults,noauto,x-systemd.automount  0  2
Code: [Select]
//10.0.0.15/Music  /home/pi/NAS/share  cifs  defaults,noauto,x-systemd.automount  0  2
Is it supposed to be
Quote
10.0.0.15:Music
or
Quote
//10.0.0.15:Music
or
Quote
10.0.0.15/Music
or
Quote
//10.0.0.15/Music
.  Documentation I've seen says it should be
Quote
//10.0.0.15/Music
which matches the syntax of the mount command which does work.

My mistake on Gizmo.  I realized afterwards I had two instances of MC up by accident on the Pi.  Now retesting, it's working pretty well, although MC crashed once.  If I go headless with Gizmo that's pretty good, but need it to be stable and not crash obviously.

Also, I had a playlist running for several hours on the Pi and playback seemed solid.  No issues.

Thanks, Chris




Logged

mwillems

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

Either the first one or the last one should work. //ip-address/share is probably the most portable format, so stick with that one for now.  When you navigate to the mountpoint after booting there's just nothing there?  Or do you get an error of some kind?

I suspect that you probably need to specify the username or password in the fstab (see my linked example above).  The fact that its asking you for a password when you mount interactively suggests that authentication is enabled for CIFS on your NAS, you just haven't specified a password (which is different than having it disabled entirely).

In any case, the best way to confirm what's going wrong is to check your journal and see what's actually happening.
Logged

Hendrik

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

Bingo. And I doubt Theater View will even be viable on a Raspberry Pi anytime soon (e.g. probably not for years) due to how bad the performance of the Pi is.

Its unlikely to work on the current generation RPi unless some magic happens with their graphics drivers.

Can only hope a future RPi replaces the awful Broadcom GPU with something actually worthwhile.
People hate on the RPi alternatives for being so "non-standard" and needing custom stuff, but the RPi GPU is the worst. It has no standards support at all. Just give me a GPU that supports bog standard OpenGL ES out of the box, without needing to specifically develop for some RPi specific APIs (which are terrible!). And while I applaud the people working on it, the "standards compatible" OpenGL driver for the RPi is just an order of magnitude too slow, because it has to do a bunch of things in software.

The ODROID-C2 that Bob and myself use for testing a more powerful ARM machine is perfectly capable of running a decently usable Theater View, with a Mali GPU.
Logged
~ nevcairiel
~ Author of LAV Filters

dcpete

  • Regular Member
  • World Citizen
  • ***
  • Posts: 182
  • Change this by choosing profile

I got the mount to work in fstab on my Raspberry talking to my Netgear ReadyNAS.  The command I ended up using was-

Quote
//10.0.0.15/Music  /mnt/music  cifs  guest,uid=pi,x-systemd.automount  0  2

But the problem all along was not so much the command syntax but the fact that I did not configure the Raspberry to wait for the network to come up before mounting.  I guess I had selected the wrong setting initially.  To bring up the config, do this-

Quote
sudo raspi-config

Under Boot Options, select "Wait for network to boot".

Hope this helps somebody.

Chris
Logged

giulix

  • Recent member
  • *
  • Posts: 6

Hi all, happily running version 24 on a RPi 3B + Allo Digione. I just wanted to extend my thanks to the OP for the excellent guide.

P.S. I tried Fedora 29 first, but the installation as specified in this thread didn't work. Also, I didn't use NOOBS (don't know what it is). If you just flash the "Rasbian Stretch with desktop and recommended software" image as I did, remember not to resize the SD card yourself: the configuration program seems to resent the fact that you're trying to deprive it of this privilege :)
Logged

mwillems

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

Hi all, happily running version 24 on a RPi 3B + Allo Digione. I just wanted to extend my thanks to the OP for the excellent guide.

You're most welcome!

Quote
P.S. I tried Fedora 29 first, but the installation as specified in this thread didn't work. Also, I didn't use NOOBS (don't know what it is). If you just flash the "Rasbian Stretch with desktop and recommended software" image as I did, remember not to resize the SD card yourself: the configuration program seems to resent the fact that you're trying to deprive it of this privilege :)

NOOBS is the raspberry pi foundation's recommended installer for raspbian or other operating systems, here's a link for reference:
https://www.raspberrypi.org/downloads/noobs/
Logged

badger

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 396
  • Change this by choosing profile

Just upgraded my license from Windows to a Master License(I also had an IDPI version running).  I've now installed MC 24 on the Pi-3 per the guide above.  I've also gone through the commands listed for Audio Troubleshooting.  Can't get HDMI audio working.  Any other audio troubleshooting advice would be greatly appreciated.  The Pi is connected via HDMI to a Sony Receiver.  This setup was working with the IDPI(MC22), but I though I'd go ahead and get the MC24 Linux license while the discounted upgrade price was available.  Thanks in advance.
Logged

mwillems

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

Just upgraded my license from Windows to a Master License(I also had an IDPI version running).  I've now installed MC 24 on the Pi-3 per the guide above.  I've also gone through the commands listed for Audio Troubleshooting.  Can't get HDMI audio working.  Any other audio troubleshooting advice would be greatly appreciated.  The Pi is connected via HDMI to a Sony Receiver.  This setup was working with the IDPI(MC22), but I though I'd go ahead and get the MC24 Linux license while the discounted upgrade price was available.  Thanks in advance.

Did you use the raspi-config utility to specify HDMI output rather than outputing through the headphone jack?

Also did you check which audio output device is selected in JRiver?
Logged

badger

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 396
  • Change this by choosing profile

Did you use the raspi-config utility to specify HDMI output rather than outputing through the headphone jack?

Also did you check which audio output device is selected in JRiver?
Raspi-config (audio) was set to "default" so I changed it to "Force HDMI"

The JRiver audio device selected is the default "CARD= ALSA [ALSA] bcm2835 ALSA,bcm2835 ALSA. Default Audio Device".  There are three other devices that have "HDMI" in the name.  I've tried them also.  Still no sound.
Logged

badger

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 396
  • Change this by choosing profile

FWIW if I play a track with VLC media on the Pi I do get audio through the HDMI, so at least I know the HW is hooked up correctly.
Logged

badger

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 396
  • Change this by choosing profile

OK.  My bad...  I am getting HDMI audio but the volume was so low I couldn't originally detect it.  My speakers are outside for this setup.  Any suggestions on volume setup?  Should I set the pi to 100%.. or is the MC volume related to the Pi setting?
Logged

mwillems

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

OK.  My bad...  I am getting HDMI audio but the volume was so low I couldn't originally detect it.  My speakers are outside for this setup.  Any suggestions on volume setup?  Should I set the pi to 100%.. or is the MC volume related to the Pi setting?

I would just gradually adjust JRiver's volume to 100% first.  If 100% is still too quiet, then gradually turn up the Pi's volume too.  They may be linked or not depending on your volume settings in JRiver.
Logged

badger

  • Regular Member
  • Galactic Citizen
  • ****
  • Posts: 396
  • Change this by choosing profile

Thanks.  I believe i'm all set.  The way it is set up now the Pi volume seems independent so I just set it to 100% and then the volume adjustment in MC is all I need.  JRemote and Panel volume works this way also when playing or rendering to the Pi so all is good!
Logged

JimH

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

If you click on the speaker icon in the upper left corner of MC, there are three audio choices.  I'm not certain that they work on the Pi, but it's worth trying.
Logged

bob

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

As Jim said...

The system volume option will work if the volume that needs to be changed is the PCM master.
Internal is MC's internal volume control.

If you need to change something other than the PCM master you'll need to use alsamixer or some such...
Logged

roognation

  • Regular Member
  • Junior Woodchuck
  • **
  • Posts: 92
  • Resistance is /dev/null

Great post, THANKS A BUNCH.  Got this working on RPi3+ without any issues; although I would have preferred to use an ISO file for the original OS install; much easier to use Etcher or Rufus for such.  After installation and optimizing the threads as noted above, I:

[Posted from another thread], attached (mounted) the NAS (Qnap) with:
Code: [Select]
sudo nano /etc/fstabthen adding this line at the bottom:
Code: [Select]
//10.2.2.94/Multimedia /home/pi/Music cifs noauto,x-systemd.automount,username=myuser,password=mypassword 0 0
I also restored a Windows-version library and had to replace the NAS locations via Library Tools->Rename, Move, & Copy Files->Find & Replace:
Find What   \\aai\Multimedia\Music
Replace With   \home\pi\Music

Now trying on the $10 USD Raspberry Pi Zero W...then I'll try the headless version with VNC...
Logged
==
roognation
human electrode

bob

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

Great post, THANKS A BUNCH.  Got this working on RPi3+ without any issues; although I would have preferred to use an ISO file for the original OS install; much easier to use Etcher or Rufus for such.  After installation and optimizing the threads as noted above, I:

[Posted from another thread], attached (mounted) the NAS (Qnap) with:
Code: [Select]
sudo nano /etc/fstabthen adding this line at the bottom:
Code: [Select]
//10.2.2.94/Multimedia /home/pi/Music cifs noauto,x-systemd.automount,username=myuser,password=mypassword 0 0
I also restored a Windows-version library and had to replace the NAS locations via Library Tools->Rename, Move, & Copy Files->Find & Replace:
Find What   \\aai\Multimedia\Music
Replace With   \home\pi\Music

Now trying on the $10 USD Raspberry Pi Zero W...then I'll try the headless version with VNC...
The 0W is REALLY lean on memory and CPU.
You might have issues with that...
Logged

brains4eva

  • Recent member
  • *
  • Posts: 21

anyone know how to add a import a local networked folder from a nas drive to the main library?  i tried to by going file, set up auto import, and then browsing from there, but the only folders available are ones actually on the Pi.  I managed to get to my music by changing the library to my nas library but but it seems to be a limited version as not all tags show, and they don't actually import it seems to be kind of stream from a separate library. 

If i was on PC i would install qnap cloud link software which makes the folders turn up in my computer.  I don't have a lot of experience with pi's so sorry if i'm missing something silly.
Logged

mwillems

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

anyone know how to add a import a local networked folder from a nas drive to the main library?  i tried to by going file, set up auto import, and then browsing from there, but the only folders available are ones actually on the Pi.  I managed to get to my music by changing the library to my nas library but but it seems to be a limited version as not all tags show, and they don't actually import it seems to be kind of stream from a separate library. 

If i was on PC i would install qnap cloud link software which makes the folders turn up in my computer.  I don't have a lot of experience with pi's so sorry if i'm missing something silly.

When you open the file manager outside of MC on the pi, do you see your NAS shares? If not you may need to add them.
Logged

brains4eva

  • Recent member
  • *
  • Posts: 21

it's cool i managed to map a drive in the end by following these instructions https://www.stuffaboutcode.com/2012/05/raspberry-pi-connect-nas-windows-share.html
Logged

brains4eva

  • Recent member
  • *
  • Posts: 21

Got media center working quite well now on the pi with connection to my qnap nas. Only thing I'm finding now is using JRiver panel or gizmo, it struggles with playing films, and also i am finding that media center seems to just quit unexpectedly sometimes.  Not sure why, maybe its pi performance related
Logged

mwillems

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

Got media center working quite well now on the pi with connection to my qnap nas. Only thing im finding now is using jriver panel or gizmo struggles with playing films, and also i am finding that media center seems to just quit unexpectedly sometimes.  Not sure why, maybe its pi performance related

Video via panel and gizmo require transcoding video on the server (there's no original format passtrhough).  That will not work on a Raspberry Pi, it just doesn't have the grunt for real-time transcoding.  Pi's aren't really a good solution for video yet (even as a server), they're mostly useful for audio endpoints. 
Logged

brains4eva

  • Recent member
  • *
  • Posts: 21

 ::) ah right ok thanks.  well to be fair, it's very impressive what it can do for music considering the size of the library compare to the small size of the pi ;D. Thinking about it i'm pretty sure most of time it has closed unexpectedly its been when i've tried to play a video.
Logged

brains4eva

  • Recent member
  • *
  • Posts: 21

hmm actually i'm still getting the problem with jriver just closing for no reason sometimes.  It generally works ok but on the odd day i'll try to connect and as jriver has unexpected close i can't access through gizmo or panel unless i go to the pi and start up jriver again.  anyone else experience something similar?  I am definitely only using for music now. (after thought.... although the films are still in the library im just not playing them via the pi any more, thinking i should probably in the first instance remove those folders from the library will try that tonight, also could try reinstalling j river)
Logged
Pages: [1] 2   Go Up