Компания Valve представила проект Proton для запуска Windows-игр в Linux
Компания Valve представила проект Proton, в рамках которого на базе Wine подготовлено решение для запуска в Linux сборок игровых приложений, созданных для Windows. Цель проекта — обеспечить возможность запуска под Linux всех Windows-игр из каталога Steam. На данный момент объявлено о 100% поддержке 26 игр. Наработки проекта опубликованы под лицензией BSD (работа велась в тесном сотрудничестве с Wine и многие изменения уже перенесены в оригинальный Wine и сопутствующие проекты, такие как DXVK и vk3d).
В 2010 году компания Valve объявила о выпуске сервиса Steam Play, позволяющего при помощи единственного платежа получить доступ к играм для любой из трёх ОС: Windows, macOS и Linux. С тех пор более 3000 игр в каталоге Steam обзавелись версиями для Linux, и поддержка новых игр не прекращается и по сей день. На этом компания не остановилась, и два года назад началась работа по улучшению качества и производительности решений по запуску непортированных Windows-игр в Steam.
Большая часть наработок попала в Wine и другие проекты по обеспечению совместимости. Кампания так же занималась интегрированием этих решений в клиенте Steam. Результатом этой работы стала новая бета-версия Steam Play, которая включает модифицированную версию Wine под названием Proton, оптимизированную для запуска игр, собранных для Windows, без их модификации.
Возможности, которые предоставляет Proton, включают:
- Запуск Windows-игр в Linux-клиенте Steam напрямую, включая полноценную поддержку Steamworks и OpenVR;
- Реализации DirectX 11 (на базе DXVK) и 12 (на базе vk3d), работающие через трансляцию вызовов DirectX в API Vulkan, что позволяет снизить негативное влияние на производительность и улучшить совместимость с играми;
- Улучшенная поддержка полноэкранного режима: игры, которые не поддерживают родное разрешение, будут автоматически растянуты на весь экран;
- Улучшена поддержка игровых контроллеров: игры теперь должны работать со всеми устройствами, которые знает Steam;
- Значительно увеличена производительность многопоточных игр по сравнению с оригинальным Wine (задействован набор патчей esync для улучшения поддержки многопоточных приложений в Wine).
Для корректной работы Proton требуется установка свежих видеодрайверов NVIDIA 396.51 или драйверов Intel/AMD из состава Mesa 18.2.0, а также необходимо увеличение лимита на число открытых файловых дескрипторов. Для Ubuntu 18.04 новые версии драйвера NVIDIA и Mesa можно установить из PPA-репозиториев (NVIDIA, Mesa). Для запуска Proton достаточно установить последний бета-выпуск Steam Client для Linux.
Поддерживаемые игры:
По умолчанию Steam Client позволяет запускать через Proton только вышеперечисленные игры, для снятия данного ограничения и запуска любых Windows-игр требуется в настройках активировать опцию «Enable Steam Play for all titles».
>>> Подробности