Steam Linux Runtime 4 ломает запуск некоторых .NET-игр, а срок исправления неизвестен

Steam Linux Runtime 4 ломает запуск некоторых .NET-игр, а срок исправления неизвестен

В Steam Linux Runtime 4 отсутствуют библиотеки ICU, необходимые части .NET-игр для запуска в Linux. В будущем libicu обещали вернуть, но версия, сборка и дата исправления пока не названы.

Новая среда Steam Linux Runtime 4 не содержит трёх библиотек ICU, которые были в Steam Linux Runtime 2 (soldier) и Steam Linux Runtime 3 (sniper). Для игр на .NET это может приводить к немедленному завершению работы при запуске с сообщением о необходимости установить libicu через пакетный менеджер.

Проблема связана с Proton. Согласно сообщению в отчёте, Proton 11 принудительно использует Runtime 4. Из-за отсутствия ICU перестаёт запускаться загрузчик Resonite — социального VR-приложения, которое использует Linux Runtime для ядра и Proton для рендеринга. В результате приложение не может перейти на более новые сборки Proton.

Steam Linux Runtime 4 ломает запуск некоторых .NET-игр, а срок исправления неизвестен

Почему из Runtime 4 убрали ICU

Удаление библиотек было намеренным: разработчик Steam Runtime Саймон Маквитти из Collabora объяснил, что команда стремилась удержать размер среды под контролем. При этом добавление библиотеки в уже выпущенную среду считается обратно совместимым и, вероятно, не должно ломать игры, тогда как удаление ранее доступной библиотеки является несовместимым изменением.

Ранний переход на Runtime 4 выполнила Battle for Wesnoth, и вопрос об отсутствующей ICU обсуждался с её командой ещё до появления текущего запроса. Отдельный отчёт по Resonite появился последним — 17 октября.

Обещание вернуть libicu не содержит сроков

В отчёте появилось сообщение, что в будущей версии steamrt4 будет libicu. Однако в нём не указаны номер версии, номер сборки или месяц выпуска, а сам отчёт остаётся открытым и содержит 12 комментариев. Поэтому конкретной даты исправления нет.

Steam Linux Runtime 4 ломает запуск некоторых .NET-игр, а срок исправления неизвестен

Эта фраза опубликована с аккаунта lostgoat, который GitHub указывает как участника репозитория, но не как члена организации Valve. Маквитти отдельно отмечал, что решение о включении ICU в новые среды относится к политике Valve и не находится в его компетенции, поэтому приведённое обещание нельзя считать официальным заявлением Valve от её имени.

Планируемое изменение также будет ограниченным: обсуждается только 64-битная ICU. Библиотека libicudata велика, а Runtime 4 не предоставляет полной поддержки 32-битных функций; оба автора запроса сочли 64-битного варианта достаточным. Есть и разница версий: в Runtime 3 использовалась ICU 67, тогда как для Runtime 4 рассматривается ICU 76 — примерно на четыре года новее и с несовместимым ABI.

Steam Linux Runtime 4 ломает запуск некоторых .NET-игр, а срок исправления неизвестен

Какие игры уже столкнулись с проблемой

Два автора запроса сообщили, что работают над новым движком RimWorld, использующим .NET 10. По их словам, из-за отсутствия libicu движок вынужден оставаться на Steam Linux Runtime 2 или 1. Это не позволяет текущей нестабильной версии RimWorld 1.7 поддерживать более старые дистрибутивы, включая Ubuntu 22.04: в новых средах была бы доступна более свежая glibc.

Один из авторов также проверил Unity 7.0 Alpha и сообщил, что она полагается на системную ICU и аварийно завершается в Runtime 4. Для самой Resonite в отчёте описана отдельная блокирующая цепочка: приложение не запускается через используемый загрузчик и не может перейти на новые версии Proton.

Пока сборка steamrt4 с ICU не выпущена, временное решение остаётся на стороне игры. Маквитти предложил включать в игру ICU 76.1 из Debian 13; авторы запроса рассматривают этот вариант в сравнении с сохранением среды, которая на четыре года старше.

Steam Linux Runtime 4 ломает запуск некоторых .NET-игр, а срок исправления неизвестен

Кого проблема затрагивает сейчас

Пользователи стабильной ветки Proton пока не находятся в зоне описанного сбоя. Эта ветка вернулась 12 октября после 49 дней отсутствия, а переход на Runtime 4, согласно тому же отчёту, принудительно выполняется Proton 11. В предварительной версии Proton 11 назывались 12 игр, которые обновление сломало.

Таким образом, исправление для пользователей новых сборок сводится к обещанию добавить libicu в одну из будущих версий Runtime 4, но ни срок, ни конкретная сборка пока не определены.

Источник: VRealm

22
11