26 lines
1.2 KiB
Markdown
26 lines
1.2 KiB
Markdown
|
# Working with ARM/ARM64/the Raspberry PI
|
||
|
|
||
|
Open Screen Library supports cross compilation for both arm32 and arm64
|
||
|
platforms, by using the `gn args` parameter `target_cpu="arm"` or
|
||
|
`target_cpu="arm64"` respectively. Note that quotes are required around the
|
||
|
target arch value.
|
||
|
|
||
|
Setting an arm(64) target_cpu causes GN to pull down a sysroot from openscreen's
|
||
|
public cloud storage bucket. Google employees may update the sysroots stored
|
||
|
by requesting access to the Open Screen pantheon project and uploading a new
|
||
|
tar.xz to the openscreen-sysroots bucket.
|
||
|
|
||
|
NOTE: The "arm" image is taken from Chromium's debian arm image, however it has
|
||
|
been manually patched to include support for libavcodec and libsdl2. To update
|
||
|
this image, the new image must be manually patched to include the necessary
|
||
|
header and library dependencies. Note that if the versions of libavcodec and
|
||
|
libsdl2 are too out of sync from the copies in the sysroot, compilation will
|
||
|
succeed, but you may experience issues decoding content.
|
||
|
|
||
|
To install the last known good version of the libavcodec and libsdl packages
|
||
|
on a Raspberry Pi, you can run the following command:
|
||
|
|
||
|
```bash
|
||
|
sudo ./cast/standalone_receiver/install_demo_deps_raspian.sh
|
||
|
```
|