Студия Wube Software объявила о выпуске порта Factorio для ARM64 Linux. Основным стимулом для разработки стала совместимость с новым устройством Steam Frame, что позволило расширить доступность игры на устройствах с ARM-процессорами.
Портирование и технические особенности
Процесс переноса игры включал настройку кросс-компиляции из x86 в ARM64 с использованием компилятора Clang и линкера Mold. Для создания системного окружения (sysroot) разработчики использовали инструмент debootstrap для установки системных файлов Debian ARM64.
Особое внимание было уделено статическому связыванию зависимостей. Одной из наиболее сложных задач стала сборка библиотеки OpenSSL для ARM64 из-за специфики её системы сборки.
Интеграция со Steam Frame
Для обеспечения работы на Steam Frame команда обновила версию Steam Linux Runtime до 4.0, так как предыдущая версия (1.0) не поддерживала ARM64. Также был обновлен Steamworks SDK для поддержки соответствующих общих библиотек.
Ключевые результаты тестирования на Steam Frame:
- Производительность: Нативная версия ARM64 работает примерно на 11% быстрее, чем x86-версия через слой трансляции FEX.
- Графика: Игра работает в разрешении 720p с частотой 60 FPS (с возможными просадками в тяжелых сценах).
- Управление: Игра поддерживает лазерную мышь Steam Frame, что упрощает взаимодействие с интерфейсом и инструментами выделения.
Игра официально получила статус Steam Frame Certified, что гарантирует корректную работу на данном устройстве.
Поддержка других ARM-платформ
Помимо Steam Frame, нативная поддержка ARM64 Linux открывает возможности для других устройств:
- Raspberry Pi 5: Нативная версия работает на 28% быстрее, чем через box64. Однако из-за ограничений OpenGL на Pi возможен запуск только headless-версии (сервера).
- Asahi Linux (Apple Silicon): Тесты на MacBook Pro M1 Pro показали значительный прирост производительности — нативная версия работает на 35% быстрее, чем через FEX.
Доступность
Порт Factorio для ARM64 Linux доступен следующим образом:
- Официальный сайт: Доступна полноценная версия и headless-версия.
- Steam: Поддержка ARM64 реализована в экспериментальной ветке (версия 2.1).
Источник: оригинал на английском
Комментарии
Пока нет комментариев. Будьте первым!