Установка-настройка Steam в Arch Linux (Manjaro)

Steam — онлайн-сервис цифрового распространения компьютерных игр и программ, разработанный и поддерживаемый компанией Valve.

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

Возможно, а скорее на верняка у пользователей Steam в Arch Linux (Manjaro) может возникнуть проблема с поддержкой клавиатуры в nativ(ных) играх. Например не рабочие раскладки и настройки клавиш. Тут проблема не Manjaro или Steam, проблема пользователя, точнее его не знание основ установки дистрибутива Arch Linux. При установки дистрибутива Manjaro, пользователь в графическом установщике (которого нет в Arch Linux) указывает раскладку клавиатуры и основной язык системы, например Русский, по умолчанию указанный язык заносится в конфигурацию дистрибутива. Далее Steam и игровые движки не понимают кодировку клавиатуры и устройства локального хоста.

Давайте проверим текущую настройку системы по раскладкам клавиатуры и языку (например у автора):

# localectl status

Вывод консоли...

System Locale: LANG=ru_RU.UTF-8

VC Keymap: us

X11 Layout: ru

X11 Model: pc105

X11 Options: grp:alt_shift_toggle

Далее если у вас проблемы с выводом и поддержкой клавиш в играх, проверяем:

# cat /etc/vconsole.conf

Смотрим постоянную комбинацию клавиш по умолчанию:

KEYMAP=ru

Для указания раскладки используется переменная KEYMAP. Если переменная пуста или не установлена, в качестве значения по умолчанию используется раскладка us.

Редактируем и правим раскладку по умолчанию:

sudo nano /etc/vconsole.conf

Добавляем только US и тестируем:

KEYMAP=us

Для получения списка всех доступных раскладок используйте команду: 

# localectl list-keymaps

Можно установить раскладку только для текущего сеанса, возможно проблема не в Steam. Это полезно при проверке различных раскладок, решение проблем и т.д. 

# loadkeys us

Дополнительную информацию по настройкам прочтите на WiKi. Смотрите vconsole.conf для получения информации обо всех параметрах. 

Перед началом оптимизации приложений и игровых проектов, возьмите на вооружение алгоритм...

Не покупайте игры на БичДвижке и не используйте БичДвижки (например Unity3D, Unreal Engine).

Причина проста, не топовое железо, не оптимизация через костыли, не решает проблему производительности через кривой код движков. Вы затрачиваете средства на покупку игрового проекта и далее платите дороже в амортизации оборудования и затрат электроэнергии, поразмыслите о покупке игровой консоли. Крайне дико выжимать из CPU 4.5 Mhz без режима энергосбережения, чтобы поиграть в кривой код Witcher 3 (который по хитрожопию CD Projekt RED так и не стал nativым).

Для оптимизации игровых приложений есть сторонний код (костыли-программы), возможно вы все правите руками сами для настройки локального хоста...

Костыль написал и навязал, Feral interactive. GameMode - это комбинация daemon / lib для Linux, которая позволяет играм временно запрашивать набор оптимизаций для операционной системы или игрового процесса. GameMode был спроектирован в первую очередь как временное решение проблем с энергосберегающими процессорами Intel и AMD или контроллерами по требованию.

В настоящее время GameMode включает поддержку оптимизаций, в том числе:

  • Регулятор процессора.
  • Приоритет ввода / вывода.
  • Планировщик ядра (SCHED_ISO).
  • Блокировки игровых заставок.
  • Режимы производительности GPU (NVIDIA и AMD), разгон GPU (NVIDIA).
  • Пользовательские скрипты.
  • Пакеты GameMode доступны для Ubuntu, Debian, Solus, AUR, Gentoo, Fedora, OpenSUSE, Mageia.

Установка:

# pacman -S gamemode lib32-gamemode

Настройка локальных зависимостей:

# systemctl --user enable gamemoded && systemctl --user start gamemoded

Пример запуска игрового приложения:

# gamemoderun tetris-karro

Для командной строки игрового приложения в самом Steam:

gamemoderun %command%

Дополнительно полезны правки конфигурации xorg.conf:

Option         "TripleBuffer" "on"

Option         "Coolbits" "28"

Правки возможного тиринга (Tearing) вертикальной синхронизации:

Option         "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"

Option         "AllowIndirectGLXProtocol" "off"

Отключение эффектов рабочего стола:

Section "Extensions"

Option         "Composite" "Disable"

EndSection

Composite - Disable, не всегда помогает и может привести к потери всей настройки прозрачности рабочего стола, свопам в самой игре (иконки, браузер, Proton и тд). Для отключения Composite, эффективней использовать, настройки на лету из командной строки (при условии использования XFCE):

# xfconf-query -c xfwm4 -p /general/use_compositing -s false # отключение при запуске игр.

# xfconf-query -c xfwm4 -p /general/use_compositing -s true # включение при запуске игр.

В одной строке, костыли для Steam:

# xfconf-query -c xfwm4 -p /general/use_compositing -s false; %command%; xfconf-query -c xfwm4 -p /general/use_compositing -s true

Возможно вас заинтересует другой "костыль":

vkBasalt - это слой постобработки Vulkan для улучшения визуальной графики игр.

Логика и запуск похожи:

Steam: ENABLE_VKBASALT=1 %command%

Local: ENABLE_VKBASALT=1 tetris-karro

Дополнительно для мониторинга и сбора статистики рекомендуется простой Psensor:

# pacman -S psensor

Службу systemd можно использовать для установки скорости клавиатуры.