С развитием игр для Linux многие пользователи начали искать правильные способы отображения счетчика кадров в секунду (FPS) в качестве наложения при запуске игр для Linux. Счетчик FPS помогает настраивать производительность запущенных игр, а также оценивать общую способность ПК играть в игры с разными разрешениями.
К сожалению, не существует единого унифицированного способа отображения счетчика FPS во всех играх для Linux, который не зависел бы от базовых технологий, на которых работает игра. У разных рендереров и API есть разные способы отображения счетчика FPS. В этом руководстве объясняются различные методы, которые можно использовать для отображения счетчика FPS в играх для Linux.
Способ 1 (Steam)
Примечания по совместимости:
- Работает с играми OpenGL и Vulkan.
- Работает с собственными играми, а Proton Proton - это уровень совместимости, включенный в Steam для запуска игр Windows в Linux. Он основан на проектах с открытым исходным кодом Wine, DXVK и D9VK с дополнительными патчами и новыми функциями, добавленными разработчиками Valve / Wine.
- Работает с играми, купленными в Steam, или сторонними играми, добавленными в Steam пользователем.
- Протестировано при работе со встроенными видеокартами Intel и AMD.
- Не тестировалось с картами NVIDIA, так как у меня нет карты NVIDIA. Но, согласно форумам сообщества Steam, встроенный счетчик кадров в секунду отлично работает на картах NVIDIA.
Steam для Linux включает встроенный счетчик FPS, который можно переключать в настройках. Вероятно, это один из наиболее совместимых вариантов, который работает с большинством игр для Linux. Однако у меня были проблемы с играми на движке Unity, которые не отображали встроенный счетчик FPS. Этот вариант также требует, чтобы в вашей системе была установлена учетная запись Steam и клиент Steam.
Steam даже позволяет добавлять игры, не купленные в Steam, в игровую библиотеку, и встроенный счетчик FPS также работает в этих играх. Чтобы добавить игру, отличную от Steam, нажмите «Игры», а затем нажмите «Добавить игру не для Steam в мою библиотеку», как показано на снимке экрана ниже:
Перейдите к расположению файлов игры и затем переключите опцию «Все файлы» внизу.
Выберите исполняемый файл игры и нажмите «ДОБАВИТЬ ВЫБРАННЫЕ ПРОГРАММЫ», как показано на снимке экрана ниже:
Если вы хотите запустить игру только для Windows на уровне совместимости Steam Proton, вам нужно будет включить дополнительную опцию в свойствах игры.
Я добавил исполняемый файл SuperTuxKart в библиотеку Steam, и здесь также работает счетчик FPS. Обратите внимание, что любые сторонние игры, добавленные в библиотеку Steam, не должны иметь пробелов в пути к их файлу.
Метод 2 (LibGL)
Примечания по совместимости:
- Работает только с играми OpenGL.
- Работает с собственными играми и играми Wine.
- Протестирована работа со встроенными видеокартами Intel и AMD с драйверами с открытым исходным кодом.
- Не тестировалось с картами NVIDIA, так как у меня нет карты NVIDIA. Однако он должен работать с графическими процессорами NVIDIA с драйверами с открытым исходным кодом.
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)
Gallium3D - это API, который упрощает разработку драйверов для видеокарт, предоставляя набор стандартных библиотек и интерфейсов. Драйверы AMD и NVIDIA с открытым исходным кодом построены на Gallium3D. Чтобы показать счетчик FPS в собственных играх для Linux, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры: Чтобы показать счетчик FPS в играх для Windows, запущенных в Linux через Wine, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры. Если вы используете префикс Wine, команда будет выглядеть так (замените / путь / к / вину / префиксу и / путь / к / исполняемому файлу): На скриншоте выше я использую настраиваемую переменную GALLIUM_HUD, которая также показывает температуру графического процессора и процессора. Эта настраиваемая команда отличается для разных конфигураций ПК. Чтобы узнать больше обо всех параметрах настройки, выполните команды: Для справки, вот пользовательская команда, которую я использовал на скриншотах выше: Примечания по совместимости: Наложение Mesa Vulkan - это новый слой Vulkan, добавленный в последние сборки Mesa. Он отображает различную информацию о запущенном приложении с помощью наложения. Чтобы показать счетчик FPS в собственных играх для Linux, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры: Чтобы показать счетчик FPS в играх для Windows, запущенных в Linux через Wine и DXVK, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры: Если вы используете префикс Wine, команда будет выглядеть так (замените / путь / на / вино / префикс и / путь / к / исполняемому файлу): Примечания по совместимости: DXVK обеспечивает уровень перевода на основе Vulkan для D3D10 и D3D11, позволяя пользователям играть в игры Direct3D 10/11 в Linux. D9VK использует бэкэнд DXVK, чтобы предоставить дополнительную реализацию Direct3D9, которую можно использовать для игр, построенных на D3D9. Чтобы показать счетчик FPS в играх DXVK, запущенных в Linux через Wine, используйте приведенную ниже команду после замены / path / to / executable на свой собственный путь к исполняемому файлу игры: Если вы используете префикс Wine, команда будет выглядеть так (замените / путь / на / вино / префикс и / путь / к / исполняемому файлу): Это знаменует конец этой публикации. В заключение я хотел бы упомянуть одну небольшую деталь, опущенную выше. Все описанные выше методы, отличные от Steam, также будут работать в играх Steam. Вам необходимо заменить «/ путь / к / исполняемому файлу» или «вино / путь / к / исполняемому файлу» или «WINEPREFIX = / путь / к / вину / префикс вина / путь / к / исполняемому файлу» на «% command%» в те же команды, которые использовались выше. Просто добавьте полную команду для запуска параметров в свойствах игры внутри приложения Steam, как показано на скриншоте ниже:
GALLIUM_HUD = помощь glxgears
датчики_temp_cu-k10temp-pci-00c3.Tdie "/ путь / к / исполняемому файлу Метод 4 (наложение Mesa Vulkan)
VK_LAYER_MESA_OVERLAY_CONFIG = позиция = верхний левый
WINEPREFIX = / путь / к / вину / префикс вина / путь / к / исполняемому файлу Метод 5 (DXVK HUD)