С нарастването на игрите на 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, вграденият брояч на fps работи добре на картите NVIDIA.
Steam за Linux включва вграден FPS брояч, който може да се превключва от настройките. Това е може би една от най-съвместимите опции, която работи с повечето Linux игри. Имах обаче някои проблеми с игрите на Unity engine, които не показват вградения FPS брояч. Тази опция изисква също така да имате акаунт в Steam и Steam клиент, инсталирани на вашата система.
Steam дори ви позволява да добавяте игри, които не са закупени от Steam, към библиотеката с игри, а вграденият брояч на FPS работи и в тези игри. За да добавите игра, която не е пара, кликнете върху „Игри“ и след това върху „Добавяне на игра без пара в моята библиотека“, както е показано на екранната снимка по-долу:
Прегледайте местоположението на вашите игрови файлове и след това превключете опцията „Всички файлове“ в долната част.
Изберете изпълнимия файл на играта и след това кликнете върху „ДОБАВИ ИЗБРАНИ ПРОГРАМИ“, както е показано на екранната снимка по-долу:
Ако искате да стартирате игра само за Windows в слоя за съвместимост на Proton на Steam, ще трябва да активирате допълнителна опция в свойствата на играта.
Добавих изпълним файл SuperTuxKart в библиотеката за пара и FPS броячът работи добре и тук. Обърнете внимание, че всички игри на трети страни, добавени в библиотеката на Steam, не трябва да имат интервали в пътя на местоположението на файла.
Метод 2 (LibGL)
Бележки за съвместимост:
- Работи само с OpenGL игри.
- Работи с местни игри и игри с вино.
- Тествано при работа с интегрирани графични карти 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 = / s /.* \ ([^] * \) = / \ 1 /; p '|
osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top --align = left
За да покажете брояч на FPS в игри с Windows, работещи на Linux чрез Wine, използвайте командата по-долу, след като замените / path / to / executable със собствената си изпълнима игра.
WINEDEBUG = fps вино / път / към / изпълним 2> & 1 | tee / dev / stderr |sed -u -n -e '/ trace / s /.* приблизително // p '| osd_cat --lines = 1 --color = жълт
--контур = 1 --pos = отгоре --align = център
Ако използвате префикс Wine, командата ще бъде (заместване / път / към / вино / префикс и / път / към / изпълним файл):
WINEDEBUG = fps WINEPREFIX = / път / към / вино / префикс вино/ път / към / изпълним 2> & 1 | tee / dev / stderr | sed -u -n -e '/ trace / s /
.* приблизително // p '| osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top
--подравняване = център
Този метод има малко ограничение. Въпреки че можете да персонализирате osd-cat HUD, той остава на фиксирана позиция в областта на дисплея, без да се взема предвид геометрията на прозореца на играта. На екранната снимка по-горе броячът на 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 игри. Трябва да замените „/ path / to / executable” или „wine / path / to / executable” или „WINEPREFIX = / path / to / wine / prefix wine / path / to / executable” с „% command%” в същите команди, използвани по-горе. Просто добавете пълната команда за стартиране на опции в свойствата на играта в приложението Steam, както е показано на екранната снимка по-долу:
GALLIUM_HUD = помогнете на glxgears
sensors_temp_cu-k10temp-pci-00c3.Tdie "/ път / към / изпълним файл Метод 4 (наслагване Mesa Vulkan)
VK_LAYER_MESA_OVERLAY_CONFIG = позиция = горе вляво
WINEPREFIX = / път / към / вино / префикс вино / път / към / изпълним файл Метод 5 (DXVK HUD)