From ef981be46d370ced3d65e35191ceae492c9de33a Mon Sep 17 00:00:00 2001 From: Vincent Trussart Date: Mon, 16 Feb 2026 10:59:34 -0500 Subject: [PATCH 1/2] Document how to target older ARM CPUs Signed-off-by: Vincent Trussart (cherry picked from commit 1ecc1ee2103113695b751cbb02d51a77c81f3d26) --- docs/Building.md | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/docs/Building.md b/docs/Building.md index 2e6c66e6..40234843 100644 --- a/docs/Building.md +++ b/docs/Building.md @@ -79,6 +79,19 @@ PIC is enabled by default and can be disabled with 2. Install doxygen and ccache through brew: `brew install doxygen ccache` 3. Install the GStreamer runtime and developement packages according to [these instructions](https://gstreamer.freedesktop.org/documentation/installing/on-mac-osx.html?gi-language=c#download-and-install-the-sdk) + +## ARM notes + +The MXL project is configured to require the ```armv8.5-a``` architecture on ARM CPUs. Most modern ARM CPUs meet this requirement. Notable exceptions are the Raspberry PIs. For example, the Pi5 CPU has an architecture level ```armv8.2-a``` whereas the Pi4B is at level ```armv8.0-a```. To properly target these CPUs, pass the architecture type as an additional argument to cmake : ```-DMXL_TARGET_ARCH=```. + +For example, for the Raspberry Pi 5: +``` +mkdir build +cd build +cmake .. --preset Linux-GCC-Debug -DMXL_TARGET_ARCH=armv8.2a +cmake --build build/Linux-GCC-Debug --target all +``` + # Using with CMake The MXL provides a CMake package configuration file that allows for easy integration into your project. If it is installed in a non-default location, you may need to specify its root path using `CMAKE_PREFIX_PATH`: From 917619802d19c5f2a524fc6381eff3dab3c4587d Mon Sep 17 00:00:00 2001 From: Vincent Trussart <149537794+vt-tv@users.noreply.github.com> Date: Mon, 16 Feb 2026 11:10:06 -0500 Subject: [PATCH 2/2] Update docs/Building.md Co-authored-by: Gareth Sylvester-Bradley <31761158+garethsb@users.noreply.github.com> Signed-off-by: Vincent Trussart <149537794+vt-tv@users.noreply.github.com> (cherry picked from commit 6611ca3228dd2df61a1157fa5ed638436d5f0d23) --- docs/Building.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/Building.md b/docs/Building.md index 40234843..b009b371 100644 --- a/docs/Building.md +++ b/docs/Building.md @@ -82,7 +82,7 @@ PIC is enabled by default and can be disabled with ## ARM notes -The MXL project is configured to require the ```armv8.5-a``` architecture on ARM CPUs. Most modern ARM CPUs meet this requirement. Notable exceptions are the Raspberry PIs. For example, the Pi5 CPU has an architecture level ```armv8.2-a``` whereas the Pi4B is at level ```armv8.0-a```. To properly target these CPUs, pass the architecture type as an additional argument to cmake : ```-DMXL_TARGET_ARCH=```. +The MXL project is configured to require the `armv8.5-a` architecture on ARM CPUs. Most modern ARM CPUs meet this requirement. Notable exceptions are the Raspberry Pis. For example, the Pi 5 CPU has an architecture level `armv8.2-a` whereas the Pi 4 Model B is at level `armv8.0-a`. To properly target these CPUs, pass the architecture type as an additional argument to cmake : `-DMXL_TARGET_ARCH=`. For example, for the Raspberry Pi 5: ```