Linuxゲームの成長に伴い、多くのユーザーは、実行中のLinuxゲームのオーバーレイとして1秒あたりのフレーム数(FPS)カウンターを表示する適切な方法を探し始めました。 FPSカウンターは、実行中のゲームのパフォーマンスを微調整したり、さまざまな解像度でゲームをプレイするPCの全体的な能力をベンチマークしたりするのに役立ちます。
残念ながら、ゲームが実行されている基盤となるテクノロジーに依存しない、すべてのLinuxゲームでFPSカウンターを表示する単一の統一された方法はありません。レンダラーとAPIが異なれば、FPSカウンターを表示する方法も異なります。このガイドでは、LinuxゲームでFPSカウンターを表示するために使用できるさまざまな方法について説明します。
互換性に関する注意:
- OpenGLおよびVulkanゲームで動作します。
- ネイティブゲームで動作し、 プロトン Protonは、LinuxでWindowsゲームを実行するためのSteamに含まれている互換性レイヤーです。それはに基づいています ワイン 、 DXVK と D9VK 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)
Gallium3D は、標準ライブラリとインターフェイスのセットを提供することにより、グラフィックカード用のドライバの開発を容易にするAPIです。 AMDおよびNVIDIAオープンソースドライバーは、Gallium3D上に構築されています。 ネイティブLinuxゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。 LinuxでWineを介して実行されているWindowsゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。 Wineプレフィックスを使用している場合、コマンドは次のようになります(/ path / to / wine / prefixと/ path / to / executeableを置き換えます)。 上のスクリーンショットでは、GPUとCPUの温度も表示するカスタマイズされたGALLIUM_HUD変数を使用しています。このカスタムコマンドは、PC構成によって異なります。すべてのカスタマイズオプションの詳細を読むには、次のコマンドを実行します。 参考までに、上のスクリーンショットで使用したカスタムコマンドを次に示します。 互換性に関する注意: バルカンオーバーレイテーブル Mesaの最近のビルドに追加された新しいVulkanレイヤーです。オーバーレイを使用して、実行中のアプリケーションに関するさまざまな情報を表示します。 ネイティブLinuxゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。 Linux上でWineおよびDXVKを介して実行されているWindowsゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。 Wineプレフィックスを使用している場合、コマンドは次のようになります(/ path / to / wine / prefixと/ path / to / executeableを置き換えます)。 互換性に関する注意: DXVKは、D3D10およびD3D11用のVulkanベースの変換レイヤーを提供し、ユーザーがLinuxでDirect3D10 / 11ゲームをプレイできるようにします。 D9VKは、DXVKバックエンドを使用して、D3D9上に構築されたゲームをプレイするために使用できる追加のDirect3D9実装を提供します。 LinuxでWineを介して実行されているDXVKゲームでFPSカウンターを表示するには、/ path / to / executeableを独自のゲーム実行可能パスに置き換えた後、以下のコマンドを使用します。 Wineプレフィックスを使用している場合、コマンドは次のようになります(/ path / to / wine / prefixと/ path / to / executeableを置き換えます)。 これでこの投稿は終わりです。結論として、私は上記から省略された1つの小さな詳細に言及します。上記で説明したすべての非Steamメソッドは、Steamゲームでも機能します。上記で使用したのと同じコマンドで、/ path / to / executableまたはwine / path / to / executableまたはWINEPREFIX = / path / to / wine / prefix wine / path / to / executeableを%command%に置き換える必要があります。以下のスクリーンショットに示すように、Steamアプリ内のゲームプロパティでオプションを起動するための完全なコマンドを追加するだけです。
GALLIUM_HUD=ヘルプglxgears
sensor_temp_cu-k10temp-pci-00c3.Tdie ' /道/に/実行可能 方法4(Vulkanオーバーレイテーブル)
VK_LAYER_MESA_OVERLAY_CONFIG = position =左上
WINEPREFIX = / path / to / wine / prefix wine / path / to / executeable 方法5(DXVK HUD)