From: Alessandro Astone Date: Sun, 26 Jun 2022 15:15:22 +0000 (+0200) Subject: Downgrade x86_64 to x86 if no SSE4.2 X-Git-Tag: 1.3.0~29 X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/commitdiff_plain/e589328e4992ab83a538986af59fe7fd00a55c79?ds=inline Downgrade x86_64 to x86 if no SSE4.2 --- diff --git a/tools/helpers/arch.py b/tools/helpers/arch.py index 35e8516..af18e66 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,15 @@ 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" + + return target