Accelerated 3D Graphics, Hardware Video Decoding, and Network Performance on Orange Pi One Board (Video)

I’ve just written Getting Started Guide for Orange Pi One, a $10 development board based on Allwinner H3 quad core Cortex A7 processor, where I explain how to install and configure Armbian distribution on the board. As promised, I’ve also tested 3D graphics acceleration, and hardware video decoding, and also included some Ethernet benchmarks.

Orange Pi One Running Iceweasel, es2gears, and mpv - Click to Enlarge
Orange Pi One Running Iceweasel, es2gears, and mpv – Click to Enlarge

Since ARM Mali-400 GPU found in Allwinner H3 is only capable of OpenGL ES, as in most ARM SoCs, you can test 3D graphics acceleration by using es2gears (and not glxgears as I’ve seen some other do in the past):


The log shows the utility is using Linux-r3p0 Mali driver, and the gears are display at a high frame rate close to 300 fps. If I switch to full screen, the frame rate drops to about 43 fps, which should still be acceptable.

CedarX is the infamous closed source and GPL violating media library released by Allwinner, but the community has worked on an open source alternative dubbed Cedrus, which armbian is using. It has some limitations, but it did a good enough job with Big Buck Bunny 720p and 1080p H.264 videos using mpv to play from a USB flash drive:


Again the log clearly shows hardware video decoding is enabled, and you can see the actual results in the demo video below.

So while es2gears rendering window was very smooth, I found CPU usage to be very high, mostly due to Iceweasel, but even after exiting the web browser, I found it was still fairly high. You will also have noticed a massive lag when moving the browser window around. The system could however handle both es2gears and playing a 720p video at the same time. The 1080p video started with some frame drops, but overall played smoothly, so that’s a positive. Sadly H.265 reverts to software decoding, despite both Cedrus and Allwinner H3 supporting the new codec.

Finally, I tested the network performance of the 100m Ethernet interface using a full duplex transfer with iperf -t 60 -c server_ip -d command:


The download could basically fill the maximum bandwidth, but the upload was limited to 30 Mbps when both occur at the same time.

Support CNX Software - Donate via PayPal or become a Patron on Patreon
Advertisements
Subscribe
Notify of
guest
19 Comments
oldest
newest most voted
sky770
sky770
4 years ago

interesting.. Thanks!
Keep up the good work!

Arnab
4 years ago

Awesome tutorial, worth to read.
Is the upload speed through Ethernet is limited to 30 Mbps in every Allwinner H3 based SBC ? Or there is a glitch in Orange Pi One hardware design ? possibly to cut down the cost.

tkaiser
tkaiser
4 years ago

@Arnab You get ~95 Mbits/sec in each direction individually with our default settings. When you switch to performance governor you get better results (current CPU clockspeed affects network throughput as with most other ‘tablet grade’ ARM SoCs). Then it looks like: Shell [ 5] 0.0-60.1 sec 667 MBytes 93.1 Mbits/sec [ 4] 0.0-60.4 sec 356 MBytes 49.4 Mbits/sec 12 [  5]  0.0-60.1 sec   667 MBytes  93.1 Mbits/sec[  4]  0.0-60.4 sec   356 MBytes  49.4 Mbits/sec But in every normal situation you max. out Fast Ethernet bandwidth. Don’t expect that any Armbian dev looks into this issue since it has no relevance (at least for us). The mainline… Read more »

Nobody of Import
Nobody of Import
4 years ago

It should be noted that iperf is not really a good litmus test for anything other than peak available on the link. It was written as a quick and dirty test for supercompute clusters to validate proper configuration of ultra-high speed links between nodes in a cluster and to help with the initial steps on diagnosing problems. The problem with using it solely to base judgement and belief on performance is that it’s blindingly simple in nature and doesn’t reflect the reality of things like database, FTP, etc. servers running on these devices. iperf can saturate a link (is designed… Read more »

Nobody of Import
Nobody of Import
4 years ago

@Arnab The limitation isn’t the hardware or the driver. As I said in my previous post, iperf’s not a good judge of speed. Wasn’t designed for that and I wish people would quit using it for that, claiming “ethernet performance” when they post iperf or similar results. You’re measuring the absolute theoretical peak of the device with it and nothing else. Now, it should be observed that *most* of the “tablet grade” ARM SoC’s can’t handle more than a bit above 100Mbit bi-directionally, because the CPU can’t drive it much faster than that. Back when they started rolling out 1Gbit… Read more »

Jean Dassi Fongang
4 years ago

Excellent work ! Do we know if the Pi Camera is compatible with this board?

tkaiser
tkaiser
4 years ago

@Nobody of Import Agreed, iperf is clearly the wrong tool to measure ‘real world’ network performance. But that’s also true for nearly all other ‘common’ tools the average user (and unfortunately also ‘Pros’) uses, takes the results for granted and decides then based on ‘numbers without meaning’. Regarding CPU usage you’re fortunately wrong: http://kaiser-edv.de/tmp/sItUhs/ (~20% max when dealing with Fast Ethernet on OPi PC, on the One it might be 23% then since we don’t allow it to be clocked that high as PC). Since adjusting CPU clockspeeds influences the performance it must be a simple tweak somewhere so get… Read more »

cortex-a72
cortex-a72
4 years ago

so, “hardware acceleration”… which still loads the cpu a lot (apart of loading the vpu 100% of course), overheating, melting down, whith lags, jerkings and overall wasting of all expectations. no, this is not about this particular device, this is an observation on overall hardware “acceleration” rush. (to be honest, I have never ever seen a linux machine of any architecture, not loading cpu high, so it’s maybe not the fail of the “acceleration” itself, but again, did anybody a comparison of how power consumption relates when a board does “software” decoding, thus on the cpu and “hardware” decoding, thus… Read more »

tkaiser
tkaiser
4 years ago

@cortex-a72 I did not really test but at least looked into it. Just playing a HEVC movie (jellyfish-90-mbps-hd-hevc.mkv (324MB in size, 90 Mbps bitrate, 1920×1080, HEVC, Main profile, Level 5.0, Tier: high) HW accelerated with H3 means a few degrees more and 0.8W more in the first part of the movie and ~0.3/0.4W the last seconds (less motion I would suspect). According to RPi forums this is something you need already overclocking and a heatsink on RPi 3 since there HEVC decoding isn’t HW accelerated: http://forum.armbian.com/index.php/topic/789-breaking-news-choosing-armbian-speeds-up-your-orange-pi-multiple-times/?p=6009 Disclaimer: I’ve no idea why Jean-Luc experienced high CPU utilisation in this situation and… Read more »

pmos69
pmos69
4 years ago

@cortex-a72 CPU usage on OrangePI PC with jernej’s openelec port decoding H265 1080p (cedarx-h265): Mem: 440556K used, 383844K free, 6060K shrd, 40648K buff, 195696K cached CPU0: 1.4% usr 0.8% sys 0.0% nic 96.8% idle 0.0% io 0.0% irq 0.8% sirq CPU1: 1.4% usr 0.6% sys 0.0% nic 97.9% idle 0.0% io 0.0% irq 0.0% sirq CPU2: 2.2% usr 0.6% sys 0.0% nic 96.8% idle 0.0% io 0.0% irq 0.2% sirq CPU3: 0.6% usr 3.6% sys 1.2% nic 94.2% idle 0.0% io 0.0% irq 0.2% sirq Load average: 3.23 3.31 2.37 2/114 2207 PID PPID USER STAT VSZ %VSZ CPU %CPU… Read more »

cortex-a72
cortex-a72
4 years ago

@pmos69 ok, this is a much better picture, totally different of what is seen in the overview above, but this is CedarX working, right? The Cpu isn’t totally offloaded still, but the picture is way better, I agree. But we all know, not only CPU part consumes power, all modules do! And I strongly doubt VPU is “lightweight” in this. How about power consumption during its work? How do you think? Is it more or less power hungry than the cpu (on the same work)? Didn’t you measure it? SoC temperature? Is it really “offloaded”? I heard about other board… Read more »

memeka
memeka
4 years ago

r3p0 wow that’s old
but having cedarx vdpau working is cool
– the window moving slowly is from the window manager – you can try “sudo apt-get install metacity”, then run in a terminal “metacity –replace” and you’ll get faster windows moving around.

Harley
Harley
4 years ago

I would still never recommend Allwinner for a media player that will be decoding video. At least not until Allwinner gets their act together and start make libraires compatible with GPL.

Douglas G. Oechsler
Douglas G. Oechsler
3 years ago

Hello!
How are you?

I have opi pc plus with armbian ubuntu xenial. I want to use it as pc station / thin client. I need to run youtube videos. I tried by firefox and chromium but it rund without good quality. I tried to install kodi but it does not run, give only errors. Please! How do you make run vídeos from opi? Thank you atrenton and help.

Charles Lohr
Charles Lohr
3 years ago

Where can one get a copy of es2gears specifically for the OrangePiOne? I can’t find it in the apt tree and googling for it doesn’t seem to turn up much.

yusuf
yusuf
2 years ago

I inquiring to bout to become IPTV provider what are the term and conditions for

Advertisements