Steam (Русский)

From ArchWiki

Tango-preferences-desktop-locale-modified.pngПеревод этой статьи или раздела не отражает оригинальное содержание.Tango-preferences-desktop-locale-modified.png

Причина: Невычитанная копипаста из переводчика DeepL. (Discuss)

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

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

Установка

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

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

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

SteamCMD

Установите steamcmdAUR для версии Steam для командной строки.

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

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

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=/path/to/directory

Проблемы с азиатскими шрифтами в 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 Store или посетив SteamDB.

Steam устанавливает игры в каталог LIBRARY/steamapps/common/. LIBRARY обычно имеет вид. , но вы также можете иметь несколько папок библиотеки (Steam > Настройки > Загрузки > Папки библиотеки Steam).

Для того чтобы Steam распознал игру, она должна иметь файл в LIBRARY/steamapps/. Файл appmanifest использует формат KeyValues и его свойство installdir определяет имя директории игры.

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

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

Доступные опции командной строки см. в статье Опции командной строки на Valve Developer Wiki.

Steam также принимает необязательный URL-адрес Steam, см. статью Steam browser procotol.

Опции запуска

Когда вы запускаете игру в Steam, Steam выполняет команду запуска в оболочке Bash. Чтобы вы могли изменить команду запуска, Steam предоставляет параметры запуска, которые можно установить для игры, щелкнув ее правой кнопкой мыши в библиотеке, выбрав "Свойства" и щелкнув "Установить параметры запуска".

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

Примеры

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

Советы и хитрости

Лёгкий режим

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

Выберите Вид > Компактный режим, чтобы после перезапуска у вас была рабочая Библиотека. Отредактируйте ярлык запуска, добавив -no-browser. Перезапустите клиент.

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

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

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

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

Запуск по минимуму

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

~/.config/autostart/steam.desktop
...
Exec=/usr/bin/steam -silent
...

fsync patch

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

  • Установить linux-zen ядро, включающее исправления fsync, начиная с релиза 5.2[2].
  • Установить ядро linux-pfAUR или linux-pf-gitAUR.

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 с помощью protonAUR или proton-gitAUR, но для их работы со Steam требуется дополнительная настройка. Подробности о том, как Steam распознает установки Proton, смотрите на Proton GitHub.

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

Чтобы запустить Steam в режиме Big Picture Mode из Display manager, вы можете либо:

  • Установить 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
[Запись рабочего стола].
Имя=Режим большого изображения Steam
Комментарий=Запуск Steam в режиме большого изображения
Exec=/usr/bin/steam -bigpicture
TryExec=/usr/bin/steam
Иконка=
Тип=Приложение

Скины 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/*

Live patching

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

~/.steam/notifpos.sh

А #Launch options должен быть примерно таким:

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

Steam Remote Play

Note: Steam In-Home Streaming стал Steam Remote Play.

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

Смотрите это руководство сообщества Steam о том, как настроить потоковый сервер без головы на Linux.

Контроллер Steam

Обычно контроллер Steam требует использования Steam-overlay. Однако в играх для Linux, не поддерживающих Steam, использование оверлея может быть нецелесообразным. Для этого, пока работает клиент Steam, он будет поддерживать "конфигурацию рабочего стола". При использовании контроллера Steam настройте для него конфигурацию рабочего стола как для обычного контроллера XBOX. Пока работает клиент Steam, вы можете использовать свой контроллер Steam в других играх, например в играх GOG, как контроллер XBOX. Обязательно выберите тип контроллера для отображения в "общих настройках контроллера".

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

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

Чтобы добавить другую папку для библиотеки, нажмите на Steam → Settings → Downloads → STEAM LIBRARY FOLDERS, затем на кнопку ⊕.

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

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

  • Luxtorpeda — Запуск игр с использованием родных движков Linux.
https://luxtorpeda-dev.github.io/ || luxtorpeda-gitAUR
  • Boxtron — Запуск DOS игр с помощью родного Linux DOSBox
https://github.com/dreamer/boxtron || boxtronAUR
  • Roberta — Run adventure games using native Linux ScummVM.
https://github.com/dreamer/roberta || not packaged? search in AUR

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

  1. Close Steam
  2. Установить protonup-qtAUR
  3. Откройте protonup-qt и установите необходимые инструменты.
  4. Запустите Steam
  5. В окне свойств игры выберите "Force the use of a specific Steam Play compatibility tool" и выберите нужный инструмент.

Устранение неполадок

См. Steam/Troubleshooting.

См. также