Community Builds of Plex Media Player Embedded 2.x for Raspberry Pi 2/3[+] & NUC/x86_64

Thanks for the instructions. I’ve been trying to get a build working for a while. Although I was using QT5.10 and couldn’t get past a build error. Yesterday I went back to QT5.9.4 and it’s been building ok now.

Will spin up another development server and give this a go as well.

I set up a new vm and installed Ubuntu 16.04 and followed all the instructions but cant get it to work.

when i try it without docker i get this:

-std=gnu++11 -fno-delete-null-pointer-checks -Wno-narrowing -fno-rtti -fno-exceptions -c …/…/3rdparty/chromium/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp -o obj/third_party/WebKit/Source/web/web/WebDevToolsAgentImpl.o
{standard input}: Assembler messages:
{standard input}:6619: Warning: end of file not at end of a line; newline inserted
{standard input}:7636: Error: cannot represent T32_OFFSET_IMM relocation in this object file format
armv7ve-libreelec-linux-gnueabi-g+±6.2.0: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.
[17214/17604] CXX obj/third_party/WebK…/web/NavigatorContentUtilsClientImpl.o
ninja: build stopped: subcommand failed.
make[5]: *** [Makefile.gn_run:644: run_ninja] Error 1
make[5]: Leaving directory ‘/home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9/qtwebengine/src/core’
make[4]: *** [Makefile:80: sub-gn_run-pro-make_first] Error 2
make[4]: Leaving directory ‘/home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9/qtwebengine/src/core’
make[3]: *** [Makefile:78: sub-core-make_first] Error 2
make[3]: Leaving directory ‘/home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9/qtwebengine/src’
make[2]: *** [Makefile:47: sub-src-make_first] Error 2
make[2]: Leaving directory ‘/home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9/qtwebengine’
make[1]: *** [Makefile:368: module-qtwebengine-make_first] Error 2
make[1]: Leaving directory ‘/home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9’
Makefile:12: recept voor doel ‘image’ is mislukt
make: *** [image] Fout 2
appiekap653@ubuntu:~/plex-LibreELEC.tv$

and when i try it with docker i get this:

—> 1465964a5978
Removing intermediate container dd9dd9c6a90b
Step 15/17 : ADD ~/.ssh/id_rsa /root/.ssh/id_rsa
lstat ./.ssh/id_rsa: no such file or directory
Command exited with non-zero status 1
0.27user 0.23system 5:22.89elapsed 0%CPU (0avgtext+0avgdata 18512maxresident)k
32inputs+0outputs (1major+1555minor)pagefaults 0swaps
chown: changing ownership of ‘sys’: Read-only file system
cp: cannot stat ‘/pmp/target/*’

anybody know why this is happening with a fresh installed vm following all instructions?

I have successfully compiled PlexMediaPlayer 2.8.0.1. Working good so far on RPi2.

I can make this available for a limited time if anyone wants it. This is the community build. This is NOT an official Plex Inc. build and is no in way supported. Use at your own risk.

Tried it today again and now getting another error. I only see people reacting that they build it successfully, How come this is working for all but me?

You need to edit build.PlexMediaPlayer=RPi2.arm-8.2.2/qt5-5.9/qtwebengine/src/toolchain/BUILD.gn and remove all sections for gcc_toolchain(“target”)

For some reason if the build fails that section is added multiple times. Just remove both.

Was coming here to say that! If the build fails
make clean
Should tidy it up to start again. It did add above though and just manually removed the duplication.

Looks like you forgot to add ssh key in step 3 in GitHub - pmpbuild/devel: dev repository

and when i try it with docker i get this:

—> 1465964a5978
Removing intermediate container dd9dd9c6a90b
Step 15/17 : ADD ~/.ssh/id_rsa /root/.ssh/id_rsa
lstat ./.ssh/id_rsa: no such file or directory
Command exited with non-zero status 1
0.27user 0.23system 5:22.89elapsed 0%CPU (0avgtext+0avgdata 18512maxresident)k
32inputs+0outputs (1major+1555minor)pagefaults 0swaps
chown: changing ownership of ‘sys’: Read-only file system
cp: cannot stat ‘/pmp/target/*’

anybody know why this is happening with a fresh installed vm following all instructions?

@rolandbird
Thank you for your answer, that worked to start the build again.
Unfortunately i still cant get past the building of QT5.
it stops everytime with the following error:

Done. Made 5310 targets from 1110 files in 18180ms
/home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9/qtwebengine/src/3rdparty/ninja/ninja -C /home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9/qtwebengine/src/core/Release QtWebEngineCore
ninja: Entering directory `/home/appiekap653/plex-LibreELEC.tv/build.PlexMediaPlayer-RPi2.arm-8.2.2/qt5-5.9/qtwebengine/src/core/Release’
[80/5869] CXX obj/content/common/common/content_message_generator.o
FAILED: obj/content/common/common/content_message_generator.o

n/common/content_message_generator.o
{standard input}: Assembler messages:
{standard input}:432194: Warning: end of file not at end of a line; newline inserted
{standard input}:432321: Error: unknown .loc sub-directive `discriminat’
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
{standard input}:432320: Error: branch out of range
armv7ve-libreelec-linux-gnueabi-g+±6.2.0: internal compiler error: Killed (program cc1plus)

@JSNda

i added the keys as described.

One additional dependency I’ve had to install is g+±multilib. The instructions already mention gcc-multilib but I’ve found g++ is required as well.

sudo apt-get install gcc-multilib g++-multilib

On another note I have compiled another image using qt5.9.4 instead of qt5.9.2. Not sure if this is going to make any difference at all. The default build is a bit sluggish in terms of how the UI responds, but in general if you put aside that issue it’s working really well on the RPi2.

I have succeeded the build.
The problems i had were due not enough memory.

I only stumbled upon one strange thing.

before installing everything it makes some directories and files in the image dir.
in ‘build.PlexMediaPlayer=RPi2.arm-8.2.2/Image/System’ it makes a file called ‘media’
afterwards it wants to copy the directory ‘build.PlexMediaPlayer=RPi2.arm-8.2.2/uchardet-0.0.6/.install_pkg/media’ into ‘build.PlexMediaPlayer=RPi2.arm-8.2.2/Image/System’ which fails with the message cp cannot overwrite non-directory with directory.
I could get around it by starting the build and quickly remove the ‘media’ file by hand before it will copy the directory.

Did anyone else came across this or does it has something to do with a different install script or different system setup?

Is there any performance difference from version 2.7.1 to 2.8.0 on RPi2 ?

version 2.7.1 is pretty slow, so i wanted to hear if any of you have tried 2.8.0 and how is it compared to 2.7.1

link til release notes: https://github.com/plexinc/plex-media-player/blob/master/release-notes/2.8.0.txt

I haven’t used 2.7.1, but 2.8 is ok. I have been using it for a few days now. The UI does become unresponsive briefly when moving between library categories, and it does take a bit of time to load and display the items within each library. Having said that though the length of time is very similar to the delays on the older 1.x series.

My verdict is that it’s usable. It really needs to cache rather than fetching the library contents each time.

I have the same experience as Rolandbird.
I also had some troubles with playing tv shows.
When you skip back a few minutes the image will go back but wont play anymore.
You have to restart it.
I also had a lot of buffering problems where it would buffer every 2 seconds again.
I haven’t tried it jet on a 1080p tv but on my 720p tv the subtitles are displayed too low on the screen. i’m missing half of the letters.

I’m using 2.8 and it seems to work pretty well. Not as fast as my Roku but still pretty good. I have used it mostly for Live TV and it’s worked great.

thanks for all your replies. will try 2.8.0 later this week.

to reiterate Jacob’s question any planning on posting a fully built image for a pi2/3 ? if there is an issue with storage on github i have a paid github account and a LOT of google storage space… I would be more then happy to host the builds in either place under my account. (i’ll be honest im swamped and don’t have a lot of time to build this myself).

Thanks everyone.

after many failed attempts I was finally able to compile the latest version. Below are the links for anyone who wants to try them. If this is against the rules please delete it or let me know and I will delete it. Thanks.
While running they show openelec base of 8.2 and Qt version 5.9.2

PlexMediaPlayer-2.8.0.1-b20d23b1.Generic-x86_64.img.gz
PlexMediaPlayer-2.8.0.1-b20d23b1.Generic-x86_64.tar
PlexMediaPlayer-2.8.0.1-b20d23b1.RPi2-arm.img.gz
PlexMediaPlayer-2.8.0.1-b20d23b1.RPi2-arm.tar

I was holding off on publishing any builds because I didn’t want to support anyone having issues with them.
There’s obviously reasons that Plex hadn’t published them yet.
Good luck using these builds though, just remember to keep an eye out for the official builds. Not sure if the auto updater works for these builds.

@jrelax Thank you for sharing. I’m using it on a Pi 3 and works great!

Here’s some of my builds. I’m only building the RPi image at the moment. I have a more recent build of the media player with web-client 25-fea08608883bd1. They are built using qt9.5.4 instead of the configured qt9.5.2 - just trying something different.

https://drive.google.com/drive/folders/1vq0GfXEgYSkx_lUSimkEc56GRg99OMlr?usp=sharing

These images are based on the community build and they are not the official Plex build, as such they are not supported.