Kuidas näidata FPS -loendurit Linuxi mängudes

How Show Fps Counter Linux Games



Linuxi mängimine sai olulise tõuke, kui Valve teatas Linuxi tugi Steami kliendile ja nende mängudele 2012. aastal. Sellest ajast alates on paljud AAA- ja indie -mängud jõudnud Linuxi juurde ning Linuxis mängivate kasutajate arv on tunduvalt suurenenud.

Linuxi mängude kasvuga hakkasid paljud kasutajad otsima sobivaid viise kaadrite sekundis (FPS) loenduri kuvamiseks Linuxi mängude ülekattena. FPS -loendur aitab parandada jooksvate mängude jõudlust ja võrrelda arvuti üldist võimet mängida mänge erineva eraldusvõimega.







Kahjuks pole ühtegi ühtset viisi FPS -i loenduri kuvamiseks kõigis Linuxi mängudes, mis pole sõltumatu mängu aluseks olevast tehnoloogiast. Erinevatel renderdustel ja API -del on FPS -loenduri kuvamiseks erinevaid viise. See juhend selgitab erinevaid meetodeid, mida saab kasutada FPS -loenduri kuvamiseks Linuxi mängudes.



Ühilduvuse märkused:



  • Töötab OpenGL ja Vulkan mängudega.
  • Töötab kohalike mängudega ja Prooton Proton on Steamis sisalduv ühilduvuskiht Windowsi mängude käitamiseks Linuxis. See põhineb Vein , DXVK ja D9VK avatud lähtekoodiga projektid koos täiendavate plaastrite ja uute funktsioonidega, mille on lisanud Valve/Wine'i arendajad.
  • Töötab Steamist ostetud mängudega või kolmanda osapoole mängudega, mille kasutaja on lisanud Steami.
  • Testitud töötades integreeritud Inteli ja AMD graafikakaartidega.
  • Testimata NVIDIA kaartidega, kuna mul pole NVIDIA kaarti. Kuid Steami kogukonna foorumite kohaselt töötab sisseehitatud fps-loendur NVIDIA-kaartidel hästi.

Steam Linuxile sisaldab sisseehitatud FPS-loendurit, mida saab seadetest ümber lülitada. See on ilmselt üks kõige ühilduvamaid valikuid, mis töötab enamiku Linuxi mängudega. Siiski oli mul probleeme Unity mootorimängudega, mis ei kuvanud sisseehitatud FPS-loendurit. See valik eeldab ka seda, et teie süsteemi peab olema installitud Steami konto ja Steami klient.







Steam võimaldab isegi mängude teeki lisada mänge, mis pole Steamist ostetud ja sisseehitatud FPS-loendur töötab ka nendes mängudes. Mitte-aurumängu lisamiseks klõpsake nuppu Mängud ja seejärel käsku Lisa minu teeki mitte-aurumäng, nagu on näidatud alloleval ekraanipildil:

Sirvige oma mängufailide asukohta ja seejärel lülitage allosas suvand Kõik failid.

Valige mängu käivitatav fail ja seejärel klõpsake nuppu LISA VALITUD PROGRAMMID, nagu on näidatud alloleval ekraanipildil:

Kui soovite Steami Protoni ühilduvuskihis käivitada ainult Windowsi mängu, peate mängu atribuutides lubama täiendava valiku.

Olen lisanud SuperTuxKarti käivitatava faili auruteeki ja FPS -loendur töötab ka siin hästi. Pange tähele, et Steami teeki lisatud kolmandate osapoolte mängude faili asukohateel ei tohi olla tühikuid.

2. meetod (LibGL)

Ühilduvuse märkused:

  • Töötab ainult OpenGL -mängudega.
  • Töötab kohalike mängude ja veinimängudega.
  • Testitud integreeritud Inteli ja AMD graafikakaartidega, millel on avatud lähtekoodiga draiverid.
  • Testimata NVIDIA kaartidega, kuna mul pole NVIDIA kaarti. See peaks siiski töötama avatud lähtekoodiga draiveritega NVIDIA GPU -dega.

LibGL on Mesa raamatukogu, mis avab OpenGL -i API -sid rakendustele ja mängudele ning see on vaikimisi kaasatud peaaegu kõigisse Linuxi distributsioonidesse. Kasutades seda raamatukogu ja teist paketti, mis loob nähtavale ekraanile HUD, näitame Linuxi mängudes FPS -loendurit. Nõutava paketi installimiseks käivitage järgmine käsk:

sudoasjakohanepaigaldadaxosd-bin

FPS -loenduri näitamiseks natiivsetes Linuxi mängudes kasutage pärast käsu/path/to/executable asendamist oma mängu käivitatava teega allolevat käsku. Lisateavet kõigi osd-cat valikute kohta leiate siit siin .

LIBGL_SHOW_FPS = 1/path/to/executable 2> & 1 |
tee /dev /stderr | sed -u -n -e '/^ libGL: FPS = /{s/.* ([^]* ) =/ 1/; p}' |
osd_cat --liinid = 1 --värv = kollane --joon = 1 --pos = üleval -joondatud = vasakule

FPS -loenduri näitamiseks Windowsi mängudes, mis töötavad Linuxis Wine'i kaudu, kasutage pärast käsu/path/to/executable asendamist oma mängu käivitatava teega allolevat käsku.

WINEDEBUG = fps vein/tee/kuni/käivitatav 2> & 1 | tee /dev /stderr |
sed -u -n -e '/jälg/s /.* umbes // p' | osd_cat --liinid = 1 --värv = kollane
--joon = 1-pos = üleval-joondus = keskel

Kui kasutate veini eesliidet, oleks käsk (asenda/path/to/wine/prefix ja/path/to/executable):

WINEDEBUG = fps WINEPREFIX =/tee/sihtkohta/vein/eesliide vein
/path/to/executable 2> & 1 | tee /dev /stderr | sed -u -n -e '/ jälg/ s/
.*umbes // p '| osd_cat --lines = 1 --color = kollane -outline = 1 --pos = top
-joondada = keskel

Sellel meetodil on väike piirang. Kuigi saate kohandada osd-cat HUD-d, jääb see ekraanialal kindlale kohale, võtmata arvesse mänguakna geomeetriat. Ülaltoodud ekraanipildil on FPS -loendur näidatud mänguakna kohal, mitte selle sees. See ei mõjuta täisekraanil töötavaid mänge.

3. meetod (Gallium3D)

  • Töötab ainult OpenGL -mängudega.
  • Töötab kohalike mängude ja veinimängudega.
  • Testitud töötades AMD graafikakaartidega, millel on avatud lähtekoodiga draiverid.
  • Gallium3D tugi Intelile jätkub, seega ei tööta veel.
  • Testimata NVIDIA kaartidega, kuna mul pole NVIDIA kaarti. Kuna NVIDIA avatud lähtekoodiga draiver on Gallium3D lubatud, peaks see meetod toimima.
  • Gallium3D on API, mis lihtsustab graafikakaartide draiverite väljatöötamist, pakkudes standardseid raamatukogusid ja liideseid. AMD ja NVIDIA avatud lähtekoodiga draiverid on ehitatud Gallium3D -le.

    FPS -loenduri näitamiseks natiivsetes Linuxi mängudes kasutage pärast käsu/path/to/executable asendamist oma mängu käivitatava teega järgmist käsku:

    GALLIUM_HUD='lihtne, fps' /tee/et/käivitatav

    FPS -loenduri näitamiseks Windowsi mängudes, mis töötavad Linuxis Wine'i kaudu, kasutage pärast käsu/path/to/executable asendamist oma mängu käivitatava teega allolevat käsku.

    GALLIUM_HUD='lihtne, fps' vein /tee/et/käivitatav

    Kui kasutate veini eesliidet, oleks käsk (asenda/path/to/wine/prefix ja/path/to/executable):

    GALLIUM_HUD = 'lihtne, fps' WINEPREFIX =/path/to/wine/prefx wine/path/to/executable

    Ülaltoodud ekraanipildil kasutan kohandatud muutujat GALLIUM_HUD, mis näitab ka GPU ja protsessori temperatuure. See kohandatud käsk on erinevate arvutikonfiguratsioonide jaoks erinev. Kõigi kohandamisvalikute kohta lisateabe saamiseks käivitage käsud:

    sudoasjakohanepaigaldadalauanõud
    GALLIUM_HUD=abiglxgears

    Lihtsalt viitamiseks siin on kohandatud käsk, mida kasutasin ülaltoodud ekraanipiltidel:

    GALLIUM_HUD='lihtne, fps; sensor_temp_cu-amdgpu-pci-1c00.temp1;
    sensor_temp_cu-k10temp-pci-00c3.Tdie '
    /tee/et/käivitatav

    Meetod 4 (Vulkani ülekatte tabel)

    Ühilduvuse märkused:

    • Töötab ainult Vulkani mängudega.
    • Töötab ainult Ubuntu 19.10+ ja teiste distributsioonidega, millel on uusim Mesa koos vulkani ülekattega.
    • Töötab kohalike mängude ja Steam Proton mängudega, mis töötavad koos DXVK/D9VK toega.
    • Töötab koos DXVK/D9VK libidega töötavate veinimängudega.
    • Veini tööseisund pole teada Vkd3d . Kuna see on Vulkani kiht, peaks see töötama kõigega, kuni Mesa on ehitatud VK_LAYER_MESA_overlay toega.
    • Testitud töötamine AMD graafikakaartide ja avatud lähtekoodiga draiveritega integreeritud Inteli kaartidega.
    • Testimata NVIDIA kaartidega, kuna mul pole NVIDIA kaarti. Kuna see on Vulkani kiht, peaks see töötama kõigega, kuni Mesa on ehitatud VK_LAYER_MESA_overlay toega.

    Vulkani kattelaud on uus Vulkani kiht, mis on lisatud Mesa hiljutistele ehitistele. See kuvab ülekatte abil mitmesugust teavet töötava rakenduse kohta.

    FPS -loenduri näitamiseks natiivsetes Linuxi mängudes kasutage pärast käsu/path/to/executable asendamist oma mängu käivitatava teega järgmist käsku:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_laylay VK_LAYER_MESA_OVERLAY_CONFIG = asukoht = üleval vasakul/tee/kuni/käivitatav

    FPS -loenduri näitamiseks Windowsi mängudes, mis töötavad Linuxis Wine'i ja DXVK kaudu, kasutage pärast käsu/path/to/executable asendamist oma mängu käivitatava teega järgmist käsku:

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_laylay VK_LAYER_MESA_OVERLAY_CONFIG = position = ülemine vasakpoolne vein/tee/kuni/käivitatav

    Kui kasutate veini eesliidet, oleks käsk (asenda/path/to/wine/prefix ja/path/to/executable):

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_laylay
    VK_LAYER_MESA_OVERLAY_CONFIG = positsioon = üleval vasakul
    WINEPREFIX =/tee/veinile/eesliide vein/tee/sihtkohta/käivitatav

    5. meetod (DXVK HUD)

    Ühilduvuse märkused:

    • Töötab ainult Vulkani mängudega, mis töötavad Wine'is ja Protonis koos DXVK/D9VK libidega.
    • Testitud töötades AMD ja integreeritud Inteli graafikakaartidega koos avatud lähtekoodiga draiveritega.
    • Testimata NVIDIA kaartidega, kuna mul pole NVIDIA kaarti. Lähtekoodil on kohustusi, mis mainivad NVIDIA tuge, nii et see meetod peaks toimima.

    DXVK pakub D3D10 ja D3D11 jaoks Vulkanil põhinevat tõlkekihti, mis võimaldab kasutajatel Linuxis mängida Direct3D 10/11 mänge. D9VK kasutab DXVK taustaprogrammi, et pakkuda täiendavat Direct3D9 rakendust, mida saab kasutada D3D9 -le ehitatud mängude mängimiseks.

    FPS -loenduri näitamiseks DXVK -mängudes, mis töötavad Linuxis Wine'i kaudu, kasutage pärast käsu/path/to/executable asendamist oma mängu käivitatava teega järgmist käsku:

    DXVK_HUD= fpsvein /tee/et/käivitatav

    Kui kasutate veini eesliidet, oleks käsk (asenda/path/to/wine/prefix ja/path/to/executable):

    DXVK_HUD= fpsWINEPREFIX=/tee/et/vein/eesliidevein /tee/et/käivitatav

    See tähistab selle postituse lõppu. Kokkuvõtteks mainiksin ühte väikest detaili, mis on ülalt välja jäetud. Kõik ülalkirjeldatud mitte-aurumeetodid töötavad ka Steam-mängude puhul. Peate asendama/path/to/executable või wine/path/to/executable või WINEPREFIX =/path/to/wine/prefix wine/path/to/executable samade eespool kasutatud käskude % abil %. Lihtsalt lisage täielik käsk, et käivitada Steami rakenduse mänguomaduste valikud, nagu on näidatud alloleval ekraanipildil: