Posted on

The Sub-1-Watt 64-bit Ubuntu Linux ARM Server

Today, we follow up the release of our Ubuntu desktop image with our headless server image for AML-S905X-CC. The headless server image is based on the latest Linux LTS 4.14 along with some of our customizations. It utilizes the same infrastructure we’ve created for our desktop image while consuming considerably less power.

  • Linux 4.14 LTS
  • u-boot 2017.11
  • Custom Partition Layout
    • 256MB FAT EFI Partition
    • BTRFS Partition
      • Copy-on-Write for greater reliability
      • Facebook’s zstd compression
      • @ root subvolume and @lc-ubuntu-16-headless release snapshot
      • Self expands on startup to full disk size
    • Auto generated Swap
      • 1-2GB in side located at end of disk
      • offload pages from zswap

In testing, power consumption is around 180mA with network, eMMC, and microSD card connected for a total consumption of 0.91W! Did we mention this thing has quad 64-bit ARM Cortex-A53 processors? Just to give you an idea, your “energy efficient” 13W LED light bulb uses the same power as 15 of these servers.

We performed no optimization or other funny business in our images to achieve these results. You can get a Le Potato yourself and compile a mainline kernel to verify the results. If you have one already, you can download the latest images here. If you are serious about minimizing power consumption, more saving can probably be extracted.

Posted on

AML-S905X-CC Mainline Linux Preview Image 8 with eMMC Support

It has been over three months since our last preview image 7 for the AML-S905X-CC Le Potato platform and there has been a lot of working going into mainline Linux and u-boot by our partner BayLibre. Preview image 8 brings all of the work together into a flash-able image for our end-users.

PI8 Core feature upgrades:

  • Upgraded to mainline u-boot 2017.11
    • No longer using Amlogic’s u-boot
    • eMMC support
    • Saving u-boot environment
    • cvbs enablement through UART via “setenv enable-cvbs 1; env save”
  • Upgraded to mainline Linux LTS 4.14.29
    • New DMT Display Modes support
      • 640×480@60Hz
      • 800×600@60Hz
      • 1024×768@60Hz
      • 1152×864@75Hz
      • 1280×1024@60Hz
      • 1600×1200@60Hz
      • 1920×1080@60Hz
    • Fixed top USB Port by Ethernet causing USB subsystem to hang
    • Utilize kernel and kernel module deb package install
    • Power optimizations
  • Additional image work
    • eMMC support via lc_distro_transfer utility
      • Reworked fstab mount descriptors
      • Reworked partition resize utility
    • Preliminary EFI support
    • Headless and XFCE Desktop snapshots in one image

Some known issues with this release and additional improvement work:

  • shutdown/suspend/wakeup
  • MicroSD card may hang on reboot command
  • package u-boot and board specific utilities and binaries into deb files
  • add repository to apt for board support deb files
  • display pipeline improvements and rework for additional resolutions
  • wayland support
  • Ubuntu 18.04 LTS
  • video codec acceleration support
  • overlay auto-loading in u-boot
  • eMMC performance improvements
  • EFI support improvements

eMMC Support

eMMC modules are solid-state flash devices created for embedded systems. They offer higher reliability and additional performance compared to MicroSD cards. They are purchased separately and attached to the eMMC connector on the bottom side of the board.

We currently have eMMC 5.x modules and eMMC 4.x modules. A distinction must be made about support since boards are backwards compatible and eMMC modules are forward compatible. You can attach an eMMC 5.x module on a board that supports eMMC 5.x only. If you attach an eMMC 5.x module on a board with only eMMC 4.x support like the ALL-H3-CC, it will not work. eMMC 4.x modules are supported by all boards. The performance differences are small to negligible.

lc_distro_transfer utility

This image includes the release state of our distro as snapshots on top of the BTRFS filesystem. We added a new script called lc_distro_transfer that utilizes core design features of our image to transfer system snapshots created during image building to eMMC and back to MicroSD card.

sudo lc_distro_transfer –help
USAGE: lc_distro_transfer VENDOR/MODEL DEVICE DEVICE_TYPE DISTRO [FIRMWARE_TYPE]

For example, you can flash the headless or desktop image from a MicroSD card to eMMC after booting up. After login and boot-up, simply run the following command to flash the headless image to eMMC:

sudo lc_distro_transfer libre-computer/aml-s905x-cc /dev/mmcblk0 emmc lc-ubuntu-16-headless

If you want to flash the desktop image to eMMC, run the following:

sudo lc_distro_transfer libre-computer/aml-s905x-cc /dev/mmcblk0 emmc lc-ubuntu-16-xfce

Once the image is flashed to eMMC, you can shutdown and remove the MicroSD card. The devices will then boot to eMMC. If you want to flash a blank MicroSD card from eMMC, you can run the following:

sudo lc_distro_transfer libre-computer/aml-s905x-cc /dev/mmcblk1 sd lc-ubuntu-16-xfce

Please note that you can only flash the image that you original flashed to the eMMC. You cannot flash the headless image back onto the MicroSD card if you originally flashed the xfce image onto the eMMC.

The image release can be downloaded here.

You can let us know your thoughts on issues for this image on the LoveRPi forum. Once Ubuntu 18.04 LTS is out, we will have a lot of additional work lined up such as Wayland and Mali 3D support.

Posted on

Raspberry Pi 3 Model B+ Benchmarks, Review, and Comparison

Raspberry Pi 3 Model B+ is the newest offering from the Raspberry Pi Foundation sharing much of the same features as the Raspberry Pi 3 Model B with small but significant improvements on many fronts while maintaining the same price. Below is some highlights.

  • Increased CPU clock speed from 1.2GHz to 1.4GHz
  • Increased memory throughput
  • Integrated Heat Spreader (IHS) for SoC
  • Integrated MxL7704 PMIC for power management and delivery
  • Modularized WiFi/BT Radio with 5GHz and improved performance
  • Gigabit Ethernet (albeit still over USB 2.0)
  • Ethernet headers for PoE addon

We ran a comprehensive set of benchmarks on the new model, old model, and our boards to compare performance and power consumption.

We begin with heavily optimized C applications like C-Ray and SciMark2. Raspberry Pi 3 Model B+ is still utilizing 32-bit kernel and userland like its predecessor. Raspbian, the official OS of Raspberry Pi, has not moved to 64-bit ARMv8 despite the ARM Cortex-A53 CPU cores supporting it. Legacy 32-bit can help performance for this specific benchmark since some data structures and pointers are smaller than in 64-bit ARMv8 mode. Performance increases around 20% from the Model B, which means that the Raspberry Pi 3 Model B+ matches the performance of similarly clocked ROC-RK3328-CC. It is still slightly behind the AML-S905X-CC since that is about 100MHz faster.

Now we move onto server based workloads. Redis is a good test of overall system performance as it stresses not just the CPU but also the interrupt and memory subsystems. We see the Raspberry Pi 3 Model B+ improving greatly in performance over the previous Model B but still not enough to catch up with modern 28nm SoCs with faster DDR3/4 running ARMv8 kernel and userland.

Java benefits heavily from having native 64-bit arithmetic and performs signficantly faster on the boards running true 64-bit OSes. Despite nearly a 30% increase in performance, the Raspberry Pi 3 Model B+ is left behind.

Sysbench results should be taken with a grain of salt when comparing different binaries but this demonstrates the necessity of true 64-bit ARMv8 kernel and userland. Even with the performance gains, Raspberry Pi products are still held back by 32-bit ARMv7 Raspbian OS. Both the Renegade and Le Potato boards deliver more than 10x the performance.

Raspberry Pi 3 Model B+ uses a newly revised BCM2837B0. There are four limiting features of this SoC just like the previous BCM2837 in the Model B. First, it is missing ARM ISA’s Crypto Extensions. For encryption and decryption workloads such as VPN, SSL, SSH, and HTTPS, it’s NEON accelerated implementation is roughly 15x slower. This is one of the critical missing features that make the Raspberry Pi 3 Model B+ a poor choice for server based workloads that depend on these security instructions.

The second limiting feature has to do with the GPU which is a 30-bit design limited to 512MB of RAM. It only supports DDR2 so we haven’t seen the Raspberry Pi move to faster memory like LP/DDR3 like on Le Potato or LP/DDR4 on Renegade. As a result, memory intensive workloads will be much slower although the Model B+ is marginally faster than the Model B.

Like the previous Model B, the Model B+ has not implemented UHS support for MicroSD cards. It is still limited to 25MB/s while other boards are more than twice as fast.

As mentioned by Eben Upton, the Raspberry Pi 3 Model B+ has a single USB 2.0 channel which is shared between the ethernet and four port USB hub. Despite having a physical gigabit ethernet, performance is limited to 320Mb/s (40MB/s) peak. If you are using a USB hard drive serving files over ethernet, the effective throughput is reduced to 160Mb/s (20MB/s). Intensive NAS based use-cases for the Pi continues to be ruled out. ROC-RK3328-CC (Renegade) has both dedicated Gigabit Ethernet and dedicated USB 3.0 so it can deliver an order of magnitude more throughput.

The most horrifying aspect of the Raspberry Pi 3 Model B+ is the power consumption. They’ve learned the wrong lesson from ASUS Tinker Board, Orange Pi, et al. While the new PMIC addressed the voltage drop issues, power consumption shot up 50% for marginal increases in performance. In our previous guess of the Raspberry Pi Foundation’s plans, we assumed Broadcom would help make a power efficient Cortex-A35 design. Instead, BCM2837B0 went in the exact opposite direction.

In our CPU burn tests, the board consumed nearly 1.8A without any peripheral or screen connected. This is at the borderline of the MicroUSB power spec and will un-doubted create new power related headaches for many end-users. Most cell phone power supplies simply will not work for this board.

It would be fair to say that the Raspberry Pi 3 Model B+ will not be winning any performance per watt benchmarks especially compared to the super fast and efficient Le Potato board. However, it is a significant step in the right direction compared to its predecessor. The hardware designers have addressed quite a few long-standing issues and we expect the next generation Raspberry Pi 4 to further amortize design issues.

  1. The new integrated heat spreader (IHS) will allow the Raspberry Pi 3 Model B+ to sustain performance for longer and perform more reliably than the previous Model B. It will help the temperature sensor adequately throttle performance when a specific area of the chip becomes too hot and extend the useful life of the board specially in industrial conditions.
  2. The new WiFi/Bluetooth module performs with excellence. It also uses a module design which saves companies from having to go through expensive radio certification process. In our tests, the WiFi performance on the 5GHz band exceeded performance of the Model B on the 2.4GHz band by five times.
  3. The power delivery and management IC has eliminated the voltage drop across the previous poorly-designed power delivery circuit that was causing power warnings with compliant power supplies. While the added power consumption exacerbates the problem, we still feel that this is a step in the right direction.

You can find all of the performance data that we aggregated on this Google Sheet.

Posted on

Libre Computer CC Boards Comparison

Ever want to compare features of our boards to know what the differences are? Want to compare our Tritium, Le Potato, and Renegade boards with newly released popular boards like the Raspberry Pi 3 Model B+ and ASUS Tinker Board S?

We have just made it super easy for you with our spreadsheet. This covers hardware features found on the boards. We will throw together another spreadsheet with software and performance numbers for each board in the future.

Posted on

First Preview Image for ROC-RK3328-CC (Renegade)

We are happy to announce the first preview image for the ROC-RK3328-CC (Renegade) board that was released on Indiegogo courtesy of the Firefly team.

You can find the latest downloads for ROC-RK3328-CC on the product page’s Downloads section.

The first image is based on Rockchip’s Linux 4.4 LTS kernel running Ubuntu 16.04 LTS. It currently does not offer Mali 3D acceleration or hardware codec support.

Android will be coming within the next two weeks.

Once Ubuntu 18.04 is released, we will begin work on a repository for bootloaders and kernels housed in deb files so that bootstrapping images will be easy for all of our boards. Once that infrastructure is in place, non-preview images for our boards will be released. Updating bootloaders and kernels will be as simple as an apt-get.

Posted on

Retro Gaming on AML-S905X-CC with Lakka!

One of the most popular uses for single board computers is playing retro games. AML-S905X-CC now has a Lakka image (Thanks kszaq for the tip and the Lakka team for their great work!) If you don’t know what Lakka is, it is basically one of two popular RetroArch distros, the other being RetroPie. Lakka is built on top of LibreELEC and has a very friendly UI that lets you dive into retro gaming very quickly. Hopefully we get formal support soon but we are very excited to have this feature.

AML-S905X-CC is one of our fastest low cost and low power platforms. It should run emulators significantly faster than the Raspberry Pi 3. Please try it out and let us know your thoughts!

Posted on

AML-S905X-CC Mainline Linux Preview Image 7

After much ado, the AML-S905X-CC ethernet issue has finally been resolved. This images has the following fixes/features:

  • Swap partition generation (1GB-2GB in size determined by SD card size)
  • Fixed ethernet EEE causing link drop
  • Updated to Linux kernel 4.14.11
  • Overlay support in the Linux kernel
  • Zswap for larger memory foot-print applications

Issues still outstanding for official image release:

  • shutdown/suspend/wakeup
  • add kernel, u-boot, and board specific binaries into deb files
  • add repository to apt for board support deb files
  • display pipeline support
  • wayland support
  • codec acceleration support
  • overlay auto-loading in u-boot
  • boot device detection and selection
  • eMMC support

The image release can be downloaded here.

Posted on

Get your Kodi on! LibreELEC for AML-S905X-CC by kszaq and Image Preview Release 6

LibreELEC fork developer kszaq recently made images for AML-S905X-CC (Le Potato) based on LibreELEC 8.x. He hopes that his work will eventually be upstreamed to LibreELEC. This is wonderful news as it features hardware acceleration built around Linux kernel 3.14. This is a nice Christmas present for everybody and we greatly appreciate your work kszaq! You can now get Kodi media center on Linux running on our boards.

Community is a hard thing to get right and we are glad to have people contribute to the ecosystem. We are focused on proper upstream support for the technologies we use in hopes that the work will have a great impact on the open-source community and people building on top of it.

We hope to have Wayland and V4L2 support in mainline Linux with BayLibre’s assistance in 2018 so that we can run the latest and greatest like Ubuntu 18.04. Ubuntu Linux preview image 6 is available based on Linux 4.14.7 LTS.

Hope you all have a jolly holiday season and see you next year! We will be seeing what’s new at CES 2018. Hopefully we will see you there!

Posted on

Raspberry Pi 3X, Raspberry Pi 0X, Raspberry Pi 4, Broadcom, and Qualcomm

Raspberry Pi is currently dominating the ARM single board computer market in terms of volume and dollar amount. It is the only ARM SBC to be selling in the millions of units. Raspberry Pi 3 Model B is turning two years old and is starting to show its age. It would seem strange that the Raspberry Pi Foundation would reduce their reliance or abandon hardware since they maintain the foundation through licensing fees. Quite to the contrary, we believe that the Raspberry Pi Foundation is making a play with Broadcom to take a controlling stake of the future computing market. Let us elaborate.

There has been a lot of interesting work over at Broadcom on the VC4/VC5 GPU architecture including the open-source OpenCL implementation done by Eric Anholt. It would be difficult to justify such an investment in a legacy architecture unless there will be renewed investment. Broadcom’s recent play for Qualcomm put the pieces together for us.

Qualcomm has a monopoly on 4G technologies and the phone market with their Snapdragon SoCs in the western hemisphere. You cannot realistically sell a phone without paying them licensing fees. Qualcomm’s Adreno GPU architectures (based on their acquisition from AMD) have working support for the latest OpenCL standards. Adrenos are ahead of ARM’s own Mali-G series in field available platform with OpenCL 2.0 support. OpenCL and neuro-network acceleration are cornerstone technologies for future SoCs along side current superscalar CPUs. Huawei and Samsung are racing to embrace those technologies in their latest and greatest but, in error, only working with the largest of companies. Merging Qualcomm and Broadcom would create interesting synergies that would mate computing and connectivity with a community model in a way that has not happened before.

This brings us back to how Raspberry Pi plays a role. Raspberry Pi was able to prove the model of community innovation through great marketing. They were able to democratizing computing innovation that hasn’t been possible ever. They control it by making the components exclusive to their platform, giving illusory openness while not actually being so. Broadcom only sells chips to Raspberry Pi so you can only buy what Raspberry Pi sells you. While driving open source software work is great, it is gated by the availability of the hardware components.

We expect the Broadcom to manufacture two new SoCs for the Raspberry Pi Foundation. The first chip, which we can call BCM2838, will merge the Raspberry Pi 3 and Raspberry Pi 0 product lines since the BCM2835 is obsolete and BCM2837 is too power hungry. This chip will form the basis for a Raspberry Pi 3X model and a Raspberry Pi 0X model. Since the SoC will be dual-use, it will probably be powered by ARM’s new Cortex-A35 SoC built on 28nm to avoid the power consumption and heat issues of the Cortex-A53 cores. To offset the performance decrease going from Cortex-A53 to Cortex-A35, a clockspeed increase is likely for the CPU, which should fall between 1.5GHz and 1.8GHz as that is the limit of the fabrication process. The GPU should be a higher clocked VC4 to support 4K. By sticking with VC4 GPU, they can use the same boot code and software infrastructure that has been built up for the Raspberry Pi 3 without extensive rework. The SoC may support up to 3GB of LPDDR3 DRAM but the Raspberry Pi board will probably come in 1GB and 2GB models. Whether they will integrate or include onboard Gigabit PHY and/or WiFi/BT is unclear and most likely model specific. With the recent announcement of Google’s Android Go and the partnership with Google, the new SoC will serve as the platform and play a vital role for years to come.

When Eben Upton mentioned that there won’t be new hardware until 2019, we understood it to be a whole new class of hardware. The above is an extension of the Raspberry Pi 3 since it still uses the same GPU and will have similar performance. We expect the Raspberry Pi 4 to be based on a new Broadcom SoC based on Cortex-A55 built on < 28nm fabrication process. We can call this BCM2839 and it will feature the much alluded to VC5 GPU and a new form factor. Since that hardware is more than two years away, it is difficult to predict the direction of the industry and thus the exact specifications. We expect such a Raspberry Pi 4 board to utilize dual 32-bit LPDDR3 or LPDDR4 to cope with the bandwidth requirements of OpenCL and neural network acceleration. The exact release date for such a specimen can vary dramatically depending on Broadcom’s tapeout schedule. It should be relatively soon if the Raspberry Pi Foundation expects to release hardware in 2019.

Posted on

Libre Computer Board Renegade SBC for $35+

The enduring spirit of innovation is to keep them coming. Renegade is our latest board with up to 4GB of DDR4, Gigabit Ethernet, and USB 3.0, enough to power a Linux desktop experience. As with all of our boards, both Linux and Android are available. This board is 4K capable like all of our previous boards and performs on par with our AML-S905X-CC. You can find (and back) the Indiegogo campaign here.

Posted on

Performance and Power Consumption Comparison for AML-S905X-CC (Le Potato) and Raspberry Pi 3 Model B

We ran a few benchmarks before to demonstrate the design and performance improvements of the AML-S905X-CC (Le Potato) platform over the Raspberry Pi 3 Model B. Although we’ve released the numbers, we never quite gave any visual presentation of said improvements. Here are some graphs to help you understand the differences.

All tests were done on the latest Raspbian 4.9 Stretch for the Raspberry Pi 3 and Ubuntu 16.04 LTS for the AML-S905X-CC.

The Sysbench CPU test is an useless benchmark for comparing relative hardware performance when using different distros but it does demonstrate architecture advantages of a modern ARMv8 ecosystem over legacy ARM ISA ecyosystems. Raspberry Pi 3’s throughput in combination with Raspbian does not perform well since it is based on ARMv6. AML-S905X-CC with ARMv8 Ubuntu takes less than 1/10th the time to complete the same task.

AES is fundamental to securing communication on the internet and at home. When you browse the websites, transfer files, or use web-enabled applications, you are most likely to be invisibly using AES. AML-S905X-CC supports ARM’s Crypto Extensions for accelerating AES encryption and decryption. With the core crypto extensions, AML-S905X-CC performs 20 times faster than NEON-accelerated AES on the Raspberry Pi 3.

AML-S905X-CC is equipped with DDR3-2133 RAM to cope with the high bandwidth requirements of 4K HDR content. Although Raspberry Pi 3 is advertised as LPDDR2-1066, the performance is reflective of LPDDR2-1333. It is possible that newer batches of Raspberry Pi 3 use quicker DRAM or the foundation updated the firmware to increase the DRAM clock speed since launch.

Two optimized C applications enjoy significant performance improvements. You will see a 25%-50% speedup on most applications due to the increased clock speed. Real world performance will show even greater improvements due to the thermal headroom from the significantly lower power consumption of the AML-S905X-CC. We ran into multiple issues with the Raspberry Pi 3 which we will covered later.

Java throughput increases signficantly on AML-S905X-CC with Ubuntu than with Raspberry Pi 3 with Raspbian. Some of the performance increase can be attributed running in ARMv8 64-bit mode.

Raspberry Pi 3 does not support voltage switching on the MicroSD card. It is not able to enter the SDR104 UHS mode supported by most high performance cards. AML-S905X-CC unlocks this capability and allows read and write operations to be performed more than 3X as fast.

Incredible performance is moot without proper power or thermal budgeting. We cut the power consumption of our boards in half as compared to the Raspberry Pi 3. We carefully optimized the power input circuitry to reduce power consumption and increase stability. Where as Raspberry Pi 3 needs a 5.5V power supply to maintain stable 5V rails during cpuburn-a53, AML-S905X-CC will work without issue even with 4.1V power supply! You don’t have to source an exotic tailor made power supply. Almost any MicroUSB power supply will do.

While running these benchmarks, we noticed significant deficiencies of the Raspberry Pi 3 Model B. At first we thought it was our specific board but it was repeatable on every Raspberry Pi 3 Model B we purchased. Using a programmable DC power supply set for 5.1V was not sufficient to prevent the nasty rainbow square issue at full load. The polyfuse on the Raspberry Pi 3 experienced unexpectedly high voltage drop at just 1.5A. This caused huge inconsistencies in its benchmark results until we determined the cause. We had to drive the MicroUSB plug at 5.55V in order for it to achieve the necessary voltage levels on the 5V rails to prevent firmware clock throttling at full load. This is a startling design flaw for a board that has sold several million units. The design issue is the source of numerous complaints online.

Please note that this is partially comparing Raspbian against Ubuntu so the first sysbench numbers do not characterize the overall CPU performance of the Raspberry Pi. The Raspbian distro is using newer compiler toolchain since it is based on Debian Stretch. When Ubuntu 18.04 with Wayland arrives, we plan to upstream more support for the AML-S905X-CC and do an apples-to-apples comparison based on Ubuntu rather than Raspbian for the Raspberry Pi 3 Model B.

AML-S905X-CC (Le Potato) is available on Amazon USA and via our reseller LoveRPi.

Posted on

Ubuntu Linux 16.04 LTS Preview Image 4 with GUI and Linux 4.14.3

Overview

After weeks of hard work, we are finally able to release preview image 4 based on Ubuntu 16.04 LTS with the latest mainline Linux 4.14.3 and u-boot with some out-of-tree patches. The u-boot is based on the latest 2017-11 release due to upstreaming work by Neil Armstrong from our partner BayLibre. The image is designed for >4GB SD cards at the moment. eMMC has not been tested (and definitely will not work). Support for eMMC will come on the next version.

Changes from Preview Release 3

  • Upgraded Linux kernel from 4.13.3 to 4.14.3
  • Switched from Amlogic’s u-boot to mainline u-boot 2017-11
  • Added automatic filesystem resize on boot to expand to full MicroSD card size
  • Added ssh host key regeneration on boot
  • Disabled CVBS in the device tree to reduce the occurance of HDMI resolution-unsupported/no-video
  • Utilize the latest zstd compression feature of BTRFS for faster read/write
  • Increase MicroSD card bus speed
  • Faster 2D performance
  • Added a bunch of WiFi and Bluetooth drivers so USB based dongles should all be supported

Outstanding/Known Bugs

  • SSH is enabled and there’s a default password for the libre user
  • OpenGL ES 2.0 is not enabled since performance of xf86-arm-soc hinders the GPU performance
  • There may be an issue with ethernet PHY
  • Kernel and other packages need to be deb’ed
  • Missing 4K support in the mainline kernel

Image Download Link

AML-S905X-CC Ubuntu Images