LinuxゲームでFPSカウンターを表示する方法

How Show Fps Counter Linux Games



Linuxゲームは、 バルブ発表 2012年のSteamクライアントとそのゲームに対するLinuxのサポート。それ以来、多くのAAAおよびインディーゲームがLinuxに移行し、Linuxでゲームをするユーザーの数が大幅に増加しています。

Linuxゲームの成長に伴い、多くのユーザーは、実行中のLinuxゲームのオーバーレイとして1秒あたりのフレーム数(FPS)カウンターを表示する適切な方法を探し始めました。 FPSカウンターは、実行中のゲームのパフォーマンスを微調整したり、さまざまな解像度でゲームをプレイするPCの全体的な能力をベンチマークしたりするのに役立ちます。







残念ながら、ゲームが実行されている基盤となるテクノロジーに依存しない、すべてのLinuxゲームでFPSカウンターを表示する単一の統一された方法はありません。レンダラーとAPIが異なれば、FPSカウンターを表示する方法も異なります。このガイドでは、LinuxゲームでFPSカウンターを表示するために使用できるさまざまな方法について説明します。



互換性に関する注意:



  • OpenGLおよびVulkanゲームで動作します。
  • ネイティブゲームで動作し、 プロトン Protonは、LinuxでWindowsゲームを実行するためのSteamに含まれている互換性レイヤーです。それはに基づいています ワインDXVKD9VK Valve / Wine開発者によって追加されたパッチと新機能を備えたオープンソースプロジェクト。
  • Steamで購入したゲーム、またはユーザーがSteamに追加したサードパーティのゲームで動作します。
  • 統合されたIntelおよびAMDグラフィックカードでの動作をテストしました。
  • 私はNVIDIAカードを所有していないため、NVIDIAカードでテストされていません。しかし、Steamコミュニティフォーラムによると、組み込みのfpsカウンターはNVIDIAカードで正常に機能します。

Steam for Linuxには、設定から切り替えることができるFPSカウンターが組み込まれています。これはおそらく、ほとんどのLinuxゲームで機能する最も互換性のあるオプションの1つです。ただし、Unityエンジンゲームで組み込みのFPSカウンターが表示されないという問題がありました。このオプションでは、SteamアカウントとSteamクライアントがシステムにインストールされている必要もあります。







Steamでは、Steamから購入していないゲームをゲームライブラリに追加することもできます。組み込みのFPSカウンターはこれらのゲームでも機能します。以下のスクリーンショットに示すように、非Steamゲームを追加するには、[ゲーム]をクリックしてから、[非Steamゲームをマイライブラリに追加]をクリックします。

ゲームファイルの場所を参照し、下部にある[すべてのファイル]オプションを切り替えます。

以下のスクリーンショットに示すように、ゲームの実行可能ファイルを選択し、[選択したプログラムの追加]をクリックします。

SteamのProton互換性レイヤーでWindowsのみのゲームを実行する場合は、ゲームのプロパティで追加のオプションを有効にする必要があります。

SteamライブラリにSuperTuxKart実行可能ファイルを追加しましたが、FPSカウンターはここでも正常に機能しています。 Steamライブラリに追加されたサードパーティのゲームでは、ファイルの場所のパスにスペースを入れないでください。

方法2(LibGL)

互換性に関する注意:

  • OpenGLゲームでのみ動作します。
  • ネイティブゲームとワインゲームで動作します。
  • オープンソースドライバーを備えた統合IntelおよびAMDグラフィックカードでの動作をテストしました。
  • 私はNVIDIAカードを所有していないため、NVIDIAカードでテストされていません。ただし、オープンソースドライバーを備えたNVIDIAGPUで動作するはずです。

LibGL は、OpenGL APIをアプリやゲームに公開するMesaライブラリであり、デフォルトでほとんどすべてのLinuxディストリビューションに含まれています。このライブラリと、可視ディスプレイにHUDを作成する別のパッケージを使用して、LinuxゲームでFPSカウンターを表示します。次のコマンドを実行して、必要なパッケージをインストールします。

sudoaptインストールxosd-bin

ネイティブLinuxゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。あなたはからすべてのosd-catオプションについてもっと知ることができます ここ

LIBGL_SHOW_FPS = 1 / path / to / executeable 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

LinuxでWineを介して実行されているWindowsゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。

WINEDEBUG = fps wine / path / to / executeable 2>&1 | tee / dev / stderr |
sed -u -n -e '/ trace / s /.* approx // p' | osd_cat --lines = 1 --color = yellow
--outline = 1 --pos = top --align = center

Wineプレフィックスを使用している場合、コマンドは次のようになります(/ path / to / wine / prefixと/ path / to / executeableを置き換えます)。

WINEDEBUG = fps WINEPREFIX = / path / to / wine / prefix wine
/ path / to / executeable 2>&1 | tee / dev / stderr | sed -u -n -e '/ trace / s /
。*約// p '| osd_cat --lines = 1 --color = yellow --outline = 1 --pos = top
--align = center

この方法には小さな制限があります。 osd-cat HUDはカスタマイズできますが、ゲームウィンドウのジオメトリを考慮せずに、表示領域の固定位置に留まります。上のスクリーンショットでは、FPSカウンターはゲームウィンドウ内ではなく、ゲームウィンドウの上に表示されています。フルスクリーンで実行されているゲームは、この影響を受けません。

方法3(Gallium3D)

  • OpenGLゲームでのみ動作します。
  • ネイティブゲームとワインゲームで動作します。
  • オープンソースドライバーを備えたAMDグラフィックカードでの動作をテストしました。
  • IntelのGallium3Dサポートは継続中であるため、まだ機能していません。
  • 私はNVIDIAカードを所有していないため、NVIDIAカードでテストされていません。 NVIDIAオープンソースドライバーはGallium3Dに対応しているため、この方法で機能するはずです。
  • Gallium3D は、標準ライブラリとインターフェイスのセットを提供することにより、グラフィックカード用のドライバの開発を容易にするAPIです。 AMDおよびNVIDIAオープンソースドライバーは、Gallium3D上に構築されています。

    ネイティブLinuxゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。

    GALLIUM_HUD=「シンプル、fps」 ///実行可能

    LinuxでWineを介して実行されているWindowsゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。

    GALLIUM_HUD=「シンプル、fps」 ワイン ///実行可能

    Wineプレフィックスを使用している場合、コマンドは次のようになります(/ path / to / wine / prefixと/ path / to / executeableを置き換えます)。

    GALLIUM_HUD = 'simple、fps' WINEPREFIX = / path / to / wine / prefix wine / path / to / executeable

    上のスクリーンショットでは、GPUとCPUの温度も表示するカスタマイズされたGALLIUM_HUD変数を使用しています。このカスタムコマンドは、PC構成によって異なります。すべてのカスタマイズオプションの詳細を読むには、次のコマンドを実行します。

    sudoaptインストールtable-utils
    GALLIUM_HUD=ヘルプglxgears

    参考までに、上のスクリーンショットで使用したカスタムコマンドを次に示します。

    GALLIUM_HUD='simple、fps; sensor_temp_cu-amdgpu-pci-1c00.temp1;
    sensor_temp_cu-k10temp-pci-00c3.Tdie '
    ///実行可能

    方法4(Vulkanオーバーレイテーブル)

    互換性に関する注意:

    • Vulkanゲームでのみ動作します。
    • Ubuntu 19.10+のみ、およびvulkanオーバーレイレイヤーを備えた最新のMesaを備えた他のディストリビューションで動作します。
    • DXVK / D9VKをサポートするネイティブゲームおよびSteamプロトンゲームで動作します。
    • DXVK / D9VKライブラリで実行されているWineゲームで動作します。
    • Wineの稼働状況は不明 Vkd3d 。これはVulkanレイヤーであるため、MesaがVK_LAYER_MESA_overlayをサポートして構築されている限り、何でも機能するはずです。
    • AMDグラフィックカードおよびオープンソースドライバーと統合されたIntelカードでの動作をテストしました。
    • 私はNVIDIAカードを所有していないため、NVIDIAカードでテストされていません。これはVulkanレイヤーであるため、MesaがVK_LAYER_MESA_overlayをサポートして構築されている限り、何でも機能するはずです。

    バルカンオーバーレイテーブル Mesaの最近のビルドに追加された新しいVulkanレイヤーです。オーバーレイを使用して、実行中のアプリケーションに関するさまざまな情報を表示します。

    ネイティブLinuxゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position = top-left / path / to / executeable

    Linux上でWineおよびDXVKを介して実行されているWindowsゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay VK_LAYER_MESA_OVERLAY_CONFIG = position =左上のワイン/ path / to / executeable

    Wineプレフィックスを使用している場合、コマンドは次のようになります(/ path / to / wine / prefixと/ path / to / executeableを置き換えます)。

    VK_INSTANCE_LAYERS = VK_LAYER_MESA_overlay
    VK_LAYER_MESA_OVERLAY_CONFIG = position =左上
    WINEPREFIX = / path / to / wine / prefix wine / path / to / executeable

    方法5(DXVK HUD)

    互換性に関する注意:

    • DXVK / D9VKライブラリを使用してWineおよびProtonで実行されているVulkanゲームでのみ機能します。
    • AMDおよびオープンソースドライバーと統合されたIntelグラフィックカードでの動作をテストしました。
    • 私はNVIDIAカードを所有していないため、NVIDIAカードでテストされていません。ソースコードにはNVIDIAサポートに言及するコミットがあるため、このメソッドは機能するはずです。

    DXVKは、D3D10およびD3D11用のVulkanベースの変換レイヤーを提供し、ユーザーがLinuxでDirect3D10 / 11ゲームをプレイできるようにします。 D9VKは、DXVKバックエンドを使用して、D3D9上に構築されたゲームをプレイするために使用できる追加のDirect3D9実装を提供します。

    LinuxでWineを介して実行されているDXVKゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。

    DXVK_HUD= fpsワイン ///実行可能

    Wineプレフィックスを使用している場合、コマンドは次のようになります(/ path / to / wine / prefixと/ path / to / executeableを置き換えます)。

    DXVK_HUD= fpsWINEPREFIX=///ワイン/プレフィックスワイン ///実行可能

    これでこの投稿は終わりです。結論として、私は上記から省略された1つの小さな詳細に言及します。上記で説明したすべての非Steamメソッドは、Steamゲームでも機能します。上記で使用したのと同じコマンドで、/ path / to / executableまたはwine / path / to / executableまたはWINEPREFIX = / path / to / wine / prefix wine / path / to / executeableを%command%に置き換える必要があります。以下のスクリーンショットに示すように、Steamアプリ内のゲームプロパティでオプションを起動するための完全なコマンドを追加するだけです。