PlexAmp-installer for Raspberry Pi with ARM64 HW

Check github page for version currently installed using the script.

Hi!
Have created a bash for installing the Plexamp headless running on the Raspberry Pi! It does the full installation on a fresh setup of Raspbian OS 64-bit! Only thing you need is the post-login on web, and enabling of the service!

Follow the guide here:

…and let me know any issues/improvements/questions you might have!

Have fun!

9 Likes

Nice!

Not sure what ARMv7 and ARMv8 refer to, you need ARM64 or AARCH64 or whatever it’s called :sweat_smile:

Updated!

1 Like

Sorry my ignorance, but does it install plexamp player? How do you use it?

1 Like

I noticed in the script on line 334 you’re pulling the original version instead of the latest beta version. https://plexamp.plex.tv/headless/Plexamp-Linux-arm64-v4.2.2-beta.3.tar.bz2

@elan In addition to the individual version links you’ve been posting, Would it be possible for us to get a link that always pulled the latest version of the software so the script doesn’t have to be updated every time?

It installs a headless version (eg without a monitor) of plexamp on a raspberry pi to make it a streaming endpoint for plexamp. Kind of like a custom Chromecast audio.

1 Like

At some point, yeah. Right now we’re fast & furious.

1 Like

Script updated to pull beta 3 now! Elan threw in a curveball by modifying the service-script, so having a link to latest might not always work!

Test-installed on one of my 4 rPi PlexAmp-pifi-digi+ machines, playing now. Will upgrade the rest later today!

I see. Thank you for the answer

Its also possible to set up the user without the rPi “wizard”

See: An update to Raspberry Pi OS Bullseye - Raspberry Pi

“There are also mechanisms to preconfigure an image without using Imager. To set up a user on first boot and bypass the wizard completely, create a file called userconf or userconf.txt in the boot partition of the SD card; this is the part of the SD card which can be seen when it is mounted in a Windows or MacOS computer.

This file should contain a single line of text, consisting of username:encrypted- password – so your desired username, followed immediately by a colon, followed immediately by an encrypted representation of the password you want to use.

To generate the encrypted password, the easiest way is to use OpenSSL on a Raspberry Pi that is already running – open a terminal window and enter

echo ‘mypassword’ | openssl passwd -6 -stdin

This will produce what looks like a string of random characters, which is actually an encrypted version of the supplied password.”

Yup, correct, git updated.

hi Odinb1,

It took a while - but my Pi finally arrived. ran through your script - and have the following error

pi@PlexPiFamilyRoom:~ $ node /home/pi/plexamp/js/index.js
internal/modules/cjs/loader.js:1057
return process.dlopen(module, path.toNamespacedPath(filename));
^

Error: /home/pi/plexamp/treble/treble.node: wrong ELF class: ELFCLASS64
at Object.Module._extensions…node (internal/modules/cjs/loader.js:1057:18)
at Module.load (internal/modules/cjs/loader.js:863:32)
at Function.Module._load (internal/modules/cjs/loader.js:708:14)
at Module.require (internal/modules/cjs/loader.js:887:19)
at require (internal/modules/cjs/helpers.js:74:18)
at Object.41673 (/home/pi/plexamp/js/index.js:2:332509)
at a (/home/pi/plexamp/js/index.js:2:2015750)
at Object.65631 (/home/pi/plexamp/js/index.js:2:327124)
at a (/home/pi/plexamp/js/index.js:2:2015750)
at Object.10546 (/home/pi/plexamp/js/index.js:2:316525)

What should I be looking at? It is a standard Pi OS Bullseye - not modified, and just received today - I did run sudo apt update and sudo apt upgrade prior to running the script.

Many thanks if you can help me out on this one!

Use the 64-bit OS image from Raspbian, looks like you have a 32-bit one.

1 Like

Thanks…

Newbie mistake :slight_smile:

Any chance to get this script updated for 4.3?

Will be updated when the bug-update is released: How to rename headless Player? - #17 by elan

This script was terrific for my HiFiBerry DAC2 Pro on a Pi 4B.

When trying to debug the web player just spinning like you described on your github readme, I spent a long time reading up on ALSA and kernel modules, audio formats and the like. I figure the issues I’m having aren’t from the script, but what audio depth/rate that DACs will accept and the device PlexAmp is using to talk to the DAC, hw or maybe plughw

I did want to ask if you had any insight into which device is getting assigned and whether Plexamp stores that in a config file I can adjust or if your script does any adjustments besides the dt-overlay.

thanks!

The only thing my script does is to add the DAC/DIGI to the “/boot/config.txt” file to set it as default, unless you choose to configure HDMI as the default output. So, I only manipulate the dtoverlay, yes!

To choose audio-output via Plexamp, the Wiki has this in the post-install section (have not yet pondered into where this gets stored):
"Once entered, the web-GUI should be available on the ip-of-plexamp-pi:32500 from a browser. On that GUI you will be asked to login to your Plex-acoount for security-reasons, and then choose a library where to fetch/stream music from.

Wherever possible, you should choose output device via the script (gets set in “/boot/config.txt”) when installing, to make it default system-wide. If you have audio-problems, or want to choose output after install, go to the web-GUI. Here the menu is found via: Settings (cogwheel lower right corner) >> Playback >> Audio output >> Audio Device. As an example, if you have chosen the “ Digi/Digi+“ option during install in the script, pick “Default” if the card is not showing, then reboot the pi. Now the card will show up in the list, and you can choose it!"

Thanks for the info about the config.txt. I was able to get a HiFiBerry DAC and a Topping D10s to work from my iPad by first using the web app and choosing the DAC by name, the way you said, and by using systemctl to restart the Plexamp service.

but I never got the web app to playback, no matter what I try. I never intend to use it, but still :slight_smile:
your script was a great read too, and helped me brush up on my shell. I can’t believe I was spawning a process to awk and cut things like a dinosaur.

1 Like

Bash is old-school, but VERY powerful!