Support for ARM

Hi,

I have an ODROID-XU3 ARM device that I am running ArchLinux on and the Plex Media Server.

As you may know the XU3 is an 8-core samsung device and I have found that it is totally sufficient to transcode even the worse 1080p divx or other content to the web client.

(Other clients like Android or the PHT that do transcoding on the client hardware have been eliminated from my testing) 

 

So I and others are annoyed at the "This server is not powerful enough .." message that prevents transcoding the above content.

(In testing I have disabled that test by inserting a "return false" in the validateTranscoder() function in the plex.js script)

 

I have tested as much content as possible to know that this hardware is capable of the most demanding transcode demands.  The 8-cores are hardly used for most content and at it's worse

the CPU's are at 70% on 4-cores, the other ones <10% .. (Another user I have been in contact with has the same results as me ..)

 

So can I please request that you re-look at how this function determines the hardware is good enough.

At the moment every update over-writes the changes I do to this file, so I have to edit it frequently to use my system again to it's full potential..

 

.. or is this a bug..

Anyone?

Everyone is very quite on this .... any developers on this forum? Any response would be great even if it is negative  :unsure:

Developers? Still waiting for some comment on this .... others agree, as I have had several likes ..

Maybe if other users could comment/support this request, it may get more traction  ;)

I am very disappointed I am not getting any response from developers on this request? :frowning:
It is VERY IMPORTANT to a lot of users I have spoken to …

Who compiled the version you are using? I have a xu3 I want to test but I want a build with the big.LITTLE endian switch added so it will use all 8 cores not just the arm7. Where exactly are the dev based forums as the layout here is kinda confusing.

I am using an ArchLinux build … I compiles it from AUR , not sure of the compile switches, but all cores are being used.

Still very disappointed no developer has answered me on this several months later …

EDIT: The flags used are:
CFLAGS="-mcpu=cortex-a15.cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4 -O2 -pipe -ffast-math -ftree-vectorize -mvectorize-with-neon-quad -fstack-protector --param=ssp-buffer-size=4"

… these are specified in /etc/makepkg.conf

Should be pretty easy to make a system call and get the CPU type. Should be able to add it to a transcode-supported list.

That would be awesome! :))

I’ll be only too happy to provide info for the -XU3 if you want … just let me know what you want.

cpuinfo shows:

[builder@server ~]$ cat /proc/cpuinfo
processor : 0
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 78.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3

processor : 1
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 78.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3

processor : 2
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 78.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3

processor : 3
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 78.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x0
CPU part : 0xc07
CPU revision : 3

processor : 4
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc0f
CPU revision : 3

processor : 5
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc0f
CPU revision : 3

processor : 6
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc0f
CPU revision : 3

processor : 7
model name : ARMv7 Processor rev 3 (v7l)
BogoMIPS : 108.00
Features : swp half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt
CPU implementer : 0x41
CPU architecture: 7
CPU variant : 0x2
CPU part : 0xc0f
CPU revision : 3

Hardware : ODROID-XU3
Revision : 0000
Serial : 0000000000000000

@scboley said:
Where exactly are the dev based forums as the layout here is kinda confusing.

Yep, It is very confusing, I don’t know why this “Feature Request” category exists, if the developers don’t read and respond to it …

@Xen0sys said:
Should be pretty easy to make a system call and get the CPU type. Should be able to add it to a transcode-supported list.

What does this mean? Plex doesn’t support any hardware transcoding that I’m aware of. It’s been a sore spot for a lot of people for a long time…

I compiled plexmediaserver on my ODROID-XU3 with NEON support, as far as I know plex uses it …
Are you saying plex doesn’t use it …?

From the arm-neon info:

Neon
Cleanly architected NEON technology works seamlessly with its own independent pipeline and register file.

I used -neon compiler packages from here:

GitHub - gripped/odroid-xu3-pkgbuilds

So I guess “what it means” is that ARM cpu’s that support NEON decoding should be put on the “good” transcoder-supported list.

Ya basically. I can’t do anything to help but I would suggest tagging the primary post with as many relevant tags as you can. The organization here for feature requests is pretty abysmal and while this may be simple for them, there isn’t any guarantee a staff member will see it. Tags may help with that.

Thanks. But how do I “Tag” my initial post, I see nothing there to do that, please explain …

EDIT: Never mind, found it …

The organization here for feature requests is pretty abysmal
You are dead right there. It seems from another thread that the only way dev’s will notice a topic is by voting with the dreadful facebook “like” system …

It seems, we are just a number … so there does not seem to be any alternative, but to play this silly game and vote up this topic …

Is there a way to contact Plex developers some other way? By email for example.
Just interesting why “Linux” download section still does not have “ARM” option.

Developers usually do not respond to feature requests. They just use the like count to help guide their development. If there are enough votes to garner putting in the effort, they may add it to their todo list, but they do not reveal what is on that list. This post currently has 6 likes, so although it may be important to you, it is not winning over other users.

I am confused though. If you were able to compile your own version, why not just use that. I know there is at least 1 other linux build that is currently managed by a user. If you shared your work and it became popular, that would be another way to get Plex’s attention for an official version.

@MovieFan.Plex said:
Developers usually do not respond to feature requests. They just use the like count to help guide their development. If there are enough votes to garner putting in the effort, they may add it to their todo list, but they do not reveal what is on that list. This post currently has 6 likes, so although it may be important to you, it is not winning over other users.

I am confused though. If you were able to compile your own version, why not just use that. I know there is at least 1 other linux build that is currently managed by a user. If you shared your work and it became popular, that would be another way to get Plex’s attention for an official version.

The problem is that I can not compile version for required platform with needed flags because plex is not open source. I’m not sure about that linux build. I think that mentioned user just uses binary extracted from some other linux package and packs it to needed format. Only Plex developers have access to source code.
Talking about Odroid – we also may use binary for some ARM NAS, but build for Odroid may be optimized if compiled with big.LITTLE endian switch. And the main problem of all ARM builds that we can not control transcoding. It’s just disabled. We can enable it for web interface by changing portal javascript code. And Odroid’s 2Ghz CPU is enough to transcode HD 720p. But this does not work, for example, for iOS app.

Have you looked here. http://forum.odroid.com/viewtopic.php?f=112&t=8737&sid=3497fcf6c253c3288aa71b2522b0ab40

@MovieFan.Plex said:
Have you looked here. Plex Media Server on Odroid-C1 - ODROID

All ARM builds have the same problem – transcoding is disabled. So It might be a good idea to let users decide if they want to use transcoding. I don’t understand why we don’t have such preference.