Перейти к содержимому
Эта страница устарела. Актуальную документацию можно найти по адресу: /configuration/gaming/

Руководство по играм в CachyOS

Добро пожаловать в руководство по играм в CachyOS. Оно поможет вам разобраться с основными аспектами настройки всего необходимого для игр.

Прежде всего.

Помните, что добиться двузначного прироста FPS не всегда возможно, а иногда и вовсе нереально. В зависимости от игры и конфигурации оборудования оптимизация может дать лишь незначительное улучшение или не дать его совсем.

Не стоит ожидать, что программная оптимизация сработает как бесплатный апгрейд железа.

Чтобы упростить настройку CachyOS для игр, все необходимые игровые пакеты сгруппированы в один мета-пакет, который включает все необходимые зависимости и библиотеки для игр в Linux, а также отдельный мета-пакет для инструментов и лаунчеров/магазинов.

Если вы обнаружите, что каких-либо пакетов не хватает, не стесняйтесь сообщить об этом команде CachyOS.

Выполните следующие шаги, чтобы начать настройку для игр.

  • Откройте CachyOS Hello. Перейдите в Apps/Tweaks (Приложения/Настройки) и нажмите на Install Gaming packages (Установить игровые пакеты).

CachyOS Hello устанавливает и cachyos-gaming-meta, и cachyos-gaming-applications.

Proton-CachyOS основан на ветке Proton bleeding-edge и применяет к ней ряд модификаций.

  • Патчи Wine-staging
  • Wine Fullscreen FSR
  • Включает видео- и аудиокодеки для игровых заставок
  • Поддержка umu-launcher, включая UMU-Protonfixes
  • Добавляет ранние исправления/обходные пути для игр

Как правильно настроить несколько параметров запуска

Заголовок раздела «Как правильно настроить несколько параметров запуска»

Параметры запуска в Steam строятся по следующему шаблону.

Окно терминала
<переменные окружения> <обертки> %command% <аргументы приложения>
  • <переменные окружения>: Это опции в формате ПЕРЕМЕННАЯ=значение

    Примеры
    PROTON_DXVK_D3D8=1
    # Или
    DXVK_HUD="fps,memory,version,api"
  • <обертки>: Это приложения и скрипты, которые изменяют способ запуска реального приложения. Аргументы для обертки обычно идут после ее исполняемого файла.

    Примеры
    mangohud --dlsym
    # Или
    gamescope -W 1680 -H 1050 -w 1280 -h 720 -S fit -F fsr --mangoapp --
  • %command%: Это реальное приложение. Это следует указывать именно так, и Steam заменит его на соответствующую команду при запуске приложения.

  • <аргументы приложения>: Это различные аргументы для реального приложения, и они зависят от самого приложения.

    Пример
    %command% -dx11

Пример полной опции запуска, объединяющей все элементы:

Окно терминала
__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 prime-run game-performance %command% -dx11
  • DLSS и функции Nvidia
    • PROTON_DLSS_UPGRADE=1: Автоматически обновлять DLSS до последней версии.
    • PROTON_DLSS_INDICATOR=1: Показывать индикатор статуса DLSS в игре.
    • PROTON_NVIDIA_LIBS=1: Включить библиотеки Nvidia (PhysX, CUDA) - не требуется для DLSS/трассировки лучей.
Расширенные настройки Nvidia
  • PROTON_NVIDIA_NVCUDA=1: Включить только поддержку CUDA.
  • PROTON_NVIDIA_NVENC=1: Включить только кодирование NVENC.
  • PROTON_NVIDIA_NVML=1: Включить мониторинг NVML.
  • PROTON_NVIDIA_NVOPTIX=1: Включить трассировку лучей OptiX.
  • PROTON_NVIDIA_LIBS_NO_32BIT=1: Ограничить библиотеки только 64-битными (исправляет проблемы с производительностью на RTX 4000+).
  • Апскейлинг AMD и Intel
    • PROTON_FSR4_UPGRADE=1: Автоматически обновлять FSR до последней версии.
    • PROTON_FSR4_RDNA3_UPGRADE=1: Использовать DLL FSR4, оптимизированную для RDNA3.
    • PROTON_XESS_UPGRADE=1: Автоматически обновлять XeSS до последней версии.

Убедитесь, что в вашей системе установлен umu-launcher из CachyOS. Установите его следующей командой.

Окно терминала
sudo pacman -S cachyos/umu-launcher
  1. На главном экране Lutris нажмите на значок шестеренки рядом с Wine.
  2. Перейдите на вкладку Runner Options (Параметры исполнителя) и убедитесь, что ваши настройки соответствуют следующим:
    • Wine version (Версия Wine) = proton-cachyos
    • Use System winetricks (Использовать системный winetricks) = Отключено
    • Graphics (Графика)
      • Enable DXVK (Включить DXVK) = Enabled (Включено)
        • Примечание: Пользовательские версии DXVK, VKD3D и DXVK-NVAPI не применяются при использовании umu-launcher.
  3. Перейдите на вкладку System Options (Системные параметры).
    • Lutris
      • Disable Lutris Runtime (Отключить среду выполнения Lutris) = Enabled (Включено)
      • Prefer system libraries (Предпочитать системные библиотеки) = Enabled (Включено)
  4. Прокрутите вниз до раздела Game execution (Выполнение игры) и найдите таблицу Environment variables (Переменные окружения).
  5. Добавьте следующие переменные окружения:
    • Key (Ключ): UMU_RUNTIME_UPDATE опционально
      • Value (Значение): 0
      • Это пропустит обновления Steam Linux Runtime для proton-cachyos. Не используйте это с любой версией Proton, которая использует Steam Linux Runtime, такой как proton-cachyos-slr, -GE или -EM.
    • Key (Ключ): PROTON_VERB опционально
      • Value (Значение): waitforexitandrun
      • Это позволяет protonfixes работать с соответствующим GAMEID.
  6. Нажмите Save (Сохранить), чтобы применить изменения.
  1. Откройте терминал и установите protonup.

    Окно терминала
    sudo pacman -S protonup-qt
  2. Откройте protonup-qt и следуйте скриншоту:

  3. Перезапустите Steam, если он был у вас открыт.

Ручная установка (для продвинутых)
  1. Загрузите последнюю версию здесь (прокрутите вниз до Assets).
  2. Распакуйте файл и переместите папку в ~/.steam/steam/compatibilitytools.d/
  3. Перезапустите Steam, если он был у вас открыт.

Это тот же wine, который лежит в основе proton-cachyos, но в виде отдельного пакета. Его можно использовать в Lutris, Heroic, Bottles и других программах.

  • Все модификации Wine, включённые в Proton-CachyOS
  • Добавляет ранние исправления/обходные пути для игр

Дополнительные параметры конфигурации

  • WINE_WMCLASS="<имя>": Устанавливает WM_CLASS для всех окон Wine, позволяя оконному менеджеру управлять окнами Wine через правила.
  • WINEUSERSANDBOX=1: Отключает создание символических ссылок из папок пользователя Wine (таких как Documents и Pictures) на аналогичные папки в HOME каталоге пользователя.
  • WINE_NO_WM_DECORATION=1: Отключает декорации окон. Это может исправить проблемы с полноэкранным режимом без рамок и прокликиванием мыши сквозь окно.
  • WINE_PREFER_SDL_INPUT=1: Обходной путь для проблем с определением контроллера.

Обычно запуска /opt/wine-cachyos/bin/wine вместо просто wine должно быть достаточно для запуска приложения с использованием wine-cachyos-opt.

Если требуется более строгая конфигурация, она может выглядеть так:

Окно терминала
export PATH="/opt/wine-cachyos/bin/:$PATH"
export WINEDLLPATH="/opt/wine-cachyos/lib/wine:/opt/wine-cachyos/lib32/wine:$WINEDLLPATH"
export LD_LIBRARY_PATH="/opt/wine-cachyos/lib/:/opt/wine-cachyos/lib32/:$LD_LIBRARY_PATH"

Если вы хотите использовать winetricks с wine-cachyos-opt, вы можете вызвать его так:

Окно терминала
WINE=/opt/wine-cachyos/bin/wine WINEPREFIX=<ваш_префикс> winetricks <команда>

Какую версию Proton следует использовать в Steam?

Заголовок раздела «Какую версию Proton следует использовать в Steam?»
  • Proton 10.0 — это стабильный релиз от Valve. Используйте его, если игра, в которую вы хотите играть, хорошо с ним работает.
  • Proton Experimental — это самый свежий релиз от Valve. Используйте его, если игра, в которую вы хотите играть, относительно новая, плохо работает с текущей стабильной версией Proton, или если люди рекомендуют его на ProtonDB.
  • proton-cachyos-slr — версия, создаваемая и поддерживаемая мейнтейнерами CachyOS. Её использование настоятельно рекомендуется из-за различных улучшений качества жизни, исправлений и оптимизаций. Для игр, использующих античиты, такие как BattlEye или Easy Anti-Cheat, или кастомные лаунчеры, предпочтительнее proton-cachyos-slr.
  • proton-cachyos — та же версия, что и proton-cachyos-slr, но собранная без зависимости от Steam Linux Runtime. Используйте её, только если вы понимаете значение этого различия, и возвращайтесь к proton-cachyos-slr в случае возникновения проблем.
  • Proton-GE — это кастомная сборка от GloriousEggroll. Она включает различные исправления и может быть полезна в определённых ситуациях.
  • Proton 9.0.4 или ниже — это стабильные релизы от Valve. Используйте их, если игра, в которую вы хотите играть, работает только с предыдущей версией Proton.

Исправление заиканий, вызванных функцией записи игр в Steam

Заголовок раздела «Исправление заиканий, вызванных функцией записи игр в Steam»

Добавьте следующую опцию запуска к вашей игре.

Окно терминала
LD_PRELOAD="" %command%

Чтобы включить логирование Proton для игры:

  1. Нажмите правой кнопкой мыши на игру в Steam и выберите Свойства.
  2. В разделе Параметры запуска установите переменную окружения PROTON_LOG:
    Окно терминала
    PROTON_LOG=1 %command%
    Это создаст файл лога в вашем домашнем каталоге с именем steam-<AppID>.log (например, Counter Strike 2 использует AppID 730, поэтому файл будет называться steam-730.log).
Пользовательский каталог для логов

Чтобы установить пользовательский каталог для логов, используйте PROTON_LOG_DIR:

Пример
PROTON_LOG=1 PROTON_LOG_DIR=/home/cachyos/steam-logs %command%

Предварительное кэширование шейдеров с Proton-CachyOS, -GE и -EM

Заголовок раздела «Предварительное кэширование шейдеров с Proton-CachyOS, -GE и -EM»

В Steam нажмите Steam->Настройки, перейдите в Загрузки и снимите галочки с этих настроек:

  • Разрешить фоновую обработку шейдеров Vulkan
  • Включить предварительное кэширование шейдеров

Повторное использование игрового раздела Windows NTFS

Заголовок раздела «Повторное использование игрового раздела Windows NTFS»

Lutris — это игровой лаунчер в CachyOS. С помощью Lutris вы можете легко управлять своими игровыми ранерами, включая Wine, Proton и эмуляторы.

  • Запускайте игры через Lutris, просто нажимая кнопку Play.
  • Добавляйте любую игру, нажав на + в верхнем левом углу.
  • Настройте магазин в разделе Sources на левой панели и подключите свой аккаунт. После этого он установит указанный магазин, и вы сможете запускать игры из него, как на Windows.
  • И многое другое!

Игровые магазины, поддерживаемые в Lutris:

Как правильно установить несколько опций запуска и переменных окружения в Lutris

Заголовок раздела «Как правильно установить несколько опций запуска и переменных окружения в Lutris»
  • Опции запуска, такие как -dx11 или -fullscreen, следует добавлять в поле Arguments на вкладке Game options, разделяя их пробелом.
  • Обёртки команд, например mangohud --dlsym или game-performance, следует добавлять в поле Command prefix на вкладке System options, разделяя их пробелом.
  • Переменные окружения, такие как PROTON_ENABLE_HDR=1, следует добавлять в таблицу Environment variables на вкладке System options, используя кнопку + для добавления новой записи.

Из-за того, что gamemode и ananicy-cpp оба пытаются одновременно изменить приоритет процесса (niceness), это может привести к конфликтам и неожиданному поведению. Рекомендуется использовать gamemode без ananicy-cpp.

Чтобы остановить ananicy-cpp, выполните следующую команду:

Окно терминала
systemctl stop ananicy-cpp

Переключение профиля питания по требованию

Заголовок раздела «Переключение профиля питания по требованию»

CachyOS включает в себя скрипт-обёртку game-performance, который использует power-profiles-daemon для временного переключения профиля питания на performance. Этот профиль повышает уровни энергопотребления системы и устанавливает регулятор ЦП на performance, а также переключает любой активный планировщик scx на его игровой профиль (если доступен).

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

GameMode от Feral предлагает аналогичную функциональность.

Как добавить game-performance в Steam, Lutris и Heroic Games Launcher

Заголовок раздела «Как добавить game-performance в Steam, Lutris и Heroic Games Launcher»
  1. Откройте вашу Библиотеку Steam.
  2. Щёлкните правой кнопкой мыши по названию игры и выберите Свойства.
  3. На вкладке Общие вы найдёте раздел Параметры запуска.
  4. Добавьте следующую опцию запуска:
    Окно терминала
    game-performance %command%

Увеличить максимальный размер кэша шейдеров

Заголовок раздела «Увеличить максимальный размер кэша шейдеров»

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

Однако существует максимальный лимит на размер файла кэша шейдеров, из-за чего старые шейдеры забываются при превышении размера по умолчанию. Это может быть проблемой, поскольку большие игры могут иметь шейдеры размером более 1 ГБ, что заставляет их перекомпилировать шейдеры при каждом запуске.

Чтобы избежать длительных загрузок и заиканий, мы можем увеличить глобальный размер кэша шейдеров:

  1. Откройте терминал.
  2. Создайте каталог environment.d в вашей папке с конфигурациями, если он ещё не существует:
    Окно терминала
    mkdir -p ~/.config/environment.d
  3. Создайте новый файл конфигурации:
    Окно терминала
    touch ~/.config/environment.d/gaming.conf
  4. Откройте файл с помощью Micro (текстовый редактор).
    Окно терминала
    micro ~/.config/environment.d/gaming.conf
    И вставьте следующее содержимое в зависимости от производителя вашей видеокарты:
    AMD
    Окно терминала
    # Увеличить размер кэша шейдеров AMD до 12 ГБ
    MESA_SHADER_CACHE_MAX_SIZE=12G
    NVIDIA
    Окно терминала
    # Увеличить размер кэша шейдеров Nvidia до 12 ГБ
    __GL_SHADER_DISK_CACHE_SIZE=12000000000
  5. Сохраните файл, нажав CTRL+S, и выйдите из Micro, нажав CTRL+Q. Перезагрузите систему.

После перезагрузки максимальный размер кэша шейдеров должен быть постоянно увеличен. Спасибо shader-booster от psygreg за помощь с этим руководством.

Принудительное использование новейшего пресета DLSS

Заголовок раздела «Принудительное использование новейшего пресета DLSS»

Как добавить dlss-swapper в Steam, Lutris и Heroic Games Launcher

Заголовок раздела «Как добавить dlss-swapper в Steam, Lutris и Heroic Games Launcher»
  1. Откройте вашу Библиотеку Steam.
  2. Щёлкните правой кнопкой мыши по названию игры и выберите Свойства.
  3. На вкладке Общие вы найдёте раздел Параметры запуска.
  4. Добавьте следующую опцию запуска:
    Окно терминала
    dlss-swapper %command%
Метод ручной замены DLL

Если dlss-swapper не работает или вызывает проблемы, попробуйте обновить реализацию DLSS в игре вручную, заменив nvngx_dlss.dll на актуальную версию и используя вместо этого скрипт-обёртку dlss-swapper-dll.

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

Падение производительности на Nvidia в играх DirectX12

Заголовок раздела «Падение производительности на Nvidia в играх DirectX12»

Некоторые пользователи сообщают, что проблема связана с тем, как драйверы Nvidia для Linux обрабатывают планирование GPU — в отличие от Windows, где обеспечивается правильное планирование. Официального заявления от Nvidia по этому поводу пока не было. В настоящее время известного решения этой проблемы нет. Nvidia предположительно работает над исправлением, но неясно, когда оно будет выпущено.

Это никак не связано с CachyOS.

В некоторых играх падение производительности менее заметно, чем в других. Посмотрите это видео со сравнением производительности для справки.

Следите за темой на форуме Nvidia, чтобы узнать больше об этой проблеме.