Bubblegum-96 is a small and powerful ARM development board featuring a PowerVR GPU and a quad core ARM cortex A53 CPU running at 1.8GHz!! It also comes with 2G of RAM! WOW. amazing. Let’s see how the crazy specs does in the user experience and the benchmarks.
I’ve only tested and benchmarked this board under Debain Linux. Never tested on Android. And, since I don’t have the equipment. I didn’t test the power consumption of it on idle and under load.
Bubblegum-96 is a tiny SBC, even smaller than a Raspberry Pi. But packed with feature and horsepower.
Here is what you get on the board.
- Processor and memory
- ARM Cortex A53 1.8GHz x4
- PowerVR G6230
- 2GB LPDDR2 2400Mhz
- 8GB eMMC
- SD Card slot
- USB 3.0 Type A
- USB 2.0 Type A
- USB 2.0 OTG
- WiFi b/g/n
My first impression of this board is that… It is SEXY. The black silkscreen on it look awesome, the antenna on the side let me feels that it wants to connect to the world and the heat sink in the middle indicates that it is powerful, it wants to do some heavy computing.
Hardware porn aside. When I first booted this thing up. I was amazed by the booting speed. It took less then 30s to boot into LXDE desktop. The desktop is very responsive. It is as smooth as it ran on a desktop PC.
By how smooth the desktop is, I suspect that there is GPU OpenGL support. running
glxinfo | grep OpenGL shows that it is! Nearly all GPU manufacturers’ GPU have full OpenGL support on Linux now (Besides ARM Mali I guess…). Awesome
glxinfo shows that It is running OpenGL 3.0, GLSL 3.3 and OpenGL ES 3.1.
Finally the part we all care about. How fast is this board? I haven’t done too much benchmark on this board. Here are the tests I have done so far
- Building embree-arm
After installing all the dependency. The building process is smooth. Nothing goes wrong. It takes 13 minutes embree-arm project with 2 threads on the built in flash.
This isn’t really a benchmark but rather something I want to try out. The bubblegum-96 can render 7.5 frames per second on the default rendering size (around 480p). In comparison, my laptop with a I5 4210H(iGPU, Linux 4.10) runs around 12.5 FPS. Nice
SmallPT isn’t a widely adapted benchmark. But it is simple to setup and run. So I ran it. It takes the bubblegum-96 213 seconds to run SmallPT at 100 samples/pixel (compiled with
g++ smallpt.cpp -o smallpt -fopenmp , yes, optimizations off). It tooks 1016s to run… Which is slower than a Orange Pi according to the result on OpenBanchmak.org. Look like it is thermal trottling…. I’ll replace the heat sink and test it again later.
Any ARM development board comes with bugs. That’s how it is these days… Sadly the bubblegum-96 comes with bugs too. Here are some bugs that I met so far
- OpenGL 3.0 not fully implemented
Although glxinfo reports that the GPU and the driver on it supports OpenGL 3.0. But when running freeglut3 programs. Some failed to run. (Those does run on DragonBoard c410)
- MPlayer/MPV not running
Seems that due to the not fully implemented OpenGL 3.0. MPlayer2 and MPV does not run on the board. Running them with OpenGL/GLES as video output methods will result in a black player window and a lot of error messages showing that shaders can’t be compiled. VLC with GLES2 seems to work. But the performance is only good enough to play 480p videos. 1080p and 4K are way out of reach. (VLC’s bad performance on ARM is expected, it also performs bad on a Raspberry Pi 3 and DragonBoard c410.)
- Debain takes up too much memory at boot
It tooks 680MB of ram for Debian to boot on this device. That’s more than 25% of memory used to just boot the board! There is no apparent source for the huge consumption of memory. All process listed in
top adds up to at most using 200~300M. It seems to be caused by splitting the RAM for GPU. But setting the
vram parameter to 128M in UBoot does not reduce the boot up memory usage. More investigation is needed.
- Ridiculously High CPU/GPU temperatures?
With such a powerful CPU and GPU. I do expect the temperature to be high… But 156 degrees C? that’s impossible. While running embree-arm. The CPU temperature rises up to 154 degrees, and the GPU stays at 26 degrees? That seem wrong… What’s even weirder is that while running some sample shader from ShaderToy. The GPU temperature also rises to around 150 degrees. Upon closing the browser, it drops back suddenly to 26 degrees again. Something is wrong with the thermal sensor.
Touching the heat sink while the board is under load feels really hot. It can burn my hand if touched for more than half a second.
The bubblegum-96 is a great development board if you want performance and you don’t care about OpenGL. It is a good platform for it price and fairly descent. There is no WiFi and Bluetooth problems. The only problem I have met are minor for the casual developer. Be aware for the high temperature on the SoC tough, it can get really hot and might event thermal throttle a bit.