Arm Open Source Projects

Linaro works together with its members on Arm open source projects. These projects may vary in scope and verticals they touch but all aim to achieve one (or several) of the following goals:

Projects which aim to solve ecosystem quality problems focus primarily on testing. Here stakeholders collaboratively fund consistent continuous testing of key configurations to make upstream the quality reference. An example of one of these projects would be Linux Kernel Quality.

Projects which concentrate on upstream support focus on regression testing, improving technology by adding more functionality and increasing security across the ecosystem. Through these projects, member companies have access to maintainers who have a say in what does or does not get upstreamed. An example of one of these projects would be Upstream Maintainership.

Linaro was initially formed to address fragmentation in the Arm software ecosystem and this is something we still do today whenever a new market emerges. The projects which address fragmentation focus on upstreaming all necessary technologies across multiple open source projects so that all ecosystem players work from a common reference. An example of one of these projects would be Trusted Substrate which aims to bring standardization to edge device firmware.

In some cases a member will donate a project to Linaro, allowing us to leverage a codebase developed in-house to achieve broader ecosystem goals. Linaro provides a neutral platform where collaboration can be built using our tools and processes. Once the project is up and running it can continue to benefit from Linaro engineering collaboration or optionally evolve into a Linaro Community Project, a project with stand-alone governance. To date there are two Linaro Community Projects - OpenAMP and Trusted Firmware.

Interested in working with Linaro and other industry leaders on Arm open source projects? Find out more about membership and how to participate here.

Arm is the dominant CPU architecture in modern smartphones because of its efficient power consumption, fast performance and all day battery life. Ensuring Android devices run smoothly on Arm is therefore crucial to deliver an exceptional user experience.

Open standards for Automotive, IoT & Edge solutions

Software defined functionality is no longer restricted to the cloud network but is now expected to extend to the edge. Autonomous AI-driven features are being deployed to positions of trust in gateways and even sensors.The Zonal Architecture revolution driving the evolution to software-defined vehicles is just one indicator that industry has switched to a software-first methodology. The technologies underpinning these use cases are continuously evolving but all suffer from one common denominator - the lack of open software standardization. Linaro works with member companies on developing open standards and interfaces which will help accelerate and secure deployment of their Automotive, IoT and Edge solutions.

The past few years have seen Arm being adopted more and more in the server space, with the world’s fastest supercomputer - Fujitsu’s Fugaku - running on Arm CPUs.

It is a well known fact that Arm chips have dominated the mobile market. The flexibility Arm offers device manufacturers who can design Arm chips to meet specific needs make it an attractive choice. But for Arm server chips to continue to meet the demands of businesses needing more storage and more data, there needs to be a software ecosystem in place that helps drive feature enablement, testing and bug fixing. Linaro works together with its member companies on strengthening the software ecosystem for Arm servers.

One of the main objectives when forming Linaro was to consolidate the Arm code base.

The code churn created by multiple companies and individuals trying to upstream essentially the same code into kernel.org was causing fragmentation and slowing down innovation and delivery of products. Linaro’s work, especially in the kernel, provided the focal point for collaboration and the situation recognizably improved by 2012, something Linus Torvalds recognized. Since the Linux kernel release 3.10, Linaro has been consistently listed as one of the top ten company contributors, worldwide, to Linux kernel. We are also widely recognized for the work we have done on toolchains such as GCC and LLVM. In addition to our work in the Linux kernel and toolchains, we are known for our expertise in security and testing through projects such as OP-TEE, LAVA and LKFT.

The Client PC project aims to investigate and develop firmware and kernel solutions for enabling fully functional client PCs for Arm-based hardware.

The project's initial focus will be to prototype and develop UEFI+ACPI firmware for a reference platform that can boot major client operating systems like Linux and Windows out of the box with full driver support, power and performance management capabilities, etc.

Future phases of the project will focus on other open-source solutions needed for the client PC market, such as firmware-based trusted platform modules.

The current scope of project is platform bring-up (NXP I.MX8M) and power and performance management firmware prototype(FVP)

Project Homepage

https://linaro.atlassian.net/wiki/spaces/CLIENTPC/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LWG SC.

Visit the Linaro Membership page for more information.

Development of GNU Toolchain:

  • GCC compiler
    • We improve Link-Time Optimizations (LTO), SVE auto-vectorization optimizations, and microarchitecture-specific optimizations for popular Arm cores.
    • We improve performance and scalability of Libgomp (GNU OpenMP runtime)
    • We support compiler sanitizers (ASAN, TSAN, etc.) in GCC. Sanitizers are developed under LLVM Toolchain project, and sanitizer changes are then merged into GCC to have both LLVM and GNU toolchains provide sanitizer features.
  • GDB debugger
    • We develop support for new ARMv8.x architectural features and improve debugging experience.
  • Glibc C Library
    • We implement both target-specific and generic optimizations in Glibc. We then aim to propagate all relevant Glibc improvements to Newlib and Bionic C libraries.
  • GNU Binutils assembler, BFD and Gold linkers
    • In Binutils we implement ELF section-level optimizations, as well as workarounds for hardware errata.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/GNU/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

Development of LLVM Toolchain:

  • Clang compiler
    • We implement new and improve existing code-size and code-speed optimizations for AArch64 and ARM targets.
  • LLDB debugger
    • We develop support for new ARMv8.x architectural features and improve debugging experience.
  • Compiler-RT runtime libraries
    • We port and improve compiler sanitizers (ASAN, TSAN, etc.) to AArch64 and ARM architectures. Sanitizer changes are then merged into GCC to have both LLVM and GNU toolchains provide sanitizer features.
  • LLD linker
    • In LLD linker we implement ELF section-level optimizations, as well as workarounds for hardware errata.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/LLVM/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

The aim of this project is to make AArch64 a first class citizen in the Big Data, Analytics and Data Science community. Big Data and Data Science technologies are vital and have become mature with various production implementations. Linaro drives engineering activities and ARMv8 builds for Apache BigTop, Ambari, Spark and Hadoop.

Apache Bigtop (project for development of testing and packaging of the Apache Hadoop ecosystem) provides the only Open Source distro for big data and it supports a more comprehensive list of components and architectures than any closed source distro. It provides distros for all commercial Hadoop implementations (Cloudera, AWS, MapR, IBM, Pivotal, EMC, Azure).

Project Homepage

https://linaro.atlassian.net/wiki/spaces/BDDS/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LDCG SC.

Visit the Linaro Membership page for more information.

Confidential computing is a security and privacy-enhancing computational technique focused on protecting data in use. It can be used in conjunction with storage and network encryption, which protect data at rest and data in transit respectively.

The technology protects data in use by performing computations in a hardware-base trusted execution environment (TEE). Even though the ideas behind confidential computing are not necessarily new, with the Arm TrustZone being a good example of a confidential computing environment that is available for quite some time, there has been recently a race amongst chip providers to allow full fledged operating systems to run in trusted execution environments.

Arm’s solution for this is specified in the Confidential Computing Architecture (CCA). The trusted execution environments capable of running full fledged operating systems, also known as confidential virtual machines, are called Realms in this specification. The specification describes what is needed to be enabled in the hardware to run Realms, through the Realm Management Extension (RME). It also describes changes needed in the firmware, both in Trusted Firmware-A and in the newly introduced Real Management Monitor (RMM), along with other changes needed in the system software level to properly run Realms.

The Arm’s specification is focused on hardware and system software. It does not cover the user level tools that are being used to build, configure, run, and manage confidential virtual machines and their workloads. This is, however, also an important aspect of the Confidential Computing ecosystem.

Hence, this project will work to make sure that both the lower level bits, as well as the user space and higher level applications, work well on Arm platforms. The scope, however, is limited to confidential VMs, or Realms as they are called in the Arm ecosystem. We will not focus efforts, in this project, on the TEEs that are also available through the TrustZone technology on Arm processors.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/CCR/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LDCG SC.

Visit the Linaro Membership page for more information.

Expanding various tools (especially QEMU) to emulate new ARM architectural features so open source projects can rapidly adopt the latest technology. We also continually improve ARMs hardware virtualization aiming for feature parity with other popular enterprise architectures.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/QEMU/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

The goal is to remove the gaps with x86 by collaborating together in the Arm server ecosystem, so that we can provide competitive and leading storage solutions with Arm servers.

Deliverables are focused around:

  • Participate in the upstream communities of Ceph/Lustre/BeeGFS/etc for ARM64 support, setup CI testing on Arm servers, and drive the official ARM64 releases;
  • Performance optimizations by leveraging key ARM64 architecture features (storage related benchmark testing can be done for the profiling);
  • Drive community promotion by members/partners together for storage solutions on Arm servers to help customer adoptions;
This project is sponsored by Huawei.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/STOR/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LDCG SC.

Visit the Linaro Membership page for more information.

The HPP project works on technologies for use between different CPU types or different OS types. Current technologies include:

  • Remoteproc & Rpmsg
  • Virtio between two cores that do not share a hypervisor
  • System Devicetree
  • QEMU as a development platform for these systems
HPP is a Linaro project but is also closely associated with the OpenAMP community project (also hosted at Linaro).

Project Homepage

https://linaro.atlassian.net/wiki/spaces/HPP/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LEDGE SC.

Visit the Linaro Membership page for more information.

LAVA stand for Linaro Automated Validation Architecture.

LAVA is a continuous integration system for deploying operating systems onto physical and virtual hardware for running tests.

LAVA is also used to managed and share boards among teams.

Project Homepage

https://www.lavasoftware.org/

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

OP-TEE is an open source Trusted Execution Enviroment (TEE) implementing the Arm TrustZone technology. Linaro is a key contributor both in terms of pushing new features as well as doing roadmap planning, maintenance, release work, vulnerability assessment and mitigation of security issues. We employ several core maintainers for the OP-TEE project as well as maintainers for the TEE framework in the Linux kernel and U-Boot.

In 2019, OP-TEE was donated to Trusted Firmware, a Linaro Community Project.  Linaro is still responsible for driving the roadmap for OP-TEE in sync with the members of Linaro as well as with the TrustedFirmware.org project.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/LOC/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LEDGE SC.

Visit the Linaro Membership page for more information.

The Ecosystem Landscape Dashboard Project is to create and support a public platform to house a unified ecosystem landscape of open source projects. This platform (a web site) will include a dashboard for each project with resources to educate a developer as to the status about the project. The vision for the site is as a unified communication hub and connection point to the latest community resources. Project will enable contributions from communities to assist in growing the platform dataset.

When successful, it will provide a one-stop resource, which can help everyone find necessary software project information and resources about Arm support through this platform whether it’s the first or the 500th time the user needs community data for development on Arm.

This project is *not* limited to one segment and is intended to cover the arm ecosystem.

This project is sponsored by Huawei.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/AELTS/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LDCG SC.

Visit the Linaro Membership page for more information.

Ensure and improve ongoing quality for 6 years Linux LTS releases, linux-next, and Linux mainline on the Arm architecture

Project Homepage

https://linaro.atlassian.net/wiki/spaces/LKQ

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

Code named Orko, this project is about providing the foundational work needed to support VirtIO interfaces in the upstream by providing both the specs and implementations that the automotive industry can leverage in their future platforms.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/ORKO/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

The performance scaling with SCMI project will extend support for the SCMI perf-domain protocol in the Linux kernel and in the firmware.

Today, the current support in the Linux kernel for the SCMI perf-domain protocol, is limited to be used for CPU frequency scaling, through the cpufreq subsystem. However, the SCMI perf-domain protocol isn't really limited to CPUs, but fits well for other generic peripheral devices too. Extended support avoids the need for SoC specific protocols/interfaces, while scaling performance for non-CPU devices.

The Linux kernel already has generic support for DVFS (Dynamic Voltage Frequency Scaling), through a mixture of subsystems/libraries. Without going into details, it should be possible to tap into the existing infrastructures, to add support for the SCMI perf-protocol. In this way, the support would be generic and nicely abstracted from lower layer drivers/subsystems.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/PERFSCMI/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

System Control and Management Interface (SCMI) has been designed to standardize the interface between a power coprocessor and other parts of a SoC. That includes the application processor (AP) on which we can have both rich OS like Linux but also a TEE like OP-TEE.
Each client of the power coprocessor has its own access point with specific control permissions on the power resources. But on some “medium/small” systems, the power coprocessor may not be present or doesn’t provide enough access points. In such a case, the AP itself has to control and filter the access to the power resources.
For security reason, the TEE must have the control of shared resources and populate the authorized resources to the non secure world. The TEE acts as a power coprocessor from Linux PoV and we can keep the SCMI interface.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/SCMI/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

Primarily focused on Server Standardisation. Examples to include SBSA, xBBR to enable simplified adoption of mainline builds on new server hardware.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/SRCPC/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LDCG SC.

Visit the Linaro Membership page for more information.

Linaro's hosted activities to improve and support the Google +TensorFlow+ project on AArch64 via continuous integration to ensure Arm 64bit is a first class citizen.



Google TensorFlow is a high profile framework used in a wide variety of ways to provide Machine Learning wherever it is needed, from edge devices to high end servers. It has a large community who contribute to and make use of TensorFlow in their research projects or businesses.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/TENS/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LDCG SC.

Visit the Linaro Membership page for more information.

The thermal framework in the Linux kernel is designed to protect the silicon and exports the
thermal zone information to userspace. That includes the temperature but
also the different notifications telling about the cooling device state
changes as well as the temperature trip point crossed the way up or down.

Even though the thermal framework works well, some features are missing
and some parts can be improved to prevent overshoots leading to a
performance drop action.

These changes are found in out of tree kernels and needs to be carried
into the upstream kernel conforming to the Linux coding, design and
implementation standards.

Some issues with the current implementation have also been found and need to be fixed to allow the thermal daemons to act correctly and in time to mitigate the thermal situation on different devices.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/TE/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

Trusted Substrate project ambition is to upstream all necessary technologies in multiple projects to enable SystemReady compliance. Projects can be Trusted Firmware, OP-TEE, U-Boot, SCP, Linux kernel (EFI stub) and others.

Trusted Substrate is a BIOS that brings standards based secure booting and over-the-air (OTA) updates to the most trust demanding embedded computing projects such as automotive and robotics. OTA is a key value of Trusted Substrate as it allows any firmware components to be updated with anti-bricking and anti-roll back protections, and will allow transactional updates in asymmetric computing, Cortex-A + Cortex-M solutions.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/TS/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LEDGE SC.

Visit the Linaro Membership page for more information.

TuxSuite™ delivers on-demand APIs and tools for building Linux kernels in parallel and at scale.

Project Homepage

https://tuxsuite.com/

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

Linaro's engineers are actively participating in upstream engineering communities. As a result, as maintainers, they become responsible for keeping their code upstream in sync with the overall development of respective upstream projects.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/UM/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by TSC.

Visit the Linaro Membership page for more information.

This project aims to create a Windows on Arm perf tool with the same command line interface as the Linux perf tool so that you can do deep performance analysis(equivalent to Intel vtune tool).

Currently we support the *counting model*, for obtaining aggregate counts of occurrences of special events, and

  • Currently under development.
  • Will be developed and improved in short-term.
  • Less complex then sampling model.
In the future we will support the *sampling model*, for determining the frequencies of event occurrences produced by program locations at the function, basic block, and/or instruction levels.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/WPERF/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LWG SC.

Visit the Linaro Membership page for more information.

Windows on Arm ecosystem is a growing list of open source tools, libraries, compilers and software that are used by developers, companies and other software vendors. The key to a sustaining WoA ecosystem is to help these open source projects port their existing s/w to Arm architecture on Windows and help them with build and runtime issues leveraging the Windows and Arm architecture expertise at Linaro.



By working with the open source community Linaro helps foster strong relationships between the community and partners in the industry benefiting both equally. The goal of this project is to ensure sustainability of this software ecosystem for all Arm partners running the Windows operating system.

Project Homepage

https://linaro.atlassian.net/wiki/spaces/WOAR/overview

How to participate

Participation in this project can be achieved through Linaro Membership. The project is managed by LWG SC.

Visit the Linaro Membership page for more information.