Игры

Как показать счетчик FPS в играх для Linux

Как показать счетчик FPS в играх для Linux
Игры для Linux получили серьезный толчок, когда Valve объявила о поддержке Linux для клиента Steam и своих игр в 2012 году. С тех пор многие игры AAA и инди-игры перешли на Linux, и количество пользователей, играющих на Linux, значительно увеличилось.

С развитием игр для Linux многие пользователи начали искать правильные способы отображения счетчика кадров в секунду (FPS) в качестве наложения при запуске игр для Linux. Счетчик FPS помогает настраивать производительность запущенных игр, а также оценивать общую способность ПК играть в игры с разными разрешениями.

К сожалению, не существует единого унифицированного способа отображения счетчика FPS во всех играх для Linux, который не зависел бы от базовых технологий, на которых работает игра. У разных рендереров и API есть разные способы отображения счетчика FPS. В этом руководстве объясняются различные методы, которые можно использовать для отображения счетчика FPS в играх для Linux.

Способ 1 (Steam)

Примечания по совместимости:

Steam для Linux включает встроенный счетчик FPS, который можно переключать в настройках. Вероятно, это один из наиболее совместимых вариантов, который работает с большинством игр для Linux. Однако у меня были проблемы с играми на движке Unity, которые не отображали встроенный счетчик FPS. Этот вариант также требует, чтобы в вашей системе была установлена ​​учетная запись Steam и клиент Steam.

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

Перейдите к расположению файлов игры и затем переключите опцию «Все файлы» внизу.

Выберите исполняемый файл игры и нажмите «ДОБАВИТЬ ВЫБРАННЫЕ ПРОГРАММЫ», как показано на снимке экрана ниже:

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

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

Метод 2 (LibGL)

Примечания по совместимости:

LibGL - это библиотека Mesa, которая предоставляет API-интерфейсы OpenGL для приложений и игр, и по умолчанию она включена почти во все дистрибутивы Linux. Используя эту библиотеку и другой пакет, который создает HUD на видимом дисплее, мы покажем счетчик FPS в играх для Linux. Выполните следующую команду, чтобы установить требуемый пакет:

sudo apt установить xosd-bin

Чтобы показать счетчик FPS в собственных играх для Linux, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры. Вы можете узнать больше обо всех параметрах osd-cat здесь.

LIBGL_SHOW_FPS = 1 / путь / к / исполняемому файлу 2> & 1 |
tee / dev / stderr | sed -u -n -e '/ ^ libGL: FPS = / с /.* \ ([^] * \) = / \ 1 /; p '|
osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top --align = left

Чтобы показать счетчик FPS в играх для Windows, запущенных в Linux через Wine, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры.

WINEDEBUG = fps wine / путь / к / исполняемому файлу 2> & 1 | tee / dev / stderr |
sed -u -n -e '/ трассировка / с /.* приблизительно // p '| osd_cat --lines = 1 --color = желтый
--Outline = 1 --pos = top --align = center

Если вы используете префикс Wine, команда будет выглядеть так (замените / путь / на / вино / префикс и / путь / к / исполняемому файлу):

WINEDEBUG = fps WINEPREFIX = / путь / к / вину / префикс вина
/ путь / к / исполняемому файлу 2> & 1 | tee / dev / stderr | sed -u -n -e '/ трассировка / с /
.* приблизительно // p '| osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top
--align = center

У этого метода есть небольшое ограничение. Хотя вы можете настроить HUD osd-cat, он остается в фиксированном положении в области отображения без учета геометрии игрового окна. На скриншоте выше счетчик FPS показан над окном игры, а не внутри него. Это не влияет на игры, работающие в полноэкранном режиме.

Метод 3 (Gallium3D)

  • Работает только с играми OpenGL.
  • Работает с собственными играми и играми Wine.
  • Протестирована работа с видеокартами AMD с драйверами с открытым исходным кодом.
  • Поддержка Gallium3D для Intel продолжается, поэтому пока не работает.
  • Не тестировалось с картами NVIDIA, так как у меня нет карты NVIDIA. Поскольку драйвер с открытым исходным кодом NVIDIA поддерживает Gallium3D, этот метод должен работать.
  • Gallium3D - это API, который упрощает разработку драйверов для видеокарт, предоставляя набор стандартных библиотек и интерфейсов. Драйверы AMD и NVIDIA с открытым исходным кодом построены на Gallium3D.

    Чтобы показать счетчик FPS в собственных играх для Linux, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры:

    GALLIUM_HUD = "простой, частота кадров" / путь / к / исполняемому файлу

    Чтобы показать счетчик FPS в играх для Windows, запущенных в Linux через Wine, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры.

    GALLIUM_HUD = "простой, fps" вино / путь / к / исполняемому файлу

    Если вы используете префикс Wine, команда будет выглядеть так (замените / путь / к / вину / префиксу и / путь / к / исполняемому файлу):

    GALLIUM_HUD = "простой, fps" WINEPREFIX = / путь / к / вину / префикс вина / путь / к / исполняемому файлу

    На скриншоте выше я использую настраиваемую переменную GALLIUM_HUD, которая также показывает температуру графического процессора и процессора. Эта настраиваемая команда отличается для разных конфигураций ПК. Чтобы узнать больше обо всех параметрах настройки, выполните команды:

    sudo apt установить mesa-utils
    GALLIUM_HUD = помощь glxgears

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

    GALLIUM_HUD = "простой, кадр / с; сенсоры_temp_cu-amdgpu-pci-1c00.temp1;
    датчики_temp_cu-k10temp-pci-00c3.Tdie "/ путь / к / исполняемому файлу

    Метод 4 (наложение Mesa Vulkan)

    Примечания по совместимости:

    Наложение Mesa Vulkan - это новый слой Vulkan, добавленный в последние сборки Mesa. Он отображает различную информацию о запущенном приложении с помощью наложения.

    Чтобы показать счетчик FPS в собственных играх для Linux, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = позиция = верхний левый / путь / к / исполняемому файлу

    Чтобы показать счетчик FPS в играх для Windows, запущенных в Linux через Wine и DXVK, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = позиция = верхнее левое вино / путь / к / исполняемому файлу

    Если вы используете префикс Wine, команда будет выглядеть так (замените / путь / на / вино / префикс и / путь / к / исполняемому файлу):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = позиция = верхний левый
    WINEPREFIX = / путь / к / вину / префикс вина / путь / к / исполняемому файлу

    Метод 5 (DXVK HUD)

    Примечания по совместимости:

    DXVK обеспечивает уровень перевода на основе Vulkan для D3D10 и D3D11, позволяя пользователям играть в игры Direct3D 10/11 в Linux. D9VK использует бэкэнд DXVK, чтобы предоставить дополнительную реализацию Direct3D9, которую можно использовать для игр, построенных на D3D9.

    Чтобы показать счетчик FPS в играх DXVK, запущенных в Linux через Wine, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры:

    DXVK_HUD = fps вино / путь / к / исполняемому файлу

    Если вы используете префикс Wine, команда будет выглядеть так (замените / путь / на / вино / префикс и / путь / к / исполняемому файлу):

    DXVK_HUD = fps WINEPREFIX = / путь / к / вину / префикс вина / путь / к / исполняемому файлу

    Это знаменует конец этой публикации. В заключение я хотел бы упомянуть одну небольшую деталь, опущенную выше. Все описанные выше методы, отличные от Steam, также будут работать в играх Steam. Вам необходимо заменить «/ путь / к / исполняемому файлу» или «вино / путь / к / исполняемому файлу» или «WINEPREFIX = / путь / к / вину / префикс вина / путь / к / исполняемому файлу» на «% command%» в те же команды, которые использовались выше. Просто добавьте полную команду для запуска параметров в свойствах игры внутри приложения Steam, как показано на скриншоте ниже:

    Контроль и управление перемещением мыши между несколькими мониторами в Windows 10
    Диспетчер мыши с двумя дисплеями позволяет контролировать и настраивать движение мыши между несколькими мониторами, замедляя ее движения возле границы...
    WinMouse позволяет настраивать и улучшать движение указателя мыши на ПК с Windows
    Если вы хотите улучшить функции указателя мыши по умолчанию, используйте бесплатное ПО WinMouse. Он добавляет дополнительные функции, которые помогут ...
    Левая кнопка мыши не работает в Windows 10
    Если вы используете выделенную мышь со своим ноутбуком или настольным компьютером, но левая кнопка мыши не работает в Windows 10/8/7 по какой-то причи...