The following benchmarks indicate how the Librem 5 performs compared to other hardware.
|Benchmark||Thinkpad T450s, 2/4x 2.7GHz Core i5-5200U, 12GB RAM, Debian 10||Raspberry Pi 4B, 4x 1.5GHz Cortex-A72, 4GB RAM, 3.3V, Raspbian 10||Librem 5, 4x 1.5GHz Cortex-A53, 3GB RAM, PureOS + Phosh||PinePhone, 4x 1.152GHz Cortex-A53, 2GB RAM, Mobian kernel + Phosh||Librem 5 vs RPi4B
|PinePhone vs RPi4B
|Librem5 vs PinePhone
|↓ CPU Blowfish||4.40||6.83||8.44||11.27||-24%||-65%||34%|
|↑ CPU CryptoHash||480.45||353.01||160.14||118.55||-120%||-198%||35%|
|↓ CPU Fibonacci||0.76||2.31||3.35||4.36||-45%||-89%||30%|
|↓ CPU N-Queens||7.05||11.56||5.26||7.45||54%||36%||42%|
|↑ CPU Zlib||0.51||0.25||0.21||0.11||-19%||-127%||91%|
|↓ FPU FFT||1.96||5.40||9.44||14.15||-75%||-162%||50%|
|↓ FPU Raytracing||1.96||2.99||4.81||7.12||-61%||-138%||48%|
↑ Benchmark where higher is better.
↓ Benchmark where lower is better.
glmark2-es2-wayland was compiled without the “terrain” scene (which isn’t able to run on the PinePhone).
† Raspbian doesn't support Wayland, so glmark2-es2 was run in X11, which is slower than Wayland. Due to a bug in glmark2 with the RPi4B, it was compiled without the "texture", "windows", "terrain", "shadow" and "refract" scenes, but the removal of these scenes probably didn't have much impact on the RPi4B's glmark2-es2 score, since the Thinkpad T450s scored almost the same with or without these scenes included.
Sources: hardinfo and glmark2 tests by Sebastian Krzyszkowiak (https://dosowisko.net/bench/) and Amos Batto (https://github.com/amosbatto/benchmarks). See the forum discussion about the tests.
Information about the benchmarks:
- Blowfish is a symmetric-key 64-bit block cipher.
- CryptoHash is a cryptographic hash function that maps data of arbitrary size (often called the "message") to a bit array of a fixed size (called the "hash" or "message digest"). It is a one-way function, that is practically infeasible to invert, and is used in digital signatures, message authentication and hash functions to index data in hash tables.
- A Fibonacci sequence is a series of numbers in which each number is the sum of the two preceding numbers, such as 1, 1, 2, 3, 5, 8, etc. This benchmark tests the integer processing ability of a CPU.
- N-Queens finds a way to place a variable number of queens on a chessboard so that no two queens threaten each other by sharing the same row, column or diagonal. For some reason, the Cortex-A53 which is a simpler in-order processor does better at this benchmark than more complex out-of-order processors like the Cortex-A72 and Core i5, but it is hard to conclude much from this result.
- ZLib is a software library used for data compression, which is used by the gzip file compression program. This benchmark is memory intensive, so its results will reflect the speed of the RAM. The Librem 5 does well in this benchmark due to its fast LPDDR4-3200 (1600MHz) DRAM. In comparison, the T450s, Raspberry Pi 4B and Pinephone (Mobian) use DDR3-3200 (1600MHz), LPDDR4-2400 (1200MHz) and LPDDR3-1104 (552MHz) DRAM, respectively. The PinePhone's weak score on this benchmark reflects its slower DRAM clock. The A64 processor in the PinePhone supports DDR3-1333 (667MHz), but does not specify its top LPDDR3 speed, so the distros are experimenting with different clock speeds.
- Fast Fourier Transforms (FFT) converts a signal to frequencies and vice-versa. It is used in audio digital signal processing and image signal processing, and is an indication how fast a processor can process video in software, which will be necessary in both the Librem 5 and PinePhone, since the i.MX 8M Quad doesn't have hardware video encoding and the free Sunxi drivers don't support the A64's hardware video encoding.
- Ray tracing is a rendering technique for generating an image by tracing the path of light as pixels in an image plane and simulating the effects of its encounters with virtual objects. Like FFT, this benchmark tests how well the processor deals with floating point numbers (i.e. numbers with decimal points).
glmark2 is a benchmark using OpenGL 2.0 and OpenGL ES 2.0, which are API's for rendering 2D and 3D vector graphics. This benchmark indicates how well the device will be able to play games. The benchmark was run using OpenGL ES 2.0, since that is the graphics API used by most mobile games and in Wayland, which is used by PureOS/Phosh and most PinePhone distros.
Note that the A64 in the PinePhone does not support graphics API's above OpenGL ES 2.0, and the i.MX 8M Quad in the Librem 5 is currently limited to OpenGL 2.1 and OpenGL ES 2.0 by its free Etnaviv driver, so neither device will be able to play OpenGL ES 3 or Vulkan games. A free Vulkan driver was recently released for the VideoCore GPU in the Raspberry Pi 4B. Support for OpenGL ES 3.0/3.1 and Vulkan 1.0 may eventually be added to the Etnaviv driver as well, but it is hard to predict if and when it may happen.
Krzyszkowiak reports that Animatch runs at about 20 fps in the PinePhone but at 60 fps in the Librem 5.
Purism forum users irvinewade and Quarnero have benchmarked the microSD card and internal eMMC Flash drive on the Librem 5 and PinePhone, respectively. The benchmarking is basic, using
hdparm to test sequential read speeds and
dd to test sequential write speeds, as explained in this article.
Comparing storage speeds on different devices in MB/s
|Device||µSD read||µSD write||eMMC read||eMMC write|
|Librem 5 (with SanDisk Ultra C10 U1 512GB)||11 - 12*||10||57||22|
|PinePhone (with HP mx310 UHS-I U1 64GB)||11.9||10.0||76.8||16.5|
|x86 PC (with SanDisk Ultra C10 U1 512GB)||85||37|
|x86 PC (with HP mx310 UHS-I U1 64GB)||87.0||36.8|
dd instead of
Sources: irvinewade using SanDisk Ultra C10 U1 512GB microSDXC with the Librem 5 and a USB 3.0 card reader connected to a USB 3.0 port in a middle-of-the-range x86 PC; Quarnero using a HP mx310 UHS-I U1 100MB/s 64GB microSDXC with the PinePhone and a x86 PC.
The storage on both phones is slow, so expect these phones to take longer when shooting photos/video and transferring files than the standard smartphone. The read and write speeds of microSD cards are quite similar on the Librem 5 and PinePhone, and the same microSD cards perform much better on an x86 PC. Both phones use a USB 2.0 bus to connect to their microSD cards. USB 2.0 is a protocol that supports up to 60 MB/s, but it is half-duplex, so its maximum speed should be between 30 and 40 MB/s. The i.MX 8M Quad processor in the Librem 5 supports USB 3.0, but the microSD card in the Librem 5 is limited to USB 2.0, because the same USB bus that connects to the microSD card, is also connected to the WiFi/Bluetooth and cellular modem, which both only support USB 2.0.
In terms of the internal eMMC Flash storage, the Librem 5 writes faster than the PinePhone, but reads slower than the PinePhone. The best eMMC 5.1 drives achieve sequential reads of 250 MB/s and sequential writes of 125 MB/s, so the internal storage of both phones is significantly slower than a normal smartphone. The eMMC drives in both phones support the eMMC 5.1 standard, but the A64 in the PinePhone and the i.MX 8M Quad in the Librem 5 only support the eMMC 5.0 standard, which is a little slower in sequential writes and random reads.
The 32GB Kioxia (formerly Toshiba) THGBMHG8C2LBAIR in the Librem 5 and the 16GB Kimtigo KM111SS0016GxA-DDD00WT in the PinePhone should be able to support higher speeds. Kioxia doesn't publicly release the data sheet for the THGBMHG8C2LBAIR, but the data sheet for its larger 64GB variant, the THGBMHG9C4LBAIR, lists higher speeds for the chip. It is unclear at this point, what is holding back the performance of the eMMC drives in the two phones.
Sequential read and write performance of eMMC drives in MB/s, according to their data sheets
|eMMC NAND Flash drive||DDR read||DDR write||HS200 read||HS200 write||HS400 read||HS400 write|
|64GB Kioxia THGBMHG9C4LBAIR||90||80||180||105||300||105|
|16GB Kimtigo KM111SS0016GxA-DDD00WT||130||45||200||50|
|32GB Kimtigo KM110SS1032GxA-DDD00WT||140||75||210||90|
The Librem 5 is 30%-40% faster than the PinePhone in processing integers and 50% faster in processing floating-point numbers. The i.MX 8M Quad processor in the Librem 5 contains the same four Cortex-A53 CPU cores as the A64 processor in the PinePhone, and is clocked 30% faster, but its benchmarks are better than 30%, due to its faster DRAM and its 1MB L2 cache, which is twice the size of the A64's L2 cache. The faster DRAM in the Librem 5 effects the speed at which it loads programs and can display an interface, which is seen in Krzyszkowiak's tests loading SuperTuxKart.
The Vivante GC7000Lite GPU in the Librem 5 is 142% faster than the Mali-400 MP2 GPU in the PinePhone at the glmark2-es2 benchmark, which is a good indication of how well the two phones will play 2D and 3D games. More importantly, the Phoc compositor used by Phosh, OpenGL/OpenGL ES games and QtQuick applications are all GPU accelerated, which means these programs will get a bigger speed boost from the Librem 5's GPU than the PinePhone's GPU. Krzyszkowiak's tests with Chromium in the Librem 5 show a major improvement in terms of the speed of scrolling and the responsiveness in web pages when GPU acceleration is enabled in a web browser. QtQuick apps can run in Phosh, but Phosh's interface and most of its applications are based on GTK 3, which doesn't support GPU hardware acceleration. GTK 40 with hardware acceleration will probably be released in March 2021, and it will take a while for it to get incorporated into Phosh and its GTK apps.
A major concern with the Librem 5 and PinePhone is how well will they handle convergence when connected to an external monitor, keyboard and mouse to be used as a desktop PC. The A64 supports HDMI 1.4 (up to 4K@30 video), but the PinePhone has to use an extra chip to convert the HDMI video to DisplayPort alt-mode and then output that signal over a USB 2.0 bus which is limited to a 60 MB/s half-duplex standard, which probably means a max speed around 40 MB/s. UBports reports that the PinePhone will support 1080p DisplayPort. In theory, the Librem 5 should handle convergence better, since the i.MX 8M Quad supports DisplayPort 1.3 (up to 4K@60 video) and has USB 3.0 (655 MB/s at full-duplex), but the i.MX 8M Quad's USB is currently limited to 150-170 MB/s, and it remains to be seen how well convergence will be implemented in practice.
As a point of comparison, the Raspberry Pi 4B scores an average of 40% better than the Librem 5 and 120% better than the PinePhone in the benchmarks. The RPi4B does 60%-75% better than Librem 5 in the floating point benchmarks, but the Librem 5 comes much closer to RPi4B in terms of GPU performance and the ZLib compression test, where the Librem 5's faster RAM helps it. Of course, this isn't a fair comparison, since the RPi4B with four Cortex-A72 cores consumes up to 4.3W (1.3A x 3.3V) when running at load and it was using a fan to cool it which requires additional energy. In contrast, the i.MX 8M Quad consumes a maximum of 3.3W and uses passive cooling, so the performance of the Librem 5 is probably roughly equal to the RPi4B on a per watt basis.
These results probably will change in the future, with better software development. Currently the Vivante GC7000Lite GPU in the Librem 5 is running at 800MHz with 0.9V. When dynamic voltage frequency scaling (DVFS) is enabled in the i.MX 8M Quad, it should be able to run at 1000MHz with 1.0V, so that should provide about a 20% improvement to its GPU scores. If the free Entaviv driver gets support for OpenGL 3, OpenGL ES 3 and Vulkan in the future, the Librem 5 will become a significantly better gaming device. Currently, the A64 in the PinePhone is running at 1.152GHz, but the A64 documentation says that it supports up to 1.2GHz, which would provide a 4% improvement to its CPU scores. If the PinePhone's DRAM clock can be increased from 552MHz to 624MHz, that would improve its memory speed by 13%. glmark2-es2 runs significantly faster in Wayland than in X11, but Raspbian doesn't yet support Wayland, so the Raspberry Pi 4B's glmark2-es2 score will be significantly improved once the Raspberry Pi 4B gets support for Wayland.