Skip to content

Commit d046bf1

Browse files
authored
Merge pull request #2221 from ArmDeveloperEcosystem/main
prod update
2 parents bcdc8cd + 02c5df1 commit d046bf1

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+1458
-54
lines changed

content/install-guides/ams.md

Lines changed: 29 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -37,96 +37,77 @@ test_maintenance: true
3737
test_images:
3838
- ubuntu:latest
3939
---
40-
[Arm Performance Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio) is a performance analysis tool suite for Android and Linux application developers.
40+
[Arm Performance Studio](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio) is a performance analysis tool suite for Android and Linux application developers
4141

42-
It helps analyze how your game or app performs on production devices, so you can identify issues that affect performance, cause overheating, or drain battery life.
43-
44-
The following table lists the tools and describes their functions:
42+
It comprises of a suite of easy-to-use tools that show you how well your game or app performs on production devices, so that you can identify problems that might cause slow performance, overheat the device, or drain the battery.
4543

4644
| Component | Functionality |
4745
|----------|-------------|
48-
| [Streamline](https://developer.arm.com/Tools%20and%20Software/Streamline%20Performance%20Analyzer) | Captures a performance profile with hardware counter activity from the device. |
49-
| [Performance Advisor](https://developer.arm.com/Tools%20and%20Software/Performance%20Advisor) | Generates an easy-to-read performance summary from an annotated Streamline capture, and provides actionable optimization suggestions. |
50-
| [Frame Advisor](https://developer.arm.com/Tools%20and%20Software/Frame%20Advisor) | Captures API calls and rendering details from a specific frame and provides detailed geometry metrics to help identify rendering bottlenecks. |
51-
| [Mali Offline Compiler](https://developer.arm.com/Tools%20and%20Software/Mali%20Offline%20Compiler) | Analyzes how efficiently your shader programs perform on a range of Mali GPUs. |
52-
| [RenderDoc for Arm GPUs](https://developer.arm.com/Tools%20and%20Software/RenderDoc%20for%20Arm%20GPUs) | Debugs Vulkan graphics applications with support for Arm GPU extensions and Android features. |
46+
| [Streamline](https://developer.arm.com/Tools%20and%20Software/Streamline%20Performance%20Analyzer) with [Performance Advisor](https://developer.arm.com/Tools%20and%20Software/Performance%20Advisor)| Capture a performance profile that shows all the performance counter activity from the device. Generate an easy-to-read performance summary from an annotated Streamline capture, and get actionable advice about where you should optimize. |
47+
| [Frame Advisor](https://developer.arm.com/Tools%20and%20Software/Frame%20Advisor) | Capture the API calls and rendering from a problem frame and get comprehensive geometry metrics to discover what might be slowing down your application. |
48+
| [Mali Offline Compiler](https://developer.arm.com/Tools%20and%20Software/Mali%20Offline%20Compiler) | Analyze how efficiently your shader programs perform on a range of Mali GPUs. |
49+
| [RenderDoc for Arm GPUs](https://developer.arm.com/Tools%20and%20Software/RenderDoc%20for%20Arm%20GPUs) | The industry-standard tool for debugging Vulkan graphics applications, including early support for Arm GPU extensions and Android features. |
5350

5451

55-
All features of Arm Performance Studio are available free of charge without a license.
52+
All features of Arm Performance Studio are available free of charge without any additional license.
5653

57-
## How do I install Arm Performance Studio?
54+
## Download Arm Performance Studio
5855

5956
Arm Performance Studio is supported on Windows, Linux, and macOS hosts. Download the appropriate installer from [Arm Performance Studio Downloads](https://developer.arm.com/Tools%20and%20Software/Arm%20Performance%20Studio#Downloads).
6057

6158
Full details about the supported OS and Android versions are given in the Arm Performance Studio [Release Notes](https://developer.arm.com/documentation/107649).
6259

63-
### How do I install Arm Performance Studio on Windows?
64-
65-
Run the downloaded `Arm_Performance_Studio_<version>_windows_x86-64.exe` installer, and follow the on-screen instructions.
66-
67-
To open Streamline, Frame Advisor, or RenderDoc for Arm GPUs, go to the Windows **Start** menu and search for the name of the tool you want to open.
68-
69-
Performance Advisor is a feature of the Streamline command-line application. To generate a performance report, you must first run the provided Python script to enable Streamline to collect frame data from the device. [Get started with Performance Advisor tutorial](https://developer.arm.com/documentation/102478/latest) describes this process in detail. After you have captured a profile with Streamline, run `Streamline-cli` on the Streamline capture file. This command is added to your `PATH` environment variable during installation, so it can be used from anywhere.
60+
## How do I install Arm Performance Studio on Windows
7061

71-
```console
72-
Streamline-cli.exe -pa <options> my_capture.apc
73-
```
74-
75-
To run Mali Offline Compiler, open a command terminal, navigate to your work directory, and run the `malioc` command on a shader program. The malioc command is added to your `PATH` environment variable during installation, so it can be used from anywhere.
62+
Arm Performance Studio is provided as an installer executable. Double-click the `.exe` file and follow the instructions in the setup wizard.
7663

77-
```console
78-
malioc.exe <options> my_shader.frag
79-
```
64+
Open the Performance Studio Hub from the **Windows Start** menu, or by double-clicking the shortcut in the installation directory. You can read a description of the tools and launch them from the Hub.
8065

81-
### How do I install Arm Performance Studio on macOS?
66+
### How do I install Arm Performance Studio on macOS
8267

8368
Arm Performance Studio is provided as a `.dmg` package. To mount it, double-click the `.dmg` package and follow the instructions. The Arm Performance Studio directory tree is copied to the Applications directory on your local file system for easy access.
8469

85-
You can remove write permission from the installation directory to prevent other users from writing to it. This is done with the `chmod` command. For example:
70+
Arm recommends that you set the permissions for the installation directory to prevent other users from writing to it. This is typically achieved with the `chmod` command. For example,
8671

8772
```
8873
chmod go-w <dest_dir>
8974
```
9075

91-
Open Streamline, Frame Advisor or RenderDoc for Arm GPUs directly from the Arm Performance Studio directory in your Applications directory. For example, to open Streamline, go to the `<installation_directory>/streamline` directory and open the `Streamline.app` file.
76+
To get started, navigate to the Arm Performance Studio installation directory in your `Applications` directory. Open the `Performance Studio.app` file to launch the **Arm Performance Studio Hub**. You can read a description of the tools and launch them from the Hub.
9277

93-
To run Performance Advisor, go to the `<installation_directory>/streamline` directory, and double-click the `Streamline-cli-launcher` file. Your computer will ask you to allow Streamline to control the Terminal application. Allow this. The Performance Advisor launcher opens the Terminal application and updates your `PATH` environment variable so you can run Performance Advisor from any directory.
78+
### Install Arm Performance Studio on Linux
9479

95-
Performance Advisor is a feature of the Streamline command-line application. To generate a performance report, you must first run the provided Python script to enable Streamline to collect frame data from the device. This process is described in detail in the [Get started with Performance Advisor tutorial](https://developer.arm.com/documentation/102478/latest). After you have captured a profile with Streamline, run the `Streamline-cli` command on the Streamline capture file to generate a performance report:
80+
Arm Performance Studio is provided as a gzipped tar archive. Extract this tar archive to your preferred location, using a recent version (1.13 or later) of GNU tar:
9681

9782
```
98-
Streamline-cli -pa <options> my_capture.apc
83+
tar xvzf Arm_Performance_Studio_2025.1_linux.tgz
9984
```
10085

101-
To run Mali Offline Compiler, go to the `<installation_directory>/mali_offline_compiler` directory, and double-click the `mali_offline_compiler_launcher` file. The Mali Offline Compiler launcher opens the Terminal application and updates your `PATH` environment variable so you can run the `malioc` command from any directory. To generate a shader analysis report, run the `malioc` command on a shader program:
86+
Arm recommends that you set the permissions for the installation directory to prevent other users from writing to it. This is typically achieved with the `chmod` command. For example:
10287

10388
```
104-
malioc <options> my_shader.frag
89+
chmod go-w <dest_dir>
10590
```
10691

107-
On some versions of macOS, you might see a message that Mali Offline Compiler is not recognized as an application from an identified developer. To enable Mali Offline Compiler, cancel this message, then open **System Preferences > Security & Privacy** and select **Allow Anyway** for the `malioc` application.
108-
109-
### How do I install Arm Performance Studio on Linux?
110-
111-
Arm Performance Studio is provided as a gzipped tar archive. Extract this tar archive to your preferred location, using version 1.13 or later of GNU tar:
92+
{{% notice Tip %}}
93+
You might find it useful to edit your `PATH` environment variable to add the paths to the `Streamline-cli` and `malioc` executables so that you can run them from any directory. Add the following commands to the .bashrc file in your home directory, so that they are set whenever you initialize a shell session:
11294

11395
```
114-
tar xvzf Arm_Performance_Studio_<version>_linux.tgz
96+
PATH=$PATH:/<installation_directory>/streamline
97+
PATH=$PATH:/<installation_directory>/mali_offline_compiler
11598
```
11699

117-
You can remove write permission from the installation directory to prevent other users from writing to it. This is done with the `chmod` command. For example:
100+
{{% /notice %}}
118101

119-
```
120-
chmod go-w <dest_dir>
121-
```
102+
Inside the installation directory is a shortcut called **Performance Studio**. Double-click on the shortcut to launch the Performance Studio Hub. You can read a description of the tools and launch them from the Hub.
122103

123-
You might find it useful to edit your `PATH` environment variable to add the paths to the `Streamline-cli` and `malioc` executables so that you can run them from any directory. Add the following commands to the .bashrc file in your home directory, so that they are set whenever you initialize a shell session:
104+
Alternatively, to open Streamline, Frame Advisor or RenderDoc for Arm GPUs directly, go to the installation directory, open the folder for the tool you want to open and run the application file. For example:
124105

125106
```
126-
PATH=$PATH:<installation_directory>/streamline
127-
PATH=$PATH:<installation_directory>/mali_offline_compiler
107+
cd <installation_directory>/streamline
108+
./Streamline
128109
```
129110

130111
## How do I get started with Arm Performance Studio?
131112

132-
Refer to [Get started with Arm Performance Studio](/learning-paths/mobile-graphics-and-gaming/ams/) for an overview of how to run each tool in Arm Performance Studio.
113+
See the [Get started with Arm Performance Studio](/learning-paths/mobile-graphics-and-gaming/ams/) learning path for an overview of how to run each tool in Arm Performance Studio.
33 KB
Loading
25.9 KB
Loading
Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
---
2+
title: Install Ubuntu on ChromeOS Crostini as an LXC Container
3+
4+
draft: true
5+
cascade:
6+
draft: true
7+
8+
minutes_to_complete: 60
9+
10+
who_is_this_for: This Learning Path is for software developers who want to install Ubuntu and other Linux distributions on their Arm-based Chromebook with ChromeOS file sharing and GUI support.
11+
12+
learning_objectives:
13+
- Create an Ubuntu 24.04 container on ChromeOS Crostini using the Termina shell and LXC.
14+
- Set up ChromeOS integration for file sharing and GUI applications.
15+
- Manage LXC containers on ChromeOS.
16+
17+
prerequisites:
18+
- A ChromeOS device with the Linux development environment enabled. The Lenovo Chromebook Plus 14 is recommended.
19+
- Basic knowledge of the Linux command line.
20+
21+
author: Jason Andrews
22+
23+
### Tags
24+
skilllevels: Introductory
25+
subjects: Containers and Virtualization
26+
armips:
27+
- Cortex-A
28+
operatingsystems:
29+
- ChromeOS
30+
tools_software_languages:
31+
- Ubuntu
32+
33+
further_reading:
34+
- resource:
35+
title: Official ChromeOS Linux Support
36+
link: https://chromeos.dev/en/linux
37+
type: documentation
38+
- resource:
39+
title: Linux Containers
40+
link: https://linuxcontainers.org/
41+
type: website
42+
43+
### FIXED, DO NOT MODIFY
44+
# ================================================================================
45+
weight: 1 # _index.md always has weight of 1 to order correctly
46+
layout: "learningpathall" # All files under learning paths have this same wrapper
47+
learning_path_main_page: "yes" # This should be surfaced when looking for related content. Only set for _index.md of learning path content.
48+
---
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
weight: 21
3+
title: "Next Steps"
4+
layout: "learningpathall"
5+
---
6+
33 KB
Loading
Lines changed: 132 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,132 @@
1+
---
2+
title: "Create an Ubuntu container"
3+
weight: 2
4+
layout: "learningpathall"
5+
---
6+
7+
The [Lenovo Chromebook Plus 14](https://www.bestbuy.com/site/lenovo-chromebook-plus-14-oled-2k-touchscreen-laptop-mediatek-kompanio-ultra-16gb-memory-256gb-ufs-seashell/6630493.p?skuId=6630493&intl=nosplash) is is powered by the MediaTek Kompanio Ultra processor, featuring an Arm-based MediaTek Kompanio Ultra processor, offers software developers a powerful and energy-efficient platform for Linux development. Its compatibility with containerized environments and support for ChromeOS Linux (Crostini) make it an excellent choice for coding, testing, and running modern development workflows on the go.
8+
9+
This Learning Path will walk you through setting up an Ubuntu 24.04 container on your Arm-based Chromebook using ChromeOS's built-in Linux development environment. You'll learn how to create and manage containers, install essential development tools, and integrate your Ubuntu environment with ChromeOS features like file sharing and GUI application support. By the end, you'll have a flexible and powerful Arm Linux development environment.
10+
11+
## Access the ChromeOS terminal
12+
13+
The first step to creating an Ubuntu container on ChromeOS is to open the ChromeOS shell.
14+
15+
Open the Chrome browser and press **Ctrl + Alt + T** to open crosh, the ChromeOS shell, crosh.
16+
17+
![ChromeOS shell #center](_images/chromeos-shell.png)
18+
19+
Run the command below to start the Termina shell.
20+
21+
```console
22+
vsh termina
23+
```
24+
25+
You are now in the Termina environment where you can manage containers.
26+
27+
The `lxc` command is used to manage containers on ChromeOS.
28+
29+
You can list the running containers.
30+
31+
```console
32+
lxc list
33+
```
34+
35+
If you have the default Debian container running you see output similar to:
36+
37+
```output
38+
+---------+---------+-----------------------+------+-----------+-----------+
39+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
40+
+---------+---------+-----------------------+------+-----------+-----------+
41+
| penguin | RUNNING | 100.115.92.204 (eth0) | | CONTAINER | 0 |
42+
+---------+---------+-----------------------+------+-----------+-----------+
43+
```
44+
45+
The name of the Debian container is penguin. When you enable the Linux subsystem on ChromeOS the Debian container named penguin is created, but you can create additional containers with different Linux distributions and different names.
46+
47+
## Create a Ubuntu 24.04 container
48+
49+
This command creates and starts a new Ubuntu 24.04 container named `u1`.
50+
51+
```bash
52+
lxc launch ubuntu:24.04 u1
53+
```
54+
55+
The output is:
56+
57+
```output
58+
Creating u1
59+
Starting u1
60+
```
61+
62+
Check the status of the new container and confirm the status is RUNNING.
63+
64+
```bash
65+
lxc list
66+
```
67+
68+
Now there are 2 containers running.
69+
70+
```output
71+
+---------+---------+-----------------------+------+-----------+-----------+
72+
| NAME | STATE | IPV4 | IPV6 | TYPE | SNAPSHOTS |
73+
+---------+---------+-----------------------+------+-----------+-----------+
74+
| penguin | RUNNING | 100.115.92.204 (eth0) | | CONTAINER | 0 |
75+
+---------+---------+-----------------------+------+-----------+-----------+
76+
| u1 | RUNNING | 100.115.92.206 (eth0) | | CONTAINER | 0 |
77+
+---------+---------+-----------------------+------+-----------+-----------+
78+
```
79+
80+
Create a new shell in the Ubuntu container.
81+
82+
```bash
83+
lxc exec u1 -- bash
84+
```
85+
86+
## Complete the Ubuntu setup
87+
88+
Once inside the Ubuntu container, you need to perform some initial setup tasks.
89+
90+
Update the package lists and upgrade installed packages to the latest versions.
91+
92+
```bash
93+
apt update && apt upgrade -y
94+
```
95+
96+
Install essential packages for development and system management. You can select your favorite software packages, these are examples.
97+
98+
```bash
99+
apt install -y net-tools gcc
100+
```
101+
102+
Creating a non-root user is a crucial security best practice and ensures that applications don't have unnecessary administrative privileges. The username `ubuntu` is already available in the container. You are free to use `ubuntu` as your non-root user or create a new user.
103+
104+
{{% notice Note %}}
105+
The following commands use `user1` as a new username. You can replace it with your actual desired username in all subsequent steps.
106+
{{% /notice %}}
107+
108+
Create a new user account. Skip if you want to use the `ubuntu` user.
109+
110+
```bash
111+
adduser user1
112+
```
113+
114+
Add the new user to the sudo group to grant administrative privileges. Skip if you want to use the `ubuntu` user.
115+
116+
```bash
117+
usermod -aG sudo user1
118+
```
119+
120+
Switch to your new user account to continue the setup.
121+
122+
```bash
123+
su - user1
124+
```
125+
126+
If you didn't creat a new user switch to `ubuntu` as the non-root user.
127+
128+
```bash
129+
su - ubuntu
130+
```
131+
132+
Continue to learn how to integrate the new Ubuntu container with ChromeOS features like file sharing.

0 commit comments

Comments
 (0)