Как использовать Protontricks, чтобы заставить проблемные игры Steam работать на Linux

Если вы пытались исследовать, что Linux может предложить в играх с “большим толчком” 2018 по 2019 год для разработки портов и обходных путей для как можно большего количества игр Windows/Mac, вы знаете о печально известном вкладе Steam в это усилие в виде Proton. В то же время, если вы попытаетесь запустить некоторые из более зависимых игр, вы быстро заметите, что Proton не совсем идеален, когда дело доходит до упрощения перехода с Windows на Linux для ряда игр.
В случаях, когда игры выдают ошибки, когда вы пытаетесь запустить их с Proton, есть полезный инструмент под названием “protontricks”, который упрощает их работу.
Как это работает
Protontricks — это утилита на основе терминала, которая автоматизирует большую часть рутинной работы, которую вам пришлось бы проделать, если бы вы использовали winetricks (вспомогательный скрипт для среды WINE), чтобы устранить неполадки в игре Steam. Утилита умело использует скрипты, чтобы сделать процесс как можно более гладким.
Часто, когда Proton Steam не может запустить игру, это происходит из-за отсутствия зависимости, которую Steam не установил. Protontricks накладывается на winetricks, чтобы позволить вам легко преодолеть эту проблему и напрямую установить многие необходимые вам среды выполнения прямо в их каталоги Steam без особых хлопот.
Первые шаги
Перед тем как что-либо делать, убедитесь, что Steam Play правильно включен и что у вас все настроено корректно на вашем клиенте. Для быстрого обзора этого, следуйте этому руководству по запуску игр Windows на Linux сначала.

Protontricks предназначен для определенных ситуаций, когда Steam не может запустить игру даже после всего этого.
Установка зависимостей

Хотя практически все пользователи Linux сегодня уже установили WINE, что позволяет им быть готовыми запускать ряд приложений Windows, не все имеют Winetricks. Чтобы использовать protontricks, вам нужно сначала установить его.
На системах на базе Linux Mint/Ubuntu/Debian/MX, например, используйте:
sudo apt install winetricks
На Manjaro он должен быть включен, но если это не так, перейдите в “Система -> Добавить/Удалить ПО” и найдите “wine”. Вы получите список пакетов. Убедитесь, что установлены как “wine”, так и “winetricks”.
Если вы используете другую дистрибуцию, вы можете установить winetricks с помощью этих универсальных команд:
cd "${HOME}/Downloads" wget "https://raw.githubusercontent.com/Winetricks/winetricks/master/src/winetricks" chmod +x winetricks sudo cp winetricks /usr/local/bin
В дополнение к winetricks, вам понадобится pipx, чтобы запустить protontricks.
Arch Linux/Manjaro:
sudo pacman -S python-pip python-pipx python-setuptools python-virtualenv
Debian/Ubuntu/Mint/MX:
sudo apt install python3-pip python3-setuptools python3-venv pipx
Установка Protontricks
Теперь, когда вы установили все необходимые приложения, пришло время установить саму утилиту. Для этого убедитесь, что вы начинаете с чистого нового терминала, а не используете тот, который использовали для установки всего остального.
Все, что вам нужно сделать сейчас, это ввести:
pipx install protontricks
Вот и все! Теперь пришло время понять, насколько мощным может быть этот маленький инструмент и почему стоило пройти через все эти трудности.
Использование Protontricks для установки игр, которым не хватает .NET сред выполнения
Protontricks специально разработан для моментов, когда вы пытаетесь запустить игру, и она выдает ошибку, сообщающую вам, что определенная среда выполнения не установлена. Обычно это какая-то версия .NET Framework. В любом случае, вы должны запустить игру хотя бы один раз, со всеми ошибками, прежде чем protontricks сможет проявить свою магию.
Сначала вам нужно выяснить, что именно не хватает игре. При попытке запустить ее обратите внимание на то, какая версия .NET вызывает жалобы.
После этого вам нужно будет найти ID игры в Steam. Самый простой способ сделать это — ввести следующее в ваш терминал:
protontricks -s[название вашей игры]
Поиск не чувствителен к регистру и примет частичные названия. Пример как поиска с несовпадающими регистрами, так и частичного названия можно увидеть на изображении ниже.

После того, как вы нашли ID и определили версию .NET, которая требуется, вам нужно будет ввести команду для установки “dotnet” с номером версии, который вы нашли, без каких-либо точек или пробелов. Вот пример такой команды, которая сработает с Elite Dangerous:
protontricks 35920 dotnet472
После этого protontricks создаст каталог совместимости для игры в соответствующей папке Steam и попытается установить нужную версию .NET Framework. Он будет жаловаться и выдавать много страшных ошибок о необходимости сделать это с 64-битным префиксом WINE, но вы можете смело игнорировать их.
Исправление других проблем
Существует множество игр, которые все еще могут не работать после этого небольшого “магического” исправления. Игра, которую вы пытаетесь запустить, может даже не нуждаться в среде выполнения .NET.

Для особых случаев я рекомендую посетить ProtonDB и поискать вашу игру там. Пользователи часто вносят свои собственные исправления, связанные с protontricks или командами запуска, которые вы можете ввести в свойства вашей игры в библиотеке Steam. Это не всегда случай “введите эту команду и вуаля!”, но вам может повезти, и вы найдете что-то, что потребует нескольких минут настройки, используя команды protontricks или исследуя несколько файлов.
Некоторые из предложений могут быть запутанными и могут не работать на вашей конкретной системе, но если вы настаиваете на том, чтобы запустить конкретную игру на Linux и готовы потратить несколько часов на это, это лучший репозиторий информации для людей, которым не повезло с обычными методами.
Просто имейте в виду, что даже если вы заставите свою игру работать, ее производительность может быть крайне низкой по сравнению с Windows. По какой-то причине довольно много игр хорошо работают в одиночной игре, а затем полностью проваливаются, как только вы пытаетесь использовать какую-либо многопользовательскую функцию.
Хотя это не идеально, игры на Linux становятся менее раздражающим процессом, и разрабатывается все больше инструментов, чтобы сделать это еще проще. Protontricks, вероятно, один из самых простых, но элегантных способов быстро устранить рутинную работу, с которой вы иначе столкнулись бы только с winetricks.
Есть ли у вас свои собственные инструменты, которые помогли вам запустить игры на Linux? Дайте нам знать, если вы хотите, чтобы мы рассмотрели один из них в комментариях!