Как включить proton в steam
Перейти к содержимому

Как включить proton в steam

  • автор:

Как запустить игры в Steam, не работающие в стандартном Proton

Несмотря на то, что в Proton уже работает множество игр Steam, некоторые в нем могут на данный момент не запускаться вообще или запускаться с различными глюками. Одним из вариантов решения проблемы может стать использование модифицированных версий Proton, созданных энтузиастами. Самым распространенным из них является proton-ge-custom от GloriousEggroll, именно его мы и рассмотрим.

Для начала перейдем на страницу proton-ge-custom на Github, затем в раздел «Releases» и скачаем последнюю версию (файл с расширением TAR.GZ). Затем перейдем в папку с установленным Steam (по умолчанию это /home//.steam), оттуда в папку steam и там создадим новую папку compatibilitytools.d. В нее распакуем скачанный архив.

Затем запустим Steam и в списке версий Proton (либо в общих настройках Steam, либо в настройках требуемой игры) выберем GE-Proton*. После этого можно запускать игру.

Запускаем Windows игры в Linux

На мой взгляд, именно 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:

sudo add-apt-repository ppa:lutris-team/lutris
sudo apt update
sudo apt install lutris

Для лучшей производительности необходимо установить последнюю версию видеодрайвера и библиотеки Vulkan.

Пользователям видеокарты Nvidia нужно добавить репозиторий с новыми драйверами и затем удобным способом установить последнюю версию драйвара:

sudo dpkg --add-architecture i386 //поддержка 32 битной архитектуры (в том случае, если раньше ее не включили)
sudo add-apt-repository ppa:graphics-drivers/ppa
sudo apt update

Выбрать драйвер можно с помощью встроенной утилиты Программы и обновления – Дополнительные драйверы.

Если видеокарта поддерживает Vulkan API, то устанавливаем необходимые библиотеки (скорее всего они уже установились при установке видеодрайвера. Проверить, если видеокарта поддерживает Vulkan можно по ссылке: Vulkan API):

sudo apt install libvulkan1 libvulkan1:i386

Пользователям видеокарт AMD / Intel (Ubuntu 18.04 и выше):

sudo add-apt-repository ppa:kisak/kisak-mesa
sudo dpkg --add-architecture i386
sudo apt update && sudo apt upgrade
sudo apt install libgl1-mesa-dri:i386
sudo apt install mesa-vulkan-drivers mesa-vulkan-drivers:i386
Установка игр в 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 (Русский)

Состояние перевода: На этой странице представлен перевод статьи Steam. Дата последней синхронизации: 8 ноября 2022. Вы можете помочь синхронизировать перевод, если в английской версии произошли изменения.

  • Steam/Решение проблем
  • Steam/Game-specific troubleshooting
  • Gaming (Русский)
  • Gamepad (Русский)
  • Список игр

Steam — это популярная платформа для распространения игр, созданная компанией Valve.

Примечание: Steam для Linux официально поддерживает только Ubuntu LTS.[1] Таким образом, не стоит обращаться в Valve за поддержкой при проблемах со Steam на Arch Linux.

Установка

Включите репозиторий multilib и установите пакет steam .

Для запуска Steam на Arch Linux должны быть выполнены следующие требования:

  • Установлена 32-битная версия драйвера OpenGL.
  • Сгенерирована локаль en_US.UTF-8, предотвращающая ошибку недопустимого указателя.
  • Графический интерфейс активно использует шрифт Arial; смотрите статью Шрифты Microsoft. В качестве альтернативы можно использовать ttf-liberation или шрифты, которые предоставляет Steam.
  • Установите wqy-zenhei , чтобы добавить поддержку азиатских языков.
  • Если для управления сетью используется systemd-networkd, установите lib32-systemd , чтобы Steam мог подключаться к своим серверам.
  • Если для DNS используется systemd-resolved, выполните эти шаги для настройки /etc/resolv.conf , чтобы Steam мог выполнять разрешение доменных имён.

SteamCMD

Альтернативная установка Flatpak

Примечание: Установка Steam из Flathub/Flatpak решит многие проблемы клиента, но в долгосрочной перспективе могут потребоваться альтернативные, менее документированные формы устранения неполадок.

Steam также может быть установлен с помощью Flatpak как com.valvesoftware.Steam из Flathub. Самый простой способ установить его для текущего пользователя — использовать репозиторий Flathub:

$ flatpak --user remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo $ flatpak --user install flathub com.valvesoftware.Steam $ flatpak run com.valvesoftware.Steam

В настоящее время приложение Flatpak не поддерживает темы. Также в настоящее время нельзя запускать игры через optirun / primusrun , подробнее смотрите Issue#869.

Steam, установленный через Flatpak, не может получить доступ к вашему домашнему каталогу, и переопределение этого приведёт к тому, что Steam не запустится, так как это небезопасно. Однако вы можете свободно добавлять каталоги, находящиеся за пределами домашнего каталога. Если вы хотите добавить внешнюю библиотеку, выполните следующую команду для её добавления:

$ flatpak override --user com.valvesoftware.Steam --filesystem=/путь/к/каталогу 

Запуск Steam с помощью Flatpak может предупредить вас об установке пакета steam-devices . В настоящее время этот пакет не существует, но вместо него можно установить game-devices-udev AUR ; смотрите Gamepad#Device permissions.

Проблемы с азиатскими шрифтами в Flatpak

Если у вас возникли проблемы с отображением азиатских шрифтов в игре, это связано с тем, что org.freedesktop.Platform не содержит их. Сначала попробуйте смонтировать локальный шрифт:

$ flatpak run --filesystem=~/.local/share/fonts --filesystem=~/.config/fontconfig com.valvesoftware.Steam

Если это не сработает, попробуйте этот хак: сделайте шрифты доступными, напрямую скопировав файлы шрифтов в каталоги org.freedesktop.Platform, например:

# замените ? на вашу версию и хэш /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/?/?/files/etc/fonts/conf.avail /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/?/?/files/etc/fonts/conf.d /var/lib/flatpak/runtime/org.freedesktop.Platform/x86_64/?/?/files/share/fonts

Структура каталогов

По умолчанию Steam устанавливается в каталог ~/.local/share/Steam . Если Steam не может найти его, он предложит вам переустановить его или выбрать новое место. В этой статье используется символическая ссылка ~/.steam/root для обозначения места установки.

Папки библиотеки

Каждое приложение Steam имеет уникальный AppID, который можно найти, посмотрев адрес страницы приложения в магазине Steam или посетив SteamDB.

Steam устанавливает игры в каталог БИБЛИОТЕКА/steamapps/common/ . БИБЛИОТЕКА обычно располагается в ~/.steam/root , но можно добавить дополнительные папки (Steam > Настройки > Загрузки > Папки библиотеки Steam).

Чтобы Steam распознал игру, в каталоге БИБЛИОТЕКА/steamapps/ должен быть файл appmanifest_AppId.acf . Файл appmanifest использует формат KeyValues, и его свойство installdir определяет название каталога игры.

Примечание: Чтобы добавить дополнительные диски к установке Steam, сделанной через flathub, пользователь должен сначала дать клиенту Steam разрешение на доступ к точке монтирования дополнительного диска вручную с помощью инструмента вроде flatseal AUR .

Использование

steam [ -options ] [ steam:// URL ]

Steam также принимает Steam URL; смотрите Steam browser procotol.

Параметры запуска

При запуске игры Steam выполняет её команду запуска в оболочке Bash. Для изменения команды Steam предоставляет параметры запуска, которые можно установить для игры, щёлкнув на ней правой кнопкой мыши в библиотеке, выбрав Свойства и открыв вкладку Общие.

По умолчанию Steam просто добавляет прописанные вами параметры к стандартной команде запуска. Чтобы установить переменные окружения или передать команду запуска в качестве аргумента другой команде, используйте подстановку %command% .

Примеры

  • только аргументы: -foo
  • переменные окружения: FOO=bar BAZ=bar %command% -baz
  • совершенно другая команда: othercommand # %command%

Советы и рекомендации

Запуск в свёрнутом виде

Можно сделать так, чтобы при запуске Steam сворачивался в системный трей, а не перехватывал фокус в своё окно. Просто добавьте -silent в список аргументов при запуске. Чтобы Steam всегда запускался свёрнутым при запуске через ярлык, отредактируйте его, как описано в статье Ярлыки приложений#Изменение ярлыков.

Компактный режим

Можно сократить потребление ОЗУ до 5 раз, отключив Web-составляющую (~1100 МБ → 210 МБ). Уменьшение функциональности может компенсировать Big Picture. Для тех, кто использует Steam Community только через браузер, это изменение будет особенно полезно.

Выберите Вид > Компактный режим. Steam сразу переключится в компактный режим и будет использовать его по умолчанию при следующих запусках. Этот режим отображает список игр без использования веб-компонентов, но браузер всё равно инициализируется.

Чтобы браузер совсем не инициализировался, запустите Steam с аргументом -no-browser . Чтобы этот аргумент всегда использовался при запуске через ярлык, отредактируйте его, как описано в статье Ярлыки приложений#Изменение ярлыков.

Примечание: Интерфейс будет более простым и минималистичным, вы можете не увидеть привычных эффектов на вкладке «Друзья». Также вместо групп отображаются сообщества.

Пользовательский интерфейс Steam Deck

Запустите Steam один раз с параметрами запуска -steamdeck -gamepadui . Это позволит загрузить обновление Steam Deck и выполнить шаги по настройке Steam Deck. Последующие запуски требуют только опции -gamepadui .

Пользовательский интерфейс Steam Deck ожидает, что будет запущен NetworkManager. Если он не запущен, вы можете получить ложные ошибки сети.

Патч fsync

Патчи fsync от Valve улучшают производительность многопоточных приложений, запускаемых через Proton или Wine. Эти патчи есть в ванильном ядре, начиная с Linux 5.16, так что никаких дополнительных действий не требуется, кроме использования свежей версии Proton или пропатченной сборки Wine. Более ранние версии ядра с поддержкой fsync доступны одним из следующих способов:

  • Установите ядро linux-zen , которое содержит патчи fsync с релиза 5.2 [2]

Proton Steam-Play

Компания Valve разработала инструмент совместимости для Steam Play на основе Wine и дополнительных компонентов под названием Proton. Он позволяет запускать многие игры Windows (смотрите список совместимости).

Он имеет открытый исходный код и доступен на GitHub. Steam устанавливает свои собственные версии Proton, когда включен Steam Play.

Proton должен быть включен в клиенте Steam: Steam > Настройки > Steam Play. В этом диалоге вы можете включить Steam Play для игр, которые были и не были внесены в белый список Valve.

Чтобы принудительно включить Proton или определённую версию Proton для отдельной игры, щёлкните правой кнопкой мыши на игре, нажмите Свойства > Совместимость > Принудительно использовать определённый инструмент совместимости Steam Play и выберите нужную версию. Это также можно использовать для того, чтобы заставить игры, имеющие порт для Linux, использовать версию для Windows.

Вы также можете установить Proton из AUR с помощью proton AUR или proton-git AUR , но для их работы со Steam требуется дополнительная настройка. Подробности о том, как Steam распознает установки Proton, смотрите на Proton GitHub.

Proton поддерживает интеграцию с Easy Anti Cheat, если разработчик игры активирует её, однако для EAC может потребоваться пропатченная версия библиотеки glibc: если другие пользователи сообщают, что игра работает, а у вас она не работает, попробуйте использовать Flatpak-версию Steam, так как с ней поставляется уже пропатченный glibc.

Steam Input

Если контроллер подключен во время работы Steam, поведение Steam по умолчанию заключается в том, чтобы оставить его в покое и позволить играм использовать его как есть. Доступ к устройствам геймпада evdev и joystick предоставляется ядром, и игры могут использовать их с помощью таких API, как SDL2, как если бы Steam не участвовал в процессе.

Подсистема Steam Input предлагает слой абстракции, который позволяет использовать более продвинутые функции, такие как переназначение кнопок и осей, специфичные для игры профили и выполнение более высокоуровневого сопоставления кнопок на основе игровых действий. Steam Input Configurator (SIC) — это часть системы, которая реализует эту функциональность. Чтобы включить Steam Input для контроллера, перейдите в Steam > Настройки > Контроллер > Основные настройки контроллера. [3] Откроется меню настроек Big Picture, где вы можете включить одну из опций Польз. настройки, соответствующую вашему контроллеру.

Steam Input Configurator

Когда SIC включен для контроллера, появляется несколько различных устройств, связанных с этим контроллером:

  • Виртуальный контроллер Steam, используемый играми, которые используют API ввода Steam. Все переназначения и функции, специфичные для Steam, работают.
    • Не следует путать с Valve Steam Controller, физическим контроллером.

    Поведение SIC зависит от контекста:

    • При запуске игры, которая поддерживает Steam Input API, она использует SIC в родном режиме (native mode). Игра получает «действия», а не сырой ввод.
      • Это работает для игр, запущенных в Proton, которые использовали бы Steam Input в Windows.
      • Хотя теоретически эмулированный контроллер 360 в данном случае не нужен, он всё равно присутствует.
      • Игра может решить обеспечить как поддержку Steam Input, так и традиционные библиотеки API ввода, которые под капотом используют evdev и joystick. Когда игра запускается с помощью Steam и с включенным SIC для контроллера, Steam Input имеет более высокий приоритет.
      • Игра также может поддерживать только Steam Input. Например, в игре Among Us геймпад не будет работать, если у вас не запущен SIC.
      • Это происходит с Linux-играми, использующими evdev или joystick, а также с играми для Windows, запускаемыми через Proton, которые используют DirectInput или XInput.

      Игры оцениваются по тому, насколько полно они поддерживают геймпад. Игра может иметь один из трёх значков в интерфейсе Big Picture: [5]

      • Полностью заполненный значок геймпада, указывающий на то, что игра имеет полную поддержку контроллера. Этого можно добиться, даже если игра не использует Steam Input API; основное внимание уделяется доступности независимо от API.
      • Наполовину заполненный значок геймпада, указывающий на то, что игра имеет частичную поддержку геймпада. Даже если игра использует Steam Input API, есть случаи, как в Team Fortress 2, когда некоторые части игры всё ещё недоступны, что оправдывает эту оценку.
      • Значок клавиатуры, указывающий на то, что игра не имеет встроенной поддержки геймпада.

      В случаях, когда игра не имеет полной поддержки геймпада, SIC пытается заполнить пробелы. Например, в Bloons Tower Defense 5, игре, требующей наведения курсора и нажатия, Steam автоматически активирует профиль Клавиатура (WASD) и мышь, позволяя вам использовать геймпад для перемещения и нажатия.

      Рекомендации по использованию Steam Input

      Подведём итоги, что все это означает для использования:

      • Включение «Польз. настройки» в настройках Big Picture является рекомендуемым для расширенной поддержки геймпада, такой как переназначение по своему вкусу, или автоматические исправления, такие как ремаппинг кнопок в стиле Nintendo или клавиатуры/мыши.
      • Для некоторых игр включение этой опции является обязательным, если они не поддерживают традиционные API геймпада.
      • По умолчанию, если вы включили эту функцию, контроллер не будет работать с играми не из Steam, поскольку контроллер 360 имеет приоритет над оригинальным устройством контроллера, а в профиле Desktop по умолчанию кнопки отключены. Чтобы исправить это, вы можете:
        • Установить профиль рабочего стола на шаблон Геймпад. Это перенаправит ввод в контроллер 360, сделав устройство по умолчанию пригодным для использования в других программах.
        • Заставить другую игру использовать оригинальное устройство, если она это поддерживает. Обратите внимание, что игра не получит никакой пользы от переназначений, настроенных в Steam Input.
        • Полностью отключить функциональность контроллера, чтобы Steam вообще не создавал контроллер 360. Обратите внимание, что тогда игры Steam не получат преимущества от расширенной поддержки геймпада.
        • Закрывать Steam перед запуском игр не из Steam.

        Режим Big Picture без оконного менеджера

        Чтобы запустить Steam в режиме Big Picture из экранного менеджера, вы можете:

        • Установить steamos-compositorAUR
        • Или установить steamos-compositor-plusAUR , который скрывает раздражающее мигание цветов при запуске игр Proton и добавляет исправление для игр, запускающихся в фоновом режиме
        • Вручную добавить запись Steam (но вы потеряете преимущества steam compositor: в основном вы не сможете управлять режимом Big Picture с клавиатуры или геймпада):

        создайте файл /usr/share/xsessions/steam-big-picture.desktop со следующим содержимым:

        /usr/share/xsessions/steam-big-picture.desktop
        [Desktop Entry] Name=Steam Big Picture Mode Comment=Start Steam in Big Picture Mode Exec=/usr/bin/steam -bigpicture TryExec=/usr/bin/steam Icon= Type=Application

        Скины Steam

        Интерфейс Steam может быть настроен с помощью скинов. Скины могут перезаписывать специфические для интерфейса файлы в ~/.steam/root .

        Чтобы установить скин:

        1. Поместите его каталог в ~/.steam/root/skins .
        2. Откройте Steam > Настройки > Интерфейс и выберите его.
        3. Перезапустите Steam.

        Обширный список скинов можно найти в этом сообщении на форумах Steam.

        Примечание: Использование устаревшего скина может привести к визуальным ошибкам.

        Создание скинов

        Почти все стили Steam определены в ~/.steam/root/resource/styles/steam.styles (в файле более 3500 строк). Чтобы скин был распознан, ему необходим собственный resource/styles/steam.styles . Когда обновление Steam изменяет официальный steam.styles , ваш скин может стать устаревшим, что может привести к визуальным ошибкам.

        Смотрите ~/.steam/root/skins/skins_readme.txt , чтобы узнать, как создавать скины.

        Изменение положения уведомлений Steam

        По умолчанию уведомление Steam расположено внизу справа.

        Вы можете изменить положение уведомлений Steam, изменив Notifications.PanelPosition в

        • resource/styles/steam.styles для уведомлений на рабочем столе, и
        • resource/styles/gameoverlay.styles для внутриигровых уведомлений.

        Оба файла перезаписываются Steam при запуске, а steam.styles считывается только при запуске.

        Примечание: Некоторые игры не соблюдают настройки в gameoverlay.styles , например, XCOM: Enemy Unknown.

        Использование скина

        Вы можете создать скин, чтобы изменить положение уведомления по своему вкусу. Например, чтобы изменить положение уведомления на правое верхнее:

        $ cd ~/.steam/root/skins $ mkdir -p Top-Right/resource $ cp -r ~/.steam/root/resource/styles Top-Right/resource $ sed -i '/Notifications.PanelPosition/ s/"[A-Za-z]*"/"TopRight"/' Top-Right/resource/styles/*
        Изменение на лету

        gameoverlay.styles может быть перезаписан во время работы Steam, что позволяет менять положение уведомления для игр по отдельности.

        ~/.steam/notifpos.sh
        sed -i "/Notifications.PanelPosition/ s/\"[A-Za-z]*\"/\"$1\"/" ~/.steam/root/resource/styles/gameoverlay.styles

        Теперь в #Параметры запуска можно прописать что-то вроде:

        ~/.steam/notifpos.sh TopLeft && %command%

        Steam Remote Play

        Примечание: Steam In-Home Streaming стал Steam Remote Play.

        Steam имеет встроенную поддержку удалённой игры.

        Смотрите это руководство сообщества Steam о том, как настроить headless-сервер для стриминга на Linux.

        Совместное использование игр с Windows при использовании Proton

        Если вы используете Proton (Steam Play) для запуска игр, но по каким-то причинам сохраняете установку Windows (например, если у какой-то игры есть проблемы с анти-читом или если вы хотите провести сравнительные тесты с Windows), вы можете захотеть хранить ваши игры в общем разделе вместо того, чтобы держать две копии игры по одной на каждую ОС. Как это настроить, описано в вики проекта на GitHub: https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows

        Чтобы добавить другую папку для библиотеки, нажмите на Steam → Настройки → Загрузки → Папки библиотеки Steam, затем на кнопку ⊕.

        Слои совместимости, отличные от Proton

        Существуют средства совместимости, отличные от Proton/Wine.

        • Luxtorpeda — Запуск игр с использованием нативных Linux-движков.
        • Boxtron — Запуск DOS игр с помощью нативного DOSBox
        • Roberta — Запуск приключенческих игр с помощью нативного ScummVM.

        Вы также можете использовать protonup-qt AUR для управления ими:

        1. Закройте Steam
        2. Установите пакет protonup-qtAUR
        3. Откройте protonup-qt и установите необходимые инструменты
        4. Запустите Steam
        5. В окне свойств игры на вкладке «Совместимость» выберите «Принудительно использовать определённый инструмент совместимости Steam Play» и выберите нужный инструмент.

        Решение проблем

        Смотрите также

        • Gentoo:Steam
        • Большой список игр без DRM на Steam на PCGamingWiki
        • Список игр без DRM в Fandom
        • Linux-игры в магазине Steam
        • Proton Инструмент совместимости для Steam Play на основе Wine и дополнительных компонентов.

        Steam Proton

        Proton (SteamPlay) — слой совместимости для запуска Windows-программ, ориентированный на запуск компьютерных игр. Предлагается в качестве опции-инструмента в клиенте Steam для бесшовного запуска игр из библиотеки пользователя. В качестве составного произведения распространяется под лицензией 3-clause BSD.

        • Является ответвлением Wine, развиваемым компанией Valve. Основные отличия от Wine:
          • В качестве транслятора вызовов Direct3D (DirectX) в Vulkan задействует DXVK и vkd3d-proton.
            • На момент 2024 года требуется видеокарта с аппаратной поддержкой Vulkan 1.3 и актуальные драйвера, поддерживающие новейшие Vulkan-расширения и версии протокола Wayland. На старом оборудовании (видеокарты десятилетней давности и старее) и устаревшей пакетной базе (платформа 9 и старее) работоспособность затруднена или отсутствует.
            • Полная работоспособность достигнута для многих тысяч игр, но всё ещё остаётся небольшое число тех, что работают с некоторыми проблемами или требуют дополнительных манипуляций. Так же есть незначительное количество полностью неработоспособных, большая часть из которых не работает из-за намеренной блокировки запуска анти-читами.

            Первоначальная настройка

            Производится через клиент Steam. Для этого перейти в Steam / Настройки / Совместимость и отметить два пункта:

            • Включить Steam Play для поддерживаемых продуктов.
            • Включить Steam Play для всех других продуктов.

            Altlinux steam proton.png

            Для применения изменений необходимо перезапустить клиент Steam. После перезапуска появится возможность устанавливать Windows-игры и запускать их. Proton будет автоматически загружен при попытке запуска любой Windows-игры из библиотеки.

            Altlinux steam proton кнопка установки игры.png

            Использование версий

            Пользователям предлагается следующий набор версий-сборок:

              • Proton — стабильные версии, использующие в качестве основы стабильную версию Wine с переносом отдельных изменений из ветки разработки. В клиенте Steam по умолчанию предлагается крайняя стабильная версия.
              • Proton Experimental — версия со свежайшими изменениями из ветки разработки.
              • Proton Hotfix — версия с экстренными, экспериментальными и адресными исправлениями. Используется в исключительных случаях.

              Версию Proton можно переключить глобально или для каждой игры отдельно. Глобальный переключатель:

              Altlinux steam proton глобальный переключатель.png

              Пример для отдельной игры. Чтобы появился список для выбора версий, необходимо отметить пункт «Принудительно использовать выбранный инструмент совместимости Steam Play»:

              Altlinux steam proton локальный переключатель.png

              Кроме официальных сборок, существуют варианты от сообщества. Среди них можно выделить следующие:

                • proton-ge-custom — после небольшой подготовки можно использовать из клиента Steam так же, как обычный Proton. Сборка формируется на основе Proton Experimental с добавлением различных патчей от сообщества и поддерживает дополнительные возможности.
                • PortProton — отдельная обёртка-приложение, независящая от клиента Steam. Позволяет запускать программы вне библиотеки Steam без специфичных манипуляций.

                Особенности структуры каталогов Steam Proton

                Примечание: Для понимания материала крайне желательно иметь представление об основах использования Wine.

                Примечание: Пути указаны относительно каталога steamapps, расположенного по умолчанию.

                • Версии Proton загружаются в /home/$USER/.local/share/Steam/steamapps/common/ .
                • Каталог игры со всем содержимым отделён от префикса и располагается в /home/$USER/.local/share/Steam/steamapps/common/ .
                • Каталог префикса располагается в /home/$USER/.local/share/Steam/steamapps/compatdata/ .
                • Для каждой игры используется отдельный префикс.
                • Префикс создаётся при запуске игры. То есть для появления префикса в ./compatdata игра должна быть запущена хотя бы раз.
                • В префиксе по умолчанию создаётся стандартный Windows-пользователь с именем steamuser: ./Steam/steamapps/compatdata/1608450/pfx/drive_c/users/steamuser/ .
                  • В этом каталоге расположены стандартные каталоги Windows-пользователя, включая AppData (Application Data).
                  • Как правило, здесь хранятся игровые сохранения, файлы конфигурации и подобное.
                  • Некоторые игры могут «потерять» загруженные моды, если каталог steamapps располагается не по умолчанию (на другом разделе).

                  Использование Proton напрямую без задействования клиента Steam

                  В Proton реализован механизм прямого запуска тех или иных программ, размещённых в Proton-префиксе, без задействования клиента Steam. Использование напрямую позволяет запускать программы внутри конкретного Proton-префикса, включая штатные Wine-программы. В контексте игр это даёт удобную возможность установить русификатор, моды и подобное, а так же запускать различные инструменты: программу конфигурации, игровой редактор и подобное.

                  Пример запуска установочного файла OpenGL-обёртки для игры Disciples 2

                  Расположение префикса игры по умолчанию:
                  /home/$USER/.local/share/Steam/steamapps/compatdata/1640/

                  Установочный файл OpenGL-обёртки (DisciplesWrapperV1.90.exe) был размещён в корне префикса:
                  /home/$USER/.local/share/Steam/steamapps/compatdata/1640/pfx/drive_c/DisciplesWrapperV1.90.exe

                  Команда на запуск установочного файла:

                  STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/$USER/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/$USER/.local/share/Steam/steamapps/compatdata/1640 /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton run /home/$USER/.local/share/Steam/steamapps/compatdata/1640/pfx/drive_c/DisciplesWrapperV1.90.exe 

                  Из-за длины путей выглядит громоздко и сложно, но на деле команда проста:

                  • STEAM_COMPAT_CLIENT_INSTALL_PATH — передать этой переменной окружения путь до корневого каталога клиента Steam. В данном случае это /home/$USER/.local/share/Steam/
                  • STEAM_COMPAT_DATA_PATH — передать путь до Proton-префикса, который создаётся при первом запуске игры. Путь из примера: /home/$USER/.steam/steam/steamapps/compatdata/1640/, где имя каталога с префиксом соответствует ID игры в Steam — 1640.
                  • /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton — путь до python-скрипта proton, с помощью которого производится задействование Proton. Путь будет отличаться в зависимости от установленной версии Proton. В данном случае используется Proton 8.0. Так же стоит отметить, что в имени каталога Proton присутствует пробел, его нужно экранировать обратной косой чертой (\) или экранировать кавычками путь целиком.
                  • run /home/$USER/.local/share/Steam/steamapps/compatdata/1640/pfx/drive_c/DisciplesWrapperV1.90.exe — команда на запуск указанного исполняемого файла (DisciplesWrapperV1.90.exe) с помощью Proton.

                  Altlinux steam proton окно установки обёртки.png

                  Важно отметить, что подобные установщики ожидают обнаружить файлы игры в границах префикса, но в структуре каталогов Steam каталог с игрой располагается вне префикса. В связи с этим, в диалоге выбора пути потребуется указать путь через структуру каталогов Linux. В некоторых случаях это вызывает проблемы (установщик может отказаться продолжать работу, выведя ошибку). Надёжнее создать в префиксе символическую ссылку на каталог с файлами игры, что позволит установщику получить привычный DOS-путь к файлам игры. Пример расположения точки входа:
                  «./drive_c/Program Files (x86)/Steam/steamapps/common/Символическая_ссылка_на_каталог_игры»

                  Пример создания символической ссылки (пробелы и скобки в имени каталогов экранированы обратной косой чертой):

                  ln -s /home/$USER/.local/share/Steam/steamapps/common/Disciples\ II\ Galleans\ Return /home/$USER/.local/share/Steam/steamapps/compatdata/1640/pfx/drive_c/Program\ Files\ \(x86\)/Steam/steamapps/common/Disciples\ II\ Galleans\ Return

                  Запуск стандартных Wine-программ в Proton-префиксе

                  В Proton-префиксе присутствует полный набор программ из стандартного Wine-префикса. Их можно задействовать так же, как это делается для Wine-префикса. Пример запуска winecfg всё в том же префиксе игры Disciples 2:

                  STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/$USER/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/$USER/.local/share/Steam/steamapps/compatdata/1640 /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton run winecfg 

                  Altlinux steam proton winecfg.png

                  Пример запуска «Установка/удаление программ» (uninstaller):

                  STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/$USER/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/$USER/.local/share/Steam/steamapps/compatdata/1640 /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton run uninstaller 

                  Altlinux steam proton uninstaller.png

                  Пример запуска редактора реестра (regedit):

                  STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/$USER/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/$USER/.local/share/Steam/steamapps/compatdata/1640 /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton run regedit 

                  Altlinux steam proton regedit.png

                  Пример запуска Диспетчера задач (taskmgr):

                  STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/$USER/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/$USER/.local/share/Steam/steamapps/compatdata/1640 /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton run taskmgr 

                  Altlinux steam proton taskmgr.png

                  Пример запуска сторонних игр в Proton-префиксе

                  Да, это работает. Демонстрация на примере запуска Konung 2. Установка из setup_konung2_russian_2.0.0.3.exe:

                  STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/$USER/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/$USER/.local/share/Steam/steamapps/compatdata/1640 /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton run /home/$USER/.local/share/Steam/steamapps/compatdata/1640/pfx/drive_c/setup_konung2_russian_2.0.0.3.exe 

                  Altlinux steam proton установка konung 2.png

                  По запуску есть особенность. Если запускать исполняемый файл напрямую, то игра не запустится, но если её стартовать с файла-ярлыка (.lnk), запуск проходит успешно. lnk-файлы хранятся в каталоге ./drive_c/ProgramData/Microsoft/Windows/Start Menu/Programs/ . Запуск с lnk-файла (пробелы и скобки экранированы обратной косой чертой):

                  STEAM_COMPAT_CLIENT_INSTALL_PATH=/home/$USER/.local/share/Steam/ STEAM_COMPAT_DATA_PATH=/home/$USER/.local/share/Steam/steamapps/compatdata/1640 /home/$USER/.local/share/Steam/steamapps/common/Proton\ 8.0/proton run /home/$USER/.local/share/Steam/steamapps/compatdata/1640/pfx/drive_c/ProgramData/Microsoft/Windows/Start\ Menu/Programs/Konung\ 2\ -\ Blood\ of\ Titans\ \[GOG\.com\]/Konung\ 2\ -\ Blood\ of\ Titans.lnk 

                  Altlinux steam proton konung 2 меню.png

                  Использование сборок Proton от сообщества через Steam

                  Пример использования сборки от GloriousEggroll

                  Примечание: Сборка требует свежайших драйверов! Видеокарты на финальном отрезке поддержки, использующие драйвера, получающие только исправления, с большой вероятностью, не смогут работать с этой сборкой.

                  Из официального репозитория загрузить крайнюю выпущенную версию: https://github.com/GloriousEggroll/proton-ge-custom/releases Сборка поставляется в обычном tar-архиве.

                  В данном примере был загружен архив GE-Proton8-25.tar.gz:

                  Altlinux steam proton tar архив сборки GE.png

                  Чтобы клиент Steam мог взаимодействовать со сборкой, её необходимо распаковать и поместить каталог GE-Proton со всем содержимым в /home/$USER/.local/share/Steam/compatibilitytools.d/ . Если каталог compatibilitytools.d отсутствует, его следует создать.

                  После перезапуска клиента Steam сборка станет доступной для выбора:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *