Как да покажете FPS брояч в Linux игри

How Show Fps Counter Linux Games



Linux игрите получиха голям тласък, когато Valve обяви Поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и инди игри са направили своя път към Linux и броят на потребителите, които играят на Linux, се е увеличил значително.

С нарастването на игрите в Linux много потребители започнаха да търсят подходящи начини за показване на брояч на кадрите в секунда (FPS) като наслагване при стартиране на Linux игри. Броячът на FPS помага за промяна на производителността на играта, както и за сравняване на цялостната способност на компютъра да играе игри с различни резолюции.







За съжаление няма единен унифициран начин за показване на FPS брояч във всички Linux игри, който да е независим от основните технологии, върху които играта работи. Различните визуализатори и API имат различни начини за показване на FPS брояч. Това ръководство ще обясни различни методи, които могат да се използват за показване на FPS брояч в Linux игри.



Бележки за съвместимост:



  • Работи с игри OpenGL и Vulkan.
  • Работи с родни игри и Протон Proton е слой за съвместимост, включен в Steam за стартиране на игри на Windows в Linux. Тя се основава на Вино , DXVK и D9VK проекти с отворен код с допълнителни корекции и нови функции, добавени от разработчиците на Valve/Wine.
  • Работи с игри, закупени в Steam или игри на трети страни, добавени към Steam от потребителя.
  • Тестван за работа с интегрирани графични карти Intel и AMD.
  • Не тествани с NVIDIA карти, тъй като не притежавам NVIDIA карта. Но според форумите на общността на Steam, вграденият fps брояч работи добре на NVIDIA карти.

Steam за Linux включва вграден FPS брояч, който може да се превключва от настройките. Това вероятно е една от най -съвместимите опции, която работи с повечето игри на Linux. Въпреки това имах някои проблеми с Unity Engine игрите, които не показват вградения FPS брояч. Тази опция също изисква да имате инсталиран Steam акаунт и Steam клиент във вашата система.







Steam дори ви позволява да добавяте игри, които не са закупени от Steam, към библиотеката с игри и вграденият FPS брояч работи и в тези игри. За да добавите игра, която не е пара, щракнете върху Игри и след това върху Добавяне на игра, която не е Steam, към Моята библиотека, както е показано на екрана по-долу:

Отидете до местоположението на вашите файлове с игри и след това превключете опцията Всички файлове в долната част.

Изберете изпълнимия файл на играта и след това щракнете върху ДОБАВЯНЕ НА ИЗБРАНИ ПРОГРАМИ, както е показано на екрана по -долу:

Ако искате да стартирате игра само за Windows в слоя за съвместимост на Proton на Steam, ще трябва да активирате допълнителна опция в свойствата на играта.

Добавих изпълним SuperTuxKart в библиотеката на steam и FPS броячът работи добре и тук. Имайте предвид, че всички игри на трети страни, добавени към библиотеката на Steam, не трябва да имат никакви интервали в пътя на местоположението на файла.

Метод 2 (LibGL)

Бележки за съвместимост:

  • Работи само с игри OpenGL.
  • Работи с родни игри и игри с вино.
  • Тестван за работа с интегрирани графични карти Intel и AMD с драйвери с отворен код.
  • Не тествани с NVIDIA карти, тъй като не притежавам NVIDIA карта. Трябва обаче да работи с графични процесори NVIDIA с драйвери с отворен код.

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

sudoподходящИнсталирайxosd-bin

За да покажете FPS брояч в родните Linux игри, използвайте командата по -долу, след като замените/path/to/executable със собствения си изпълним път на играта. Можете да научите повече за всички опции на osd-cat от тук .

LIBGL_SHOW_FPS = 1/път/към/изпълним 2> & 1 |
tee /dev /stderr | sed -u -n -e '/^ libGL: FPS = /{s/.* ([^]* ) =/ 1/; p}' |
osd_cat --lines = 1 --color = жълто -outline = 1 --pos = отгоре --align = ляво

За да покажете FPS брояч в игри на Windows, работещи на Linux чрез Wine, използвайте командата по -долу, след като замените/path/to/executable със собствения си изпълним път на играта.

WINEDEBUG = fps wine/path/to/executable 2> & 1 | tee /dev /stderr |
sed -u -n -e '/trace/s /.* приблизително // p' | osd_cat --lines = 1 --color = жълто
-outline = 1 --pos = top --align = center

Ако използвате префикс Wine, командата ще бъде (replace/path/to/wine/prefix и/path/to/executable):

WINEDEBUG = fps WINEPREFIX =/път/към/вино/префикс вино
/path/to/executable 2> & 1 | tee /dev /stderr | sed -u -n -e '/ trace/ s/
.*приблизително // p '| osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top
--align = център

Този метод има малки ограничения. Въпреки че можете да персонализирате osd-cat HUD, той остава на фиксирана позиция в областта на дисплея, без да се взема предвид геометрията на прозореца на играта. На горната снимка на екрана, FPS броячът е показан над прозореца на играта, а не вътре в него. Игрите, работещи на цял екран, не се влияят от това.

Метод 3 (Gallium3D)

  • Работи само с игри OpenGL.
  • Работи с родни игри и игри с вино.
  • Тествано за работа с графични карти AMD с драйвери с отворен код.
  • Поддръжката на Gallium3D за Intel продължава, така че все още не работи.
  • Не тествани с NVIDIA карти, тъй като не притежавам NVIDIA карта. Тъй като драйверът с отворен код на NVIDIA е активиран за Gallium3D, този метод трябва да работи.
  • Галий 3D е API, който улеснява разработването на драйвери за графични карти, като предоставя набор от стандартни библиотеки и интерфейси. AMD и NVIDIA драйверите с отворен код са изградени върху Gallium3D.

    За да покажете брояча на FPS в родните Linux игри, използвайте командата по -долу, след като замените/path/to/executable със собствения си изпълним път на играта:

    GALLIUM_HUD='просто, fps' /път/да се/изпълним

    За да покажете FPS брояч в игри на Windows, работещи на Linux чрез Wine, използвайте командата по -долу, след като замените/path/to/executable със собствения си изпълним път на играта.

    GALLIUM_HUD='просто, fps' вино /път/да се/изпълним

    Ако използвате префикс Wine, командата ще бъде (replace/path/to/wine/prefix и/path/to/executable):

    GALLIUM_HUD = 'прост, fps' WINEPREFIX =/път/към/вино/префикс вино/път/към/изпълним

    В горната снимка на екрана използвам персонализирана променлива GALLIUM_HUD, която показва и температурите на графичния процесор и процесора. Тази персонализирана команда е различна за различните конфигурации на компютъра. За да прочетете повече за всички опции за персонализиране, изпълнете команди:

    sudoподходящИнсталирайтаблици-utils
    GALLIUM_HUD=помогнеglxgears

    Само за справка, ето персонализираната команда, която използвах на екранните снимки по -горе:

    GALLIUM_HUD='simple, fps; sensors_temp_cu-amdgpu-pci-1c00.temp1;
    sensors_temp_cu-k10temp-pci-00c3.Tdie '
    /път/да се/изпълним

    Метод 4 (Vulkan Overlay Table)

    Бележки за съвместимост:

    • Работи само с игри Vulkan.
    • Работи само с Ubuntu 19.10+ и други дистрибуции, разполагащи с най -новата Mesa с vulkan наслагващ слой.
    • Работи с родните игри и Steam Proton игри, работещи с поддръжка на DXVK/D9VK.
    • Работи с Wine игри, работещи с DXVK/D9VK libs.
    • Работен статус неизвестен за Wine’s Vkd3d . Тъй като това е Vulkan слой, той трябва да работи с всичко, стига Mesa да е изграден с поддръжка на VK_LAYER_MESA_overlay.
    • Тестван за работа с графични карти AMD и интегрирани Intel карти с драйвери с отворен код.
    • Не тествани с NVIDIA карти, тъй като не притежавам NVIDIA карта. Тъй като това е Vulkan слой, той трябва да работи с всичко, стига Mesa да е изграден с поддръжка на VK_LAYER_MESA_overlay.

    Наслагваща маса Вулкан е нов слой Vulkan, добавен към последните версии на Mesa. Той показва различна информация за изпълняваното приложение, като използва наслагване.

    За да покажете брояча на FPS в родните Linux игри, използвайте командата по -долу, след като замените/path/to/executable със собствения си изпълним път на играта:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_оверлей 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, командата ще бъде (replace/path/to/wine/prefix и/path/to/executable):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_ наслагване
    VK_LAYER_MESA_OVERLAY_CONFIG = позиция = горе вляво
    WINEPREFIX =/път/към/вино/префикс вино/път/към/изпълним

    Метод 5 (DXVK HUD)

    Бележки за съвместимост:

    • Работи само с игри Vulkan, работещи във Wine и Proton с DXVK/D9VK либри.
    • Тестван за работа с AMD и интегрирани графични карти Intel с драйвери с отворен код.
    • Не тествани с NVIDIA карти, тъй като не притежавам NVIDIA карта. Изходният код има ангажименти, в които се споменава поддръжката на NVIDIA, така че този метод трябва да работи.

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

    За да покажете FPS брояч в DXVK игри, работещи на Linux чрез Wine, използвайте командата по -долу, след като замените/path/to/executable със собствения си изпълним път на играта:

    DXVK_HUD= fpsвино /път/да се/изпълним

    Ако използвате префикс Wine, командата ще бъде (replace/path/to/wine/prefix и/path/to/executable):

    DXVK_HUD= fpsWINEPREFIX=/път/да се/вино/префиксвино /път/да се/изпълним

    Това бележи края на тази публикация. В заключение бих споменал една малка подробност, пропусната по -горе. Всички методи, описани по-горе, без пара, ще работят и за Steam игри. Трябва да замените/path/to/executable или wine/path/to/executable или WINEPREFIX =/path/to/wine/prefix wine/path/to/executable с % command % в същите команди, използвани по -горе. Просто добавете пълната команда за стартиране на опции в свойствата на играта в приложението Steam, както е показано на екрана по -долу: