Как запустить стороннюю игру в steam linux
Обновлено: 04.07.2024
Часть пользователей удерживает от перехода на Linux один неприятный факт: в этой ОС мало игр. Конечно, ситуация стала выправляться, когда Valve портировала Steam, но всё равно далека от идеала.
Многие разработчики создают нативные версии своих игр для Linux, но в основном этим занимаются маленькие инди-студии. С AAA-тайтлами всё обстоит куда печальнее.
К счастью, Valve заботится о пользователях Linux. Недавно из стадии бета-теста вышла новая фишка Steam под названием Steam Play, которая позволяет запускать игры Windows на Linux. Испробуем её в деле.
Установка Steam
Установите Steam Installer. В большинстве популярных дистрибутивов, например Ubuntu или Mint, это можно сделать через «Магазин приложений» или через «Менеджер приложений» в Manjaro. Также вы можете скачать и установить Steam через DEB-файл с официальной страницы.
Наконец, если вы крутой линуксоид и предпочитаете использовать командную строку, просто наберите в терминале следующую команду:
sudo apt install steam-installer
После установки откройте Steam через главное меню и подождите, пока он скачает все необходимые обновления.
Steam предложит войти в ваш аккаунт. Сделайте это или создайте новый, если у вас его ещё нет.
Теперь можно покупать и загружать игры из Steam для Linux точно так же, как это делается в Windows. В принципе, запуск тайтлов с нативной поддержкой Linux доступен безо всяких дополнительных настроек. Посмотреть список таких игр можно в магазине. Те, что помечены значком SteamOS, прекрасно идут и на Linux (что логично, так как SteamOS основана на Debian).
Но вам ведь этого мало, не так ли? Сейчас мы активируем опцию, которая позволит играть на Linux в Windows-тайтлы.
Включение Steam Play
Steam Play включает в себя Proton. Это изменённая Valve версия Wine — приложения, которое может запускать программы Windows в среде Linux без эмуляторов и виртуальных машин.
Откройте настройки вашего клиента Steam. Для этого выберите Steam → «Настройки» на панели меню сверху.
Отыщите раздел настроек Steam Play (он последний в списке опций). Включите Enable Steam Play for supported titles. Эта опция позволит вам играть в Windows-игры, официально одобренные Valve к запуску на Linux. Среди них Doom, Final Fantasy VI, Mount & Blade: With Fire & Sword, Payday: The Heist и так далее. Посмотреть полный перечень можно в тематическом сообществе. Негусто, но это только начало. Список постепенно растёт, а кроме того, у Steam Play имеется ещё одна интересная опция.
Включите следующую настройку Enable Steam Play for all titles, и Steam будет пытаться запустить в Linux все Windows-игры из вашей библиотеки, даже если они официально не поддерживаются Steam Play.
После сохранения настроек клиент Steam предложит перезапуститься. Подтвердите действие.
Теперь вы сможете открывать все видеоигры для Windows в Linux. Учтите, что эта функция находится в процессе разработки. Некоторые тайтлы могут функционировать некорректно или демонстрировать низкую производительность.
На сайте ProtonDB собрана статистика Windows-игр, запускаемых на Linux. Каждая имеет свой статус: «Бронза», «Серебро», «Золото» и «Платина» — в зависимости от того, насколько хорошо она работает в Linux.
Пользователи сообщают, что без проблем играли на Linux в «Ведьмака 3», Dark Souls 3, Skyrim, Tekken 7, Phantom Pain, Cuphead, Doom и Wolfenstein. Попробуйте поискать в базе ProtonDB вашу любимую игру и посмотреть, хорошо ли она работала у других.
Единственное, что огорчает: пока что Valve не планирует внедрять аналогичные возможности в Steam для macOS.
По умолчанию SteamPlay включен для очень небольшого количества игр, с которыми он должен работать практически идеально. Вы можете включить SteamPlay для всех игр. Очень много игр работает отлично с помощью SteamPlay, но Valve ещё не включила их в белый список. Часть игр можно запустить с помощью некоторых простых или сложных действий, специфичных для каждой игры (см. ниже).
Итак для включения SteamPlay зайдите в меню Steam - Настройки - Steamplay
и установите галку напротив "Enable steam play for all titles". Также вы здесь можете выбрать для использования другую версию библиотеки совместимости (proton).
Для того, чтобы использовать скрипт, вам необходимо знать номер игры (это будет первый и обязательный параметр для скрипта). Для того, чтобы легко видеть номер игры установите в настройках клиента стима отображение адресной строки (Стим-Настройки-Интерфейс). Теперь, чтобы узнать номер, вам достаточно щёлкнуть в библиотеке на ссылку сообщества или страницы магазина, и номер игры будет виден в адресной строке. К примеру, для Неголодайки адрес будет store.steampowered.сom/app/219740/Dont_Starve/ и номер соответственно 219740
Полный перечень команд можно посмотреть так:
Можно даже запустить в графическом режиме. Но в этом режиме есть свои алогизмы/трудности перевода. Чтобы войти в самое полезное меню, где есть winecfg, установка библиотек и настройки вам нужно выбрать пункт "Выберите путь для wine по умолчанию"
protontricks 408920 vd=1680x1050 windowmanagerdecorated=n windowmanagermanaged=n
Вместо 1680x1050 используйте своё разрешение экрана.
В библиотеке на игре щёлкаем правой кнопкой - Свойства - Установить параметры запуска и пишем тудаПосле запуска игры в вашей домашней папке будет находится журнал загрузки с отладочным выводом вида steam-4570.log
32 битное окружение, как правило, нужно для установки dotnet* библиотек, без которого некоторые игры не хотят работать. Вы можете один раз изготовить себе префикс, сохранить его и потом использовать для разных игр. (источник)
Для начала нужно будет установить из под root 32-битную wine (Команды для MagOS-Linux):
Включаем 32-битные источники и обновляем их
Теперь создадим новый префикс На запрос установки модулей лучше их установить, но можно и нажать отмену. После появления окошка winecfg нажмите ОК
/.local/share/Steam/steamapps/compatdata $ LC_ALL=C WINEPREFIX=$PWD/pfx WINEARCH=win32 winecfg
Устанавливаем дотнет нужной версии (или другие компоненты), соглашаемся с лицензией, не стучим об этом микрософту. В консоли будет много вывода, в том числе некритичных ошибок, не пугайтесь.
$ LC_ALL=C WINEPREFIX=$PWD/pfx WINEARCH=win32 winetricks dotnet20 dotnet40
Немного магии, чтобы скрестить нашего голема с протоном.
Копируем папку стима из любого уже созданного 64-битного префикса
$ cp -pr "4570/pfx/drive_c/Program Files (x86)/Steam/" "pfx/drive_c/Program Files" wine нам создала пользователя с таким же именем как и в линуксе, создадим папки стандартному для протона пользователю steamuser (а можно просто перенести папку профиля из другого префикса)
Теперь, чтобы запустить некую игру 4570 под нашим префиксом меняем папку игры:
На мой взгляд, именно Steam и Lutris предлагают максимально современные и легкие решения для запуска игр. В качестве примера, поиграем в World of Tanks и World of Warships на Ubuntu 19.04.
Еще недавно, запускать Windows игры в Линукс было тем ещё квестом, затмевающим интерес к игре из-за тяжелого и не всегда удачного процесса установки игры.
С появлением DXVK (библиотеки основанной на Vulkan, позволяющей транслировать 3D приложения (игры) Direct3D 10/11), и как следствие Steam Play (Proton) – установка многих игр в Линукс стала почти такой же легкой как и в Windows.
Содержание
Запуск Windows игр в Linux с помощью Lutris
Lutris – сервис с игровым приложением, предоставляющий автоматизированные, настроенные скрипты для установки игр.
Интеграция с такими игровыми магазинами, как GOG и Steam, позволяет импортировать существующую библиотеку игр, а поддерживаемые сообществом установочные сценарии обеспечивают полностью автоматизированную настройку.
Установка Lutris в дистрибутивы на основе Ubuntu
Для корректной работы Lutris, разработчики рекомендуют предварительно установить Wine (версию Staging). Установить Wine в Ubuntu можно по инструкции официального сайта: Installing WineHQ packages
Для Ubuntu подобных дистрибутивов добавляем репозиторий Lutris:
Для лучшей производительности необходимо установить последнюю версию видеодрайвера и библиотеки Vulkan.
Пользователям видеокарты Nvidia нужно добавить репозиторий с новыми драйверами и затем удобным способом установить последнюю версию драйвара:
Выбрать драйвер можно с помощью встроенной утилиты Программы и обновления – Дополнительные драйверы.
Если видеокарта поддерживает Vulkan API, то устанавливаем необходимые библиотеки (скорее всего они уже установились при установке видеодрайвера. Проверить, если видеокарта поддерживает Vulkan можно по ссылке: Vulkan API):
Пользователям видеокарт AMD / Intel (Ubuntu 18.04 и выше):
Установка игр в Linux с помощью Lutris
Переходим на официальный сайт программы в раздел Games и выбираем нужную нам игру.
Найдя игру, выбираем (если доступно) редакцию скрипта с нужным нам сервером (например для World of Tanks это будет RU DXVK version). Нажимаем на Install. В качестве примера будет показана установка игры World of Tanks в Ubuntu 19.04.
Ссылка откроется в установленном приложении Lutris, нам предложат установить игру. Нажимаем на Install.
Дальше можно выбрать папку, в которую будет установлена игра. Продолжаем установку. Будет установлена нужная для данной игры версия Wine, соглашаемся на все установки. По окончанию установки онлайн установщика будет предложено создать ярлыки и запустить игру.
Затем откроется полноэкранное окно, в котором будет осуществляться установка игры. Не пугаемся, с помощью клавиш ALT+TAB можно вернуться в рабочее окно.
Запустить установленную игру можно как из программы Lutris, так и из списка установленных приложений.
Аналогично установил игру World of Warships в Ubuntu 19.04.
Именно в Ubuntu столкнулся с проблемой, при которой курсор мыши в игре не позволял делать обороты около 180 градусов. Ранее устанавливал игру в окружениях KDE и Cinnamon (Linux Mint), такой проблемы там нет. Если курсор вывести нажатием на CTRL, то можно захватить другие обороты мыши. Решение: переключение отображения игры в оконный режим.
Устанавливаем Windows игры в Linux с помощью Steam (Proton)
Для совместимости игр с операционными системами GNU/Linux, компания Valve разрабатывает проект Proton (Steam Play), который в свою очередь состоит из различных наработок, таких как Wine, DXVK, esync. Подробнее почитать о Steam Proton можно в нашей статье: Steam Play улучшает поддержку Windows-игр для Linux.
Информация о качестве поддержки Windows игр в Steam Proton доступна по ссылке: ProtonDB.
Для включения опции Proton, нам необходимо открыть Steam – затем Настройки – Steam Play – и включить доступные опции.
Версию Steam Proton стоит выбирать самую актуальную, т.е с большим номером.
Дальнейшая установка игр ничем не отличается от установки в системе Windows. Steam Play автоматически произведет нужные настройки для установки игры.
Сравнение производительности видеокарты Nvidia Geforce 1060 в Ubuntu 19.04 и Windows 10
Сравнение проводилось на ноутбуке с видеокартой Nvidia Geforce 1060 (6 ГБ) и процессором Intel® Core™ i7 8750H. Операционные системы Windows 10 1903 (build 18362.10019), версия видеодрайвера NVIDIA GeForce Game Ready 436.15 и система Ubuntu 19.04 с версией видеодрайвера 430.40 (самый актуальный в репозитории ppa:graphics-drivers).
World of Tanks
Танковые сражения в World of Tanks в Windows 10 показывали от 115-130 fps до 150-165 fps, в зависимости от игровой сцены.
В Ubuntu 19.04 от 100 до 120 fps. Настройки Высокие, sd клиент.
World of Warships
В морских сражениях World of Warships в Windows 10 производительность держалась от 65 до 75 fps.
В Ubuntu 19.04 игра World of Warships показала производительность от 60 до 70 fps, но периодически сильно проседала до 25 fps. Настройки высокие, hight клиент.
Обе игры в Ubuntu были установлены с помощью Lutris.
War Thunder
Также, с интересом проверил производительность видеодрайвера в игре War Thunder. В Windows 10 игра была установлена с помощью нативного клиента, а в Ubuntu 19.04 с помощью Steam (нативная версия).
В морских сражениях в War Thunder в Windows 10 отображался fps от 65 до 85, в воздушных боях около 100 fps.
В Ubuntu 19.04 варьировался fps от 35-55 в морских сражениях и 75 fps в воздушных.
Версия из Lutris, использующая DXVK, в Ubuntu 19.04 показала fps от 50 до 75 в морских сражениях и 60 fps в воздушных.
Знаю, что разработчики War Thunder тестируют версию с использованием библиотек Vulkan. Не тестировал её, но уверен, что производительность будет значительно выше, чем у нативной версии, использующей OpenGL.
Euro Truck Simulator 2
В симуляторе Euro Truck Simulator 2 производительность в Windows 10 отображалась от 85 до 120 fps.
В Ubuntu 19.04 производительность игры ETS 2 варьировалась от 55 fps (в редких случаях) до 110 fps. В обоих случаях были использованы настройки Ультра.
Как видим, производительность игр в Linux уступает Windows 10, но при использовании библиотек DXVK и Vulkan разница гораздо меньше, чем при использовании OpenGL. В любом случае это прорыв для пользователей Linux: доступных игр стало гораздо больше, а их установка стала максимально простой.
На мой взгляд, осталось решить проблему работы античитов. Именно из-за проблемы с работой некоторых античитов, в Linux не доступна еще масса игр.
Некоторые популярные игры, которые пока не внесены официально в белый список Steam для Linux, но получили много положительных отзывов в ProtonDB, то есть реально запускаются и хорошо работают
10 декабря 2020 года состоялся релиз долгожданной игры Cyberpunk 2077, а за день до этого вышла новая версия Proton 5.13-4 с поддержкой Cyberpunk 2077. То есть пользователи Linux смогли играть в Cyberpunk 2077 с первого же дня. Это наглядный пример, насколько великолепная ситуация сейчас с поддержкой игр на Linux-десктопах.
Если вам говорят, что Linux — отличная платформа для игр, то это уже не преувеличение! За такое положение вещей мы должны благодарить Proton.
Proton — это относительно новый инструмент, который выпустила компания Valve Software (официальный анонс от 22.08.2018 года). Он интегрирован со Steam Play, а его задача — максимально упростить запуск Windows-игр под Linux.
Хотя Proton интегрирован со Steam Play, но его можно собрать из исходников и использовать отдельно.
Под капотом Proton работают другие популярные инструменты, такие как кастомная версия Wine (бóльшую часть сделанных Valve модификаций приняли в основную ветку) и DXVK, которые в противном случае пришлось бы устанавливать и поддерживать самостоятельно. Наличие такого интегрированного решения значительно облегчает пользователям переход на Linux без необходимости изучать базовые системы и не теряя доступ к своей библиотеке игр.
Proton пока что находится на ранней стадии развития, поэтому поддержка неидеальна, но постепенно улучшается. Прогресс реально идёт. Например, Fallout 4 раньше работал с огромным количеством глюков, куча графики просто не подгружалась, а теперь уже можно играть более-менее нормально.
Опубликованный исходный код позволяет опытным пользователям изменять и настраивать Proton, например, использовать с конкретной игрой другую версию Wine. В реальности даже Steam поставляется с несколькими версиями Proton, которые запускаются с разными играми.
Steam также поддерживает работу с локальными установками Proton, поэтому никто не мешает вручную инсталлировать его на своей машине. Для этого нужно создать новую директорию в
/.steam/root/compatibilitytools.d/ и поместить туда содержимое dist , полученное после сборки из исходников. Затем команда make install установит Proton внутри директории Steam для текущего пользователя. Корректная установка выглядит так:
Остаётся перезагрузить Steam — и можно пользоваться! Если пройти в настройки Steam Play, то там в выпадающем списке инструментов для совместимости появится proton-localbuild .
В базе данных ProtonDB накапливаются отчёты от геймеров, которые тестируют игры с Proton на Linux. В итоге выводится общая оценка, насколько хорошо работают игры.
Оценка игре выставляется по пятибалльной шкале:
- Платина: отлично работает из коробки
- Золото: отлично работает после твиков
- Серебро: работает с незначительными проблемами, но в целом запускается
- Бронза: работает, но часто вылетает или имеет проблемы, мешающие играть комфортно
- Неисправна: либо не запускается, либо принципиально неиграбельна
- Counter-Strike: Global Offensive — золото
- Dota 2 — серебро
- PLAYERUNKNOWN'S BATTLEGROUNDS — неисправна
- Grand Theft Auto V — золото
- Team Fortress 2 — бронза
- Tom Clancy's Rainbow Six Siege — неисправна
- Rust — бронза
- Rocket League — золото
- Apex Legends — бронза
- Football Manager 2021 — серебро
В базе ProtonDB для каждой игры опубликованы отзывы реальных тестеров. Указана подробная конфигурация его оборудования, версия Proton и детальный отзыв по пунктам, с указанием стабильности и производительности, звука, графики и других параметров. Здесь же геймеры могут найти советы и твики, как заставить игру нормально работать в той или иной конфигурации.
Steam Play официально поддерживает ограниченный список игр, которые официально совместимы с Linux через систему Proton — так называемый «белый список». Список не такой большой, но постоянно растёт. Судя по отчётам ProtonDB, значительное количество игр, не включённых в белый список, включая многие популярные тайтлы, тоже отлично работают под Linux.
Под Linux сегодня доступны Cyberpunk 2077, Red Dead Redemption 2, Death Stranding и многие другие игры. Вообще, сложно найти игру класса AAA, которая не запускается под Linux.
Под Linux есть даже шлемы виртуальной реальности. По крайней мере, Valve Index протестирован и гарантированно работает. Хотя говорят, что это единственный шлем с официальной поддержкой Linux. Однако другие шлемы типа HTC Vive или Vive Pro могут запускать игры под Linux через кроссплатформенный движок SteamVR.
Valve Index с полной поддержкой Linux
Нативно под Linux работает лишь несколько VR-игр, хотя в последнее время появляется всё больше. Но это вовсе не мешает. Дело в том, что среди Proton-совместимых тайтлов VR-игра скорее запустится под Linux, чем не-VR игра. И этих VR-игр десятки, а может и сотни.
Skyrim VR с модами. Источник: Patola
Вот Linux-совместимость самых популярных VR-игр, по рейтингам пользователей ProtonDB:
После Half-Life: Alyx начали появляться и другие сложные игры с глубокой физикой и мощной интерактивностью, такие как Karnage Chronicles (июль 2020) и The Wizard – Dark Times (июнь 2020).
«Физический рюкзак»: новая фишка, которую поддерживает всё больше VR-игр. Вы заводите руку за спину и «достаёте» рюкзак, в котором хранится инвентарь. Источник: Metro: Exodus
Дом SteamVR в виртуальной реальности
Справедливости ради, у SteamVR есть ряд известных багов под Linux. Например, не работает наголовная камера шлема Index и не срабатывает комбинация клавиш для скриншотов. Если бы SteamVR выпускался полностью с открытым исходным кодом, такие баги исправили моментально. К сожалению, остаётся только терпеливо ждать, когда их исправит Valve.
Для решения некоторых проблем разработаны утилиты SteamVR Utils — набор скриптов, улучшающий функциональность SteamVR на Linux, то есть исправляющий некорректное поведение в ряде ситуаций. Вот что приходится делать сообществу, когда разработчик долгое время не может запатчить баги.
Final Soccer VR
Проект SteamVR официально стартовал в 2015 году, когда Valve создала программные интерфейсы OpenVR API для поддержки разнообразного VR-оборудования. Хотя основная часть SDK открыта, но сами драйверы остаются проприетарными. Это даже вынудило сообщество запустить альтернативный открытый проект Open Source Virtual Reality (OSVR). К сожалению, на данный момент его разработка приостановлена и даже сайт ушёл в офлайн. Зато вполне здравствует OpenXR (с реализацией Monado) — полностью открытая и свободная альтернатива проприетарным API от Valve. Последняя бета-версия SteamVR даже поддерживает OpenXR, наряду с нативными интерфейсами OpenVR. На самом деле опенсорсные разработки в мире VR/AR идут полным ходом. Например, можно упомянуть библиотеку XRDesktop, которая реализует в виртуальной реальности традиционные десктопные интерфейсы Linux. Поддерживается интеграция с существующими оконными менеджерами.
XRDesktop: десктопный интерфейс Linux в виртуальной реальности. Источник: Collabora
А также мультиплатформенную опенсорсную утилиту OVR Advanced Settings, которая бесплатно доступна в Steam. Очень полезный инструмент для детальной настройки VR-конфигурации.
Подводя итог. На практике под Linux можно использовать практически любое VR-устройство. Для этого нужно пойти в Steam и установить программу SteamVR.
Казалось бы, игры — что-то несерьёзное, не имеющее большого значения. Но это не так. На самом деле удобство и комфорт работы на настольном компьютере под Linux во многом зависит от того, какие игры здесь доступны и насколько комфортно в них играть. Поэтому так важно, чтобы под Linux выходили драйверы для последних видеокарт и они хорошо работали. То же самое касается самих игр, особенно популярных.
Игры имеют огромное, если не определяющее значение для популярности настольных дистрибутивов Linux. Игры вообще имеют кардинальное значение, в принципе. Давайте немножко пофантазируем. Представьте, что какая-то мегапопулярная игра выйдет эксклюзивно под Linux. Как думаете, что произойдёт на мировом рынке операционных систем? Насколько изменится соотношение Windows и Linux? Да многие подростки просто ради этой игры снесут Windows к чертям и поставят Linux, почему нет, если в свободной ОС поддерживаются все те же возможности, что и в Windows. Этот мысленный эксперимент демонстрирует, насколько важны игры для принятия новой операционной системы.
Вот почему система Proton для запуска игр под Linux — настолько важный проект. Будем надеяться, что Valve не забросит его.
Если сравнить количество доступных игр под Linux хотя бы десятилетие назад и сегодня, то это просто небо и земля, абсолютно иной мир. Не говоря уже о виртуальной реальности, которая отлично поддерживается в Proton. Никто даже мечтать не мог о таком невероятном будущем.
На правах рекламы
Серверы для игровых серверов и любых других задач — это про наши эпичные! Все серверы защищены от DDoS-атак. Лучше один раз попробовать.
Читайте также: