Jak pokazać licznik FPS w grach Linux

Jak pokazać licznik FPS w grach Linux
Linux Gaming uzyskał poważny nacisk, gdy Valve ogłosił obsługę Linuksa dla klienta Steam i ich gier w 2012 roku. Od tego czasu wiele gier AAA i niezależnych dotarło do Linux, a liczba użytkowników, którzy grają w Linux.

Wraz z rozwojem gier Linux, wielu użytkowników zaczęło szukać właściwych sposobów wyświetlania licznika „ramek na sekundę” (FPS) jako nakładki na uruchomione gry Linux. Licznik FPS pomaga w poprawie wydajności gier bieżących, a także w zakresie porównywania ogólnej zdolności komputera do gry w różnych rozdzielczościach.

Niestety nie ma jednego zunifikowanego sposobu na wyświetlanie licznika FPS we wszystkich grach Linux, które są niezależne od podstawowych technologii, na które gra gra. Różne renderery i interfejsy API mają różne sposoby wyświetlania licznika FPS. Ten przewodnik wyjaśni różne metody, które można użyć do wyświetlania licznika FPS w grach Linux.

Metoda 1 (para)

Uwagi do kompatybilności:

  • Działa z grach OpenGL i Vulkan.
  • Działa z rodzimymi grami i grami protonowymi. Proton to warstwa kompatybilności zawarta w Steam do uruchamiania gier Windows w Linux. Opiera się na projektach Wine, DXVK i D9VK z dodatkowymi łatami i nowymi funkcjami dodanymi przez deweloperów zaworów/wina.
  • Współpracuje z gierami kuponymi w grach Steam lub trzecich dodanych przez użytkownika do Steam.
  • Przetestowane współpracę ze zintegrowanymi kartami graficznymi Intel i AMD.
  • Nietestowane kartami NVIDIA, ponieważ nie posiadam karty NVIDIA. Ale według forów społeczności Steam, wbudowany licznik FPS działa dobrze na kartach NVIDIA.

Para dla Linux zawiera wbudowany licznik FPS, który można przełączać z ustawień. Jest to prawdopodobnie jedna z najbardziej kompatybilnych opcji, która działa z większością gier Linux. Miałem jednak pewne problemy z grami silnikowymi Unity, które nie wyświetlają wbudowanego licznika FPS. Ta opcja wymaga również posiadania konta Steam i klienta Steam w systemie.

Steam pozwala nawet dodawać gry, które nie zostały zakupione od Steam do biblioteki gier, a wbudowany licznik FPS działa również w tych grach. Aby dodać grę non-Steam, kliknij „gry”, a następnie kliknij „Dodaj grę non-steam do mojej biblioteki”, jak pokazano na zrzucie ekranu poniżej:

Przejrzyj do lokalizacji plików gry, a następnie przełącz opcję „Wszystkie pliki” na dole.

Wybierz grę wykonywalną, a następnie kliknij „Dodaj wybrane programy”, jak pokazano na zrzucie ekranu poniżej:

Jeśli chcesz uruchomić grę Windows tylko w warstwie kompatybilności Proton Steam, musisz włączyć dodatkową opcję w właściwościach gry.

Dodałem wykonywalny SupertuxKart w bibliotece Steam, a licznik FPS również tutaj działa dobrze. Zauważ, że wszelkie gry zewnętrzne dodane do biblioteki Steam nie powinny mieć żadnych przestrzeni na ścieżce lokalizacji pliku.

Metoda 2 (LibGL)

Uwagi do kompatybilności:

  • Działa tylko z gier OpenGL.
  • Współpracuje z rodzimymi gierami i gierami winiarskiej.
  • Przetestowane współpracę ze zintegrowanymi kartami graficznymi Intel i AMD z sterownikami open source.
  • Nietestowane kartami NVIDIA, ponieważ nie posiadam karty NVIDIA. Powinno jednak współpracować z GPU NVIDIA z sterownikami open source.

LibGL to biblioteka Mesa, która ujawnia interfejsy API OpenGL na aplikacje i gry i domyślnie jest zawarta w prawie wszystkich dystrybucjach Linux. Korzystając z tej biblioteki i innego pakietu, który tworzy HUD na widocznym wyświetlaczu, pokażemy licznik FPS w grach Linux. Uruchom następujące polecenie, aby zainstalować wymagany pakiet:

sudo apt instal xosd-bin

Aby wyświetlić licznik FPS w natywnych grach Linux, użyj poniższego polecenia po wymianie/ścieżka/do/wykonywalna własną ścieżką wykonywalną gry. Możesz wiedzieć więcej o wszystkich opcjach OSD-CAT.

Libgl_show_fps = 1/ścieżka/do/wykonywacza 2> i 1 | Tee /dev /stderr | sed -u -n -e '/^libgl: fps =/s/.* \ ([^]* \) = /\ 1 /; p '| OSD_CAT -LINES = 1 -Color = żółty --outline = 1 - -Pos = top --align = lewy

Aby pokazać licznik FPS w grach systemowych działających w Linux przez wino, użyj poniższego polecenia po wymianie/ścieżka/do/wykonywalna z własną ścieżką wykonywalną gier.

WinedeBug = FPS Wine/Path/to/Ekwarialny 2> i 1 | Tee /dev /stderr | sed -u -n -e '/ trace/ s/.*ok. // p '| OSD_CAT -LINES = 1 -kolor = żółty --outline = 1 - -Pos = top --align = Center

Jeśli używasz prefiksu wina, polecenie byłoby (zamień/ścieżka/do/wino/prefiks i/ścieżka/do/wykonywalna):

WinedeBug = fps wineprefix =/ścieżka/do/wino/prefiks wino/ścieżka/do/wykonywacza 2> i 1 | Tee /dev /stderr | sed -u -n -e '/ trace/ s/.*ok. // p '| OSD_CAT -LINES = 1 -kolor = żółty --outline = 1 - -Pos = top --align = Center

Ta metoda ma niewielkie ograniczenie. Podczas gdy możesz dostosować HUD OSD-CAT, pozostaje w ustalonej pozycji w obszarze wyświetlania, nie biorąc pod uwagę geometrii okna gry. Na powyższym zrzucie ekranu licznik FPS jest pokazany nad oknem gry, a nie w nim. To nie wpływa na gry z pełnym ekranem.

Metoda 3 (galum3d)

Uwagi do kompatybilności:

  • Działa tylko z gier OpenGL.
  • Współpracuje z rodzimymi gierami i gierami winiarskiej.
  • Przetestowane współpracę z kartami graficznymi AMD z sterownikami open source.
  • Wsparcie Gali3D dla Intela trwa, więc jeszcze nie działa.
  • Nietestowane kartami NVIDIA, ponieważ nie posiadam karty NVIDIA. Ponieważ Nvidia Open Source Driver jest włączony gali3d, ta metoda powinna działać.

Gali3d to interfejs API, który ułatwia opracowywanie sterowników kart graficznych, zapewniając zestaw standardowych bibliotek i interfejsów. Sterowniki open source AMD i Nvidia są zbudowane na gali3d.

Aby wyświetlić licznik FPS w natywnych grach Linux, użyj poniższego polecenia po wymianie/ścieżka/do/wykonywalna na własną grę wykonywalną ścieżką:

Galum_hud = "proste, fps"/ścieżka/do/wykonywalny

Aby pokazać licznik FPS w grach systemowych działających w Linux przez wino, użyj poniższego polecenia po wymianie/ścieżka/do/wykonywalna z własną ścieżką wykonywalną gier.

Galum_hud = "proste, fps" wino/ścieżka/do/wykonywacza

Jeśli używasz prefiksu wina, polecenie byłoby (zamień/ścieżka/do/wino/prefiks i/ścieżka/do/wykonywalna):

Gallium_hud = "proste, fps" wina

Na powyższym zrzucie ekranu używam dostosowanej zmiennej galus_hud, która pokazuje również temperatury GPU i procesora. To niestandardowe polecenie jest inne dla różnych konfiguracji komputerów PC. Aby przeczytać więcej o wszystkich opcjach dostosowywania, uruchom polecenia:

sudo apt instal Mesa-Utils
Gallium_hud = pomoc glxgears

Tylko w celach informacyjnych, oto niestandardowe polecenie, którego użyłem na zrzutach ekranu powyżej:

Gallium_hud = "proste, fps; sensors_temp_cu-amdgpu-pci-1c00.TEMP1; sensors_temp_cu-K10Temp-PCI-00c3.Tdie "/ścieżka/do/wykonywalny

Metoda 4 (nakładka Mesa Vulkan)

Uwagi do kompatybilności:

  • Działa tylko z grach Vulkan.
  • Współpracuje z Ubuntu 19.Tylko 10+ i inne rozkłady o najnowszej MESA z warstwą nakładki Vulkan.
  • Działa z gier rodzimych i gier parowych działających z obsługą DXVK/D9VK.
  • Działa z gierami winiarskiej z DXVK/D9VK LIBS.
  • Status pracy nieznany z VKD3D Wine. Ponieważ jest to warstwa Vulkan, powinna działać z czymkolwiek, o ile Mesa jest zbudowana z obsługą vk_layer_mesa_overlay.
  • Przetestowane współpracę z kartami graficznymi AMD i zintegrowanymi kartami Intela z sterownikami open source.
  • Nietestowane kartami NVIDIA, ponieważ nie posiadam karty NVIDIA. Ponieważ jest to warstwa Vulkan, powinna działać z czymkolwiek, o ile Mesa jest zbudowana z obsługą vk_layer_mesa_overlay.

Mesa Vulkan nakładka to nowa warstwa Vulkan dodana do najnowszych kompilacji Mesa. Wyświetla różne informacje o działającej aplikacji za pomocą nakładki.

Aby wyświetlić licznik FPS w natywnych grach Linux, użyj poniższego polecenia po wymianie/ścieżka/do/wykonywalna na własną grę wykonywalną ścieżką:

Vk_instance_layers = vk_layer_mesa_overlay vk_layer_mesa_overlay_config = pozycja = top-left/ścieżka/do/excutable

Aby wyświetlić licznik FPS w grach systemowych działających w Linux przez wino i DXVK, użyj poniższego polecenia po wymianie/ścieżka/do/wykonywalna na własną grę wykonywalną ścieżką:

Vk_instance_layers = vk_layer_mesa_overlay vk_layer_mesa_overlay_config = pozycja = top-lew wina/ścieżka/do/excutable

Jeśli używasz prefiksu wina, polecenie byłoby (zamień/ścieżka/do/wino/prefiks i/ścieżka/do/wykonywalna):

Vk_instance_layers = vk_layer_mesa_overlay vk_layer_mesa_overlay_config = pozycja = top-lew WinePrefix =/ścieżka/do/wina/prefiks wino/ścieżka/do/wykonywacza

Metoda 5 (DXVK HUD)

Uwagi do kompatybilności:

  • Działa tylko z grami Vulkan działającymi w winie i protonach z LIBS DXVK/D9VK.
  • Przetestowane współpracę z AMD i zintegrowanymi kartami graficznymi Intel z sterownikami open source.
  • Nietestowane kartami NVIDIA, ponieważ nie posiadam karty NVIDIA. Kod źródłowy zobowiązuje się, że wspominają wsparcie NVIDIA, więc ta metoda powinna działać.

DXVK zapewnia warstwę tłumaczeń opartą na Vulkan dla D3D10 i D3D11, umożliwiając użytkownikom granie w gry Direct3d 10/11 w Linux. D9VK używa Backend DXVK, aby zapewnić dodatkową implementację Direct3D9, której można użyć do gry w gry zbudowane na D3D9.

Aby pokazać licznik FPS w grach DXVK działających w Linux przez wino, użyj poniższego polecenia po wymianie/ścieżka/do/wykonywalnej na własną grę wykonywalną ścieżką:

Dxvk_hud = fps wino/ścieżka/do/wykonywacza

Jeśli używasz prefiksu wina, polecenie byłoby (zamień/ścieżka/do/wino/prefiks i/ścieżka/do/wykonywalna):

Dxvk_hud = fps wineprefix =/ścieżka/do/wino/prefix wino/ścieżka/do/wykonywacza

To oznacza koniec tego postu. Podsumowując, wspomniałbym o jednym małym szczególe pominiętym z góry. Wszystkie wyjaśnione powyżej metody non-steam będą działać również w grach parowych. Musisz wymienić „/ścieżka/do/wykonywacza” lub „wino/ścieżka/do/wykonywacza” lub „wineprefix =/ścieżka/do/wina/prefiks wino/ścieżka/do/wykonywacza” z „%poleceń%” w Te same polecenia używane powyżej. Po prostu dodaj pełne polecenie, aby uruchomić opcje w właściwościach gier Inside Steam App, jak pokazano na zrzucie ekranu poniżej:

Nowa aktualizacja: Metoda 6 (ManGohud)

Mangohud to uniwersalny licznik FPS dla Linux, który pokazuje ramki w czasie rzeczywistym na sekundę dla prawie wszystkich gier, które mogą działać w Linux. Działa zarówno z gierami natywnymi, jak i wina i działa dobrze z rendererem OpenGL, jak i Vulkan. Oprócz FPS pokazuje również obciążenia procesora i GPU. Oto mała animacja pokazująca, jak to wygląda jako nakładka (kredyty GIF):

Mangohud został zintegrowany z ręczną konsolą gier z siedzibą w Linux z Linux o nazwie „Paral Steam Deck” (uruchomiony w 2022 r.). Jest dostępny w domyślnych repozytoriach najnowszej wersji Ubuntu, dzięki czemu możesz go zainstalować, uruchamiając poniższe polecenie:

$ sudo apt instal instaluj mangohud

Możesz zainstalować najnowszą wersję w Ubuntu i innych dystrybucjach Linux, pobierając najnowszą kompilację stąd. Po pobraniu wyodrębnij archiwum i uruchom następujące polecenie, aby go zainstalować:

$ ./mangohud-setup.sh instalacja

Teraz możesz użyć ManGohud z dowolną grę Linux, uruchamiając polecenie w następującym formacie (zastąp ścieżkę pliku):

$ MANGOHUD/PATH/to/Game/Exceutable/File

Jeśli uruchamiasz grę z klienta Steam, uzyskaj dostęp do okna dialogowego Właściwości gry, klikając prawym przyciskiem myszy zainstalowany tytuł gry. W polu „Opcje uruchomienia” dodaj następujące polecenie, aby umożliwić ManGohud dla tej gry:

$ mangohud %Command %

Domyślnie ManGohud pokazuje szczegółowe wskaźniki gier, jak pokazano na powyższej animacji. Jeśli chcesz dostosować rozmiar i układ nakładki, możesz dostosować jego obszerny plik konfiguracyjny, postępując zgodnie z oficjalnymi instrukcjami dostępnymi tutaj.