Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
115 commits
Select commit Hold shift + click to select a range
245bb35
Update author name in mobile graphics guide
V3x-0E Mar 10, 2026
3dd6cd4
Update Unity version from 2022.3 to v6.3
V3x-0E Mar 10, 2026
8fc9387
added detail to burst enablement
V3x-0E Mar 10, 2026
98c24d6
Update Burst version to 1.8.28 in documentation
V3x-0E Mar 10, 2026
f6528a1
Update architecture requirements for Neon intrinsics
V3x-0E Mar 12, 2026
b553246
Clarify character count display in performance data
V3x-0E Mar 12, 2026
2d9f8d6
Clarify device reference in data analysis section
V3x-0E Mar 12, 2026
f1f0b01
Update authors in mobile graphics learning path
V3x-0E Mar 12, 2026
3ab5b1b
Deploy PostgreSQL on Azure Cobalt 100 Arm64 virtual machines
odidev Mar 24, 2026
6108215
Deploy and Use MinIO on Azure Cobalt 100 Arm64 Virtual Machines
odidev Mar 24, 2026
a10a6f0
MCP Performix code hotspots LP
pareenaverma Apr 1, 2026
6806666
Extract LP metadata for analytics tracking
annietllnd Apr 1, 2026
eb0f3d3
Deploy Redis on Azure Cobalt 100 Arm64 virtual machines for real-time…
odidev Mar 31, 2026
2f66e65
Merge branch 'ArmDeveloperEcosystem:main' into content_review
pareenaverma Apr 6, 2026
1dbcc49
Modify PyTorch installation command and output info
pareenaverma Apr 6, 2026
88b5e8b
Merge pull request #3128 from pareenaverma/review_branch
pareenaverma Apr 6, 2026
1c7c88e
Merge pull request #3056 from odidev/minio
jasonrandrews Apr 6, 2026
6e3a795
start tech review of MinIO on Cobalt
jasonrandrews Apr 6, 2026
cbe6db1
Merge pull request #3129 from jasonrandrews/review2
jasonrandrews Apr 6, 2026
40d16cf
Create dedicated content stats emission page
annietllnd Apr 6, 2026
4e6f84c
Exempt stats from testing
annietllnd Apr 6, 2026
a5ccb0b
Update _index.md
pareenaverma Apr 6, 2026
704c769
Merge pull request #3055 from odidev/psqldb
pareenaverma Apr 6, 2026
65f49bf
Merge branch 'ArmDeveloperEcosystem:main' into content_review
pareenaverma Apr 6, 2026
42ea6d5
Tech review of Postgresql LP on Cobalt
pareenaverma Apr 6, 2026
5324c23
Tech review of Postgres LP
pareenaverma Apr 6, 2026
b71a7a1
Merge pull request #3130 from pareenaverma/review_branch
pareenaverma Apr 6, 2026
68a825c
Update 1-overview.md
pareenaverma Apr 6, 2026
03f18d2
Set Redis deployment guide as a draft
pareenaverma Apr 6, 2026
4acba51
Update draft status in Redis Cobalt index file
pareenaverma Apr 6, 2026
980696e
Merge pull request #3122 from odidev/redis_cobalt
pareenaverma Apr 6, 2026
c5c21bf
Merge branch 'review_branch' of https://github.com/pareenaverma/arm-l…
pareenaverma Apr 6, 2026
99e6663
Unlist content inventory page and clarify intent
annietllnd Apr 6, 2026
0107a41
Merge pull request #3121 from annietllnd/fix
jasonrandrews Apr 6, 2026
c6e89be
MinIO tech review
jasonrandrews Apr 7, 2026
33d6f01
Merge pull request #3131 from jasonrandrews/review2
jasonrandrews Apr 7, 2026
86b7b81
Update Q to Kiro
jasonrandrews Apr 7, 2026
daf9f14
Merge pull request #3132 from jasonrandrews/review2
jasonrandrews Apr 7, 2026
15d0405
Updated zlib LP to use zlib-ng on Arm instead of the deprectated Clou…
pareenaverma Apr 7, 2026
c0c9e55
Merge pull request #3133 from pareenaverma/review_branch
pareenaverma Apr 7, 2026
540b15c
Tech review of Redis Cobalt LP
pareenaverma Apr 7, 2026
104d0d0
Merge pull request #3134 from pareenaverma/review_branch
pareenaverma Apr 7, 2026
128a106
Update content/learning-paths/servers-and-cloud-computing/performix-m…
pareenaverma Apr 8, 2026
5e8fba7
addressing feedback
pareenaverma Apr 8, 2026
510d7b7
Update content/learning-paths/servers-and-cloud-computing/performix-m…
pareenaverma Apr 8, 2026
d824d44
addressing feedback
pareenaverma Apr 8, 2026
83112a2
Merge branch 'content_review' of https://github.com/pareenaverma/arm-…
pareenaverma Apr 8, 2026
c80ce0e
Update _index.md
pareenaverma Apr 8, 2026
dc24af2
Merge pull request #3119 from pareenaverma/content_review
pareenaverma Apr 8, 2026
6ca8e08
Update 2-setup.md
pareenaverma Apr 8, 2026
9e6280b
Flatpak install guide
jasonrandrews Apr 8, 2026
511d108
Add description to Flatpak install guide
jasonrandrews Apr 8, 2026
5871bfa
Merge pull request #3135 from jasonrandrews/review2
jasonrandrews Apr 8, 2026
c9988fb
updates to zlib learning path
anupras-mohapatra-arm Apr 8, 2026
95fb24f
Merge pull request #2973 from V3x-0E/main
pareenaverma Apr 9, 2026
797b6ec
Update armips tags in multiplying-matrices-with-sme2
pareenaverma Apr 9, 2026
7eecd12
Merge pull request #3137 from pareenaverma/content_review
pareenaverma Apr 9, 2026
a69828b
Updated the themes to use the Report an Issue template instead of bla…
pareenaverma Apr 9, 2026
b67f0be
Merge pull request #3138 from pareenaverma/content_review
pareenaverma Apr 9, 2026
1fb1805
Update the gcc baremetal cross-compile instructions
pareenaverma Apr 9, 2026
a44e232
second pass updates
anupras-mohapatra-arm Apr 9, 2026
1d8f2af
Merge branch 'ArmDeveloperEcosystem:main' into servers-and-cloud-comp…
anupras-mohapatra-arm Apr 9, 2026
dc9e8c4
edit
anupras-mohapatra-arm Apr 9, 2026
20d6396
edit
anupras-mohapatra-arm Apr 9, 2026
6cfb764
Update cross.md
pareenaverma Apr 9, 2026
d5f9504
removing .close() after testing and copilot suggestion
anupras-mohapatra-arm Apr 9, 2026
a349fca
updating title for learning path
anupras-mohapatra-arm Apr 9, 2026
d50b852
typo
anupras-mohapatra-arm Apr 9, 2026
cf4a1cb
edit
anupras-mohapatra-arm Apr 9, 2026
23eccb9
edit
anupras-mohapatra-arm Apr 9, 2026
bf45cba
restoring f_out.close()
anupras-mohapatra-arm Apr 9, 2026
2056527
formatting
anupras-mohapatra-arm Apr 9, 2026
2a8d694
Updated GNU Toolchain install
pareenaverma Apr 9, 2026
96f3f02
word choice
anupras-mohapatra-arm Apr 9, 2026
4203a3f
adding sentences for commands
anupras-mohapatra-arm Apr 9, 2026
eba5565
formatting
anupras-mohapatra-arm Apr 9, 2026
37558a6
more edits based on copilot-instructions
anupras-mohapatra-arm Apr 9, 2026
13cc96f
formatting
anupras-mohapatra-arm Apr 9, 2026
785c19b
edit
anupras-mohapatra-arm Apr 9, 2026
6e14150
Merge pull request #3139 from pareenaverma/content_review
pareenaverma Apr 9, 2026
583d0ac
Refine memory subsystem documentation for clarity and accuracy
madeline-underwood Apr 9, 2026
fd5a9b9
Fix formatting in prerequisites section of memory subsystem documenta…
madeline-underwood Apr 9, 2026
5019eed
updating titles again
anupras-mohapatra-arm Apr 9, 2026
80d4865
Update titles and section headings for clarity in memory subsystem do…
madeline-underwood Apr 9, 2026
6deb40c
Add section on memory subsystem impact on Arm server performance
madeline-underwood Apr 9, 2026
30c8833
expanding IPC
anupras-mohapatra-arm Apr 9, 2026
c18f913
expanding SIMD based on Arm Neon documentation
anupras-mohapatra-arm Apr 9, 2026
2cc93eb
edit to final section title
anupras-mohapatra-arm Apr 9, 2026
76337a7
Refine cross-validation steps and learning outcomes in comparative an…
madeline-underwood Apr 9, 2026
93f08a5
Update section headings to enhance clarity in memory subsystem docume…
madeline-underwood Apr 9, 2026
c38d40e
Update section title for clarity in cache hierarchy documentation
madeline-underwood Apr 9, 2026
2df6dab
Remove draft status from MinIO deployment guide on Azure Cobalt 100
madeline-underwood Apr 9, 2026
3d428a3
Enhance MinIO documentation: add overview and performance evaluation …
madeline-underwood Apr 9, 2026
2921630
Update AI/ML use case overview and refine benchmark section title for…
madeline-underwood Apr 9, 2026
6469e45
Merge pull request #3141 from anupras-mohapatra-arm/servers-and-cloud…
jasonrandrews Apr 9, 2026
00f191e
refactor: update titles and descriptions for clarity in Flyte and gRP…
madeline-underwood Apr 9, 2026
5cc288a
refactor: update titles and descriptions for clarity in Flyte documen…
madeline-underwood Apr 9, 2026
cecdcef
Update titles and content for clarity in profiling documentation
madeline-underwood Apr 9, 2026
314b3b9
Refine language for clarity in profiling documentation
madeline-underwood Apr 9, 2026
01eb387
refactor: update titles and descriptions for clarity across multiple …
madeline-underwood Apr 9, 2026
947ad1b
refactor: improve clarity in titles and section descriptions for chat…
madeline-underwood Apr 9, 2026
ec56f08
refactor: update titles and content for PostgreSQL learning path sect…
madeline-underwood Apr 9, 2026
f64a79d
refactor: update titles and descriptions for Redis learning path sect…
madeline-underwood Apr 9, 2026
7070501
refactor: add tags section and improve clarity in deployment instruct…
madeline-underwood Apr 9, 2026
244ffea
Merge pull request #3142 from madeline-underwood/minio
pareenaverma Apr 10, 2026
5a090a1
Merge pull request #3143 from madeline-underwood/flyte
pareenaverma Apr 10, 2026
e55f3a1
Merge pull request #3144 from madeline-underwood/perfor
pareenaverma Apr 10, 2026
e4e57df
Merge pull request #3146 from madeline-underwood/post
pareenaverma Apr 10, 2026
ce0676a
Merge pull request #3140 from madeline-underwood/mem2
pareenaverma Apr 10, 2026
11c4fd8
Merge pull request #3147 from madeline-underwood/reddis
pareenaverma Apr 10, 2026
1943c5a
Merge pull request #3145 from madeline-underwood/sem
pareenaverma Apr 10, 2026
7a955d4
Add new words to the wordlist
pareenaverma Apr 10, 2026
def98d5
Merge pull request #3150 from pareenaverma/content_review
pareenaverma Apr 10, 2026
4c8c985
Add new entries to .wordlist.txt
pareenaverma Apr 10, 2026
8b58352
Merge pull request #3151 from pareenaverma/content_review
pareenaverma Apr 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 41 additions & 0 deletions .wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5971,3 +5971,44 @@ osRtxTimerThread
piezo
safetyisolation
solderless
CMake's
PMULL
SVG
adler
asimd
relinking
ASCT's
CMake's
Flyte
MinIO's
NOPs
OLTP
PMULL
Prefetcher
Qdrant
SVG
TRMs
Wr
XADD
adler
asimd
cdot
chipsandcheese
datapath
flyte
flyteorg
grpc
hwloc
im
mygroup
mystream
pgbench
prefetcher
prefetchers
qdrant
relinking
sbert
strided
sysfs
xadd
xreadgroup
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,15 +22,15 @@ Note that all site content, including new contributions, is licensed under a [Cr

## AI Development Tools

When using AI coding assistants (GitHub Copilot, Amazon Q, Gemini, Cursor, etc.), refer to `.github/copilot-instructions.md` for project-specific guidelines including content requirements, writing style standards, and Arm terminology conventions for Learning Paths.
When using AI coding assistants (GitHub Copilot, Kiro, Gemini, Cursor, etc.), refer to `.github/copilot-instructions.md` for project-specific guidelines including content requirements, writing style standards, and Arm terminology conventions for Learning Paths.

<br/>

# Other Arm Learning Resources
The Learning Path site contains software-based Learning Paths and Tool Install Guides, and complements the other Arm resources in the Arm Developer Hub and beyond. Here are links to other areas depending on what/how you want to learn:
* [Learning Paths](https://learn.arm.com/learning-paths)
* [Tool Install Guides](https://learn.arm.com/install-guides)
* [Arm IP Documentation](https://developer.arm.com)
* [Arm Documentation](https://developer.arm.com)



Expand Down
255 changes: 255 additions & 0 deletions content/install-guides/flatpak.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,255 @@
---
title: "Flatpak"
minutes_to_complete: 10
official_docs: "https://flatpak.org"
author: "Jason Andrews"
description: "Install Flatpak on Arm Linux, add the Flathub remote, and verify the setup by running a native aarch64 application."
weight: 1
draft: true
tool_install: true
layout: installtoolsall
multi_install: false
multitool_install_part: false
---

Flatpak is a framework for distributing Linux applications. It provides distribution-agnostic packaging and a sandboxed runtime, so the same application bundle runs on Ubuntu, Fedora, Arch, and openSUSE without repackaging. [Flathub](https://flathub.org/) is the primary community-maintained repository of Flatpak applications, many of which publish native Arm builds.

## How does Flatpak sandboxing work?

Each Flatpak application runs inside an isolated environment built on three Linux kernel features: namespaces, seccomp, and cgroups. Namespaces give the application its own view of the filesystem, network, and process tree. Seccomp filters restrict the system calls the application can make. Together, these mechanisms prevent an application from reading files outside its sandbox or interfering with other processes on the host.

The sandbox is implemented by [bubblewrap](https://github.com/containers/bubblewrap), a low-level sandboxing tool that Flatpak calls at launch time. Applications declare the permissions they need, such as access to the home directory, the network, or audio devices, in a manifest. You can inspect and override these permissions using `flatpak override`.

## How are Flatpak applications packaged?

A Flatpak application is distributed as an OSTree commit, a content-addressed filesystem tree stored in a local repository. When you install an application, Flatpak fetches only the changed objects from the remote, similar to how Git fetches commits. This makes updates efficient even for large applications.

Applications either bundle their own libraries directly or declare runtime dependencies, such as `org.freedesktop.Platform` or `org.gnome.Platform`. The runtime provides a consistent base set of libraries, such as libc and GTK, that multiple applications can share on disk, reducing total storage. The application and its runtime are kept separate from the host system libraries, which means you don't need to resolve conflicts.

For Arm developers, the key advantage is that Flatpak applications can publish separate builds for `x86_64` and `aarch64` under the same application ID. Flatpak selects the correct architecture automatically at install time.

## How does Flatpak compare to Linux package managers?

Linux package managers like `apt`, `dnf`, and `pacman` are tightly coupled to the distribution release cycle. An application packaged for Ubuntu 24.04 may lag the upstream version, and some applications aren't packaged for every Linux distribution. Flatpak addresses this by letting upstream developers publish and maintain their own builds directly on Flathub. This allows you to get the current release of an application on any supported Linux distribution.

Because a Flatpak application bundles its own libraries or pins a specific runtime version, installing or updating it can't conflict with host system libraries or break other packages. A distro upgrade won't silently change the libraries an application links against. This also means you can run two different applications that require incompatible versions of the same library side by side without issues.

The instructions below cover installing Flatpak on Arm Linux (aarch64), adding the Flathub remote, and verifying the installation by installing VSCodium.

## Before you begin

Confirm your system is running a 64-bit Arm Linux distribution:

```bash
uname -m
```

The output should be:

```output
aarch64
```

## How do I install Flatpak?

### Ubuntu or Debian

Update your package lists and install Flatpak:

```bash
sudo apt update
sudo apt install -y flatpak
```

### Fedora

Install Flatpak using DNF:

```bash
sudo dnf install -y flatpak
```

### Arch or Manjaro

Sync the package database and install Flatpak:

```bash
sudo pacman -S --noconfirm flatpak
```

### openSUSE

Refresh the repository metadata and install Flatpak:

```bash
sudo zypper refresh
sudo zypper install -y flatpak
```

After installing, log out and back in to ensure desktop integration works correctly.

## Verify Flatpak is installed

Confirm Flatpak is available and check the version:

```bash
flatpak --version
```

The output will look similar to:

```output
Flatpak 1.16.1
```

## How do I add the Flathub remote?

Add the Flathub repository as a remote source:

```bash
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
```

Confirm the remote was added:

```bash
flatpak remotes
```

The output should include a line for `flathub`:

```output
Name Options
flathub system
```

## How do I install the VSCodium Flatpak?

[VSCodium](https://vscodium.com/) is the telemetry-free build of VS Code, available on Flathub with a native Arm build, making it a useful application to test.

Install it with the `--assumeyes` flag, which automatically answers yes to any prompts during installation:

```bash
flatpak install --assumeyes flathub com.vscodium.codium
```

Confirm the installation and check the architecture:

```bash
flatpak info com.vscodium.codium
```

The output includes the runtime architecture:

```output
VSCodium - Telemetry-less code editing

ID: com.vscodium.codium
Ref: app/com.vscodium.codium/aarch64/stable
Arch: aarch64
Branch: stable
Version: 1.112.01907
License: MIT
Origin: flathub
Collection: org.flathub.Stable
Installation: system
Installed: 500.4 MB
Runtime: org.freedesktop.Sdk/aarch64/25.08
Sdk: org.freedesktop.Sdk/aarch64/25.08

Commit: 941b853cf7e254f628e79549ff39b2940faeb11a0c022485507ee83af7d1ffb9
Parent: 8bf491c5bb50857418982dea2cf3a78ca127e888f8055332cf11650ab7472b99
Subject: fix: :fire: Remove urls to fix all the appstream validationwarnings (92763b676197)
Date: 2026-03-30 05:03:53 +0000
```

The `Arch: aarch64` line confirms a native Arm build is installed.

To start VSCodium on the project in your current directory, run:

```bash
flatpak run com.vscodium.codium . &
```

You can also create an alias to make it easier:

```bash
alias codium='flatpak run com.vscodium.codium'
```

Now, run using the alias:

```bash
codium . &
```

## What are some other useful Flatpak commands?

If an installation becomes corrupted or incomplete, run `flatpak repair` to check your local Flatpak installation and fix any inconsistencies:

```bash
flatpak repair
```

To update all installed Flatpak applications and runtimes to their latest versions, run:

```bash
flatpak update
```

To inspect the sandbox permissions granted to an application, run:

```bash
flatpak info --show-permissions com.vscodium.codium
```

To open an interactive shell inside an application's sandbox, which is useful for debugging permission or runtime issues, run:

```bash
flatpak run --command=bash com.vscodium.codium
```

Note that not all applications include `bash` in their sandbox, so this command may not work for every Flatpak. Your shell prompt may not look any different, but you are in the sandbox. To confirm run:

```bash
ls /app
cat /etc/os-release
```

The output is similar to:

```output
bin lib manifest-base-1.json manifest.json share tools
NAME="Freedesktop SDK"
VERSION="25.08 (Flatpak runtime)"
VERSION_ID=25.08
ID=org.freedesktop.platform
PRETTY_NAME="Freedesktop SDK 25.08 (Flatpak runtime)"
BUG_REPORT_URL=https://gitlab.com/freedesktop-sdk/freedesktop-sdk/issues
```

The `/app` directory contains the application runtime files, and the `os-release` file shows the Flatpak runtime rather than the host OS.

## How can I find Arm-native applications on Flathub?

Flatpak makes it straightforward to discover which applications support aarch64. Visit the [Flathub app browser](https://flathub.org/apps) and filter by architecture to find applications with native Arm builds. You can also search from the command line after adding the Flathub remote:

```bash
flatpak remote-ls --app --arch=aarch64 flathub
```

This lists every application on Flathub that publishes a native aarch64 build. Use `grep` to narrow results by name or category.

## Uninstall

To remove VSCodium, run:

```bash
flatpak uninstall --assumeyes com.vscodium.codium
```

To remove the Flathub remote, run:

```bash
sudo flatpak remote-delete flathub
```
26 changes: 8 additions & 18 deletions content/install-guides/gcc/arm-gnu.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@ weight: 4

## Before you begin

Arm GNU Toolchain is a community-supported, pre-built GNU compiler toolchain for Arm-based CPUs.
Arm GNU Toolchain is a community-supported, pre-built GNU compiler toolchain for Arm-based CPUs. This guide covers installing the toolchain directly from the [Arm GNU Toolchain downloads page](https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads), which is the recommended approach for bare-metal and embedded targets such as `arm-none-eabi`.

There are many versions of the [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) available. In general, the latest version is recommended for use, as this will contain the latest optimization improvements, as well as support for the latest Arm IP.
If you need a cross-compiler targeting Arm Linux (for example `aarch64-linux-gnu` or `arm-linux-gnueabihf`), see the [Cross-compiler](../cross) install guide instead, which installs those toolchains via the Linux package manager.

There are many versions of the [Arm GNU Toolchain](https://developer.arm.com/Tools%20and%20Software/GNU%20Toolchain) available. In general, the latest version is recommended, as this will contain the latest optimization improvements and support for the latest Arm IP.

However there are reasons you may wish to use earlier compiler versions, so older versions are also available.

Expand All @@ -45,18 +47,6 @@ Download the correct toolchain variant for your development needs from the [Arm

## How do I install the Arm GNU Toolchain on Linux?

### Use package installer

Many Linux distributions make the toolchain available with their package installers. However they may not be the latest versions or desired variant.
```command
sudo apt update
sudo apt install gcc-arm-none-eabi
```

If the installed version does not meet your needs, you can install another Arm GNU Toolchain version.

### Manual install {#manual}

Unpack the downloaded file to the install directory. The exact file name will depend on the flavor selected.

```console
Expand Down Expand Up @@ -148,7 +138,7 @@ Double-click on the installer, such as `arm-gnu-toolchain-15.2.rel1-mingw-w64-i
To install silently from the command line, use similar to the following:

```console
msiexec /i arm-gnu-toolchain-<version>--mingw-w64-i686-arm-none-eabi.msi EULA=1 /quiet
msiexec /i arm-gnu-toolchain-<version>-mingw-w64-i686-arm-none-eabi.msi EULA=1 /quiet
```

The zip package is a backup to Windows installer for those who cannot run the installer. You can unzip the package and then run the tools directly.
Expand All @@ -161,12 +151,12 @@ To use the Arm GNU Toolchain in conjunction with [Arm Development Studio](https:

## Get started

To verify the installation is correct enter:
To verify the installation is correct, enter:
```console
arm-none-eabi-gcc -v
```

Additional examples are included in the toolchain installation at:
Additional examples are included in the toolchain installation. If you installed to `$HOME` using the example above, you can find them at:
```console
${install_dir}/share/gcc-arm-none-eabi/samples
$HOME/arm-gnu-toolchain-15.2.rel1-aarch64-arm-none-eabi/share/doc/gcc-arm-none-eabi/examples
```
Loading
Loading