X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/80555aba69dd568aa989edea8480487e87d80aac..d28d65fa09cf76015ebfd65ec9485c8bdd108b22:/tools/helpers/arch.py diff --git a/tools/helpers/arch.py b/tools/helpers/arch.py index 35e8516..735d344 100644 --- a/tools/helpers/arch.py +++ b/tools/helpers/arch.py @@ -1,6 +1,7 @@ # Copyright 2021 Oliver Smith # SPDX-License-Identifier: GPL-3.0-or-later import platform +import logging def host(): machine = platform.machine() @@ -13,6 +14,17 @@ def host(): "armv8l": "arm" } if machine in mapping: - return mapping[machine] + return maybe_remap(mapping[machine]) raise ValueError("platform.machine '" + machine + "'" " architecture is not supported") + +def maybe_remap(target): + if target == "x86_64": + with open("/proc/cpuinfo") as f: + if "sse4_2" not in f.read(): + logging.info("x86_64 CPU does not support SSE4.2, falling back to x86...") + return "x86" + elif target == "arm64" and platform.architecture()[0] == "32bit": + return "arm" + + return target