xref: /aosp_15_r20/external/openscreen/docs/raspberry_pi.md (revision 3f982cf4871df8771c9d4abe6e9a6f8d829b2736)
1# Working with ARM/ARM64/the Raspberry PI
2
3Open Screen Library supports cross compilation for both arm32 and arm64
4platforms, by using the `gn args` parameter `target_cpu="arm"` or
5`target_cpu="arm64"` respectively. Note that quotes are required around the
6target arch value.
7
8Setting an arm(64) target_cpu causes GN to pull down a sysroot from openscreen's
9public cloud storage bucket. Google employees may update the sysroots stored
10by requesting access to the Open Screen pantheon project and uploading a new
11tar.xz to the openscreen-sysroots bucket.
12
13NOTE: The "arm" image is taken from Chromium's debian arm image, however it has
14been manually patched to include support for libavcodec and libsdl2. To update
15this image, the new image must be manually patched to include the necessary
16header and library dependencies. Note that if the versions of libavcodec and
17libsdl2 are too out of sync from the copies in the sysroot, compilation will
18succeed, but you may experience issues decoding content.
19
20To install the last known good version of the libavcodec and libsdl packages
21on a Raspberry Pi, you can run the following command:
22
23```bash
24sudo ./cast/standalone_receiver/install_demo_deps_raspian.sh
25```
26