Как запустить стороннюю игру в 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.


10 ноя. 2018 в 0:25 Полезные советы по запуску игр через SteamPlay (proton)

По умолчанию SteamPlay включен для очень небольшого количества игр, с которыми он должен работать практически идеально. Вы можете включить SteamPlay для всех игр. Очень много игр работает отлично с помощью SteamPlay, но Valve ещё не включила их в белый список. Часть игр можно запустить с помощью некоторых простых или сложных действий, специфичных для каждой игры (см. ниже).
Итак для включения SteamPlay зайдите в меню Steam - Настройки - Steamplay
и установите галку напротив "Enable steam play for all titles". Также вы здесь можете выбрать для использования другую версию библиотеки совместимости (proton).

protontricks - это скрипт, помогающий тонко настроить windows окружение для нужной игры. В MagOS-Linux protontricks и winetricks уже установлены по умолчанию. Если у вас другой дистрибутив, вы можете установить скрипты следующими командами

Для того, чтобы использовать скрипт, вам необходимо знать номер игры (это будет первый и обязательный параметр для скрипта). Для того, чтобы легко видеть номер игры установите в настройках клиента стима отображение адресной строки (Стим-Настройки-Интерфейс). Теперь, чтобы узнать номер, вам достаточно щёлкнуть в библиотеке на ссылку сообщества или страницы магазина, и номер игры будет виден в адресной строке. К примеру, для Неголодайки адрес будет 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-атак. Лучше один раз попробовать.

Читайте также: