「Gamescope」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(スプーフィングをなりすましに変更)
 
(同じ利用者による、間の8版が非表示)
1行目: 1行目:
 
[[Category:グラフィカルユーザーインターフェイス]]
 
[[Category:グラフィカルユーザーインターフェイス]]
  +
[[en:Gamescope]]
[https://github.com/ValveSoftware/gamescope Gamescope] は、[[Steam Deck]] で使用される Valve が開発した[[Wayland#Compositors|マイクロコンポジタ]]です。その目的は、ゲームに特化したアイソレートされたコンポジタを提供し、以下のようなゲームに特化した機能をサポートすることです。
 
  +
[https://github.com/ValveSoftware/gamescope Gamescope] は、[[Steam Deck]] で使用される Valve が開発した[[Wayland#Compositors|マイクロコンポジタ]]です。その目的は、ゲームに特化した分離型コンポジターを提供することであり、以下のようなゲーム中心の機能を数多くサポートしている:
   
* 解像度のスプーフィング
+
* 解像度のなりすまし
 
* AMD FidelityFX™ Super Resolution や NVIDIA Image Scaling を使ったアップスケーリング
 
* AMD FidelityFX™ Super Resolution や NVIDIA Image Scaling を使ったアップスケーリング
 
* フレームレートの制限
 
* フレームレートの制限
74行目: 75行目:
 
Gamescope は、ゲームの HDR10 サポートを有効にするために必要です。この機能を利用するには、{{ic|--hdr-enabled}} フラグを使用して Gamescope セッションを起動する必要があります。
 
Gamescope は、ゲームの HDR10 サポートを有効にするために必要です。この機能を利用するには、{{ic|--hdr-enabled}} フラグを使用して Gamescope セッションを起動する必要があります。
   
{{Note|Linux での HDR サポートはまだ始まったばかりで、多くの注意点があります。詳細については [[HDR モニターサポート]] を参照してください。}}
+
{{Note|Linux での HDR サポートはまだ始まったばかりで、多くの注意点があります。詳細については [[HDR モニターサポート]] を参照してください。}}
   
  +
=== Wayland サポート ===
== Troubleshooting ==
 
   
  +
Gamescope はデフォルトでは [[Wayland]] クライアントをサポートしていません。Wayland クライアントのサポートを有効にするには、Gamescope のパラメータに {{ic|--expose-wayland}} フラグを追加してください。
=== Switching to fullscreen causes low performance ===
 
   
  +
=== SDR ガマットの広さ ===
This is a known bug when using Gamescopes fullscreen hotkey {{ic|Meta+f}}, if you encounter this issue it can be worked around by using the fullscreen flag {{ic|-f}} when launching the game.
 
   
  +
[https://store.steampowered.com/news/app/1675200/view/5484882897552407488 SteamOS 3.5.5] 以降、Valve は Steam Deck の LCD 用のデフォルトの色レンダリングを変更しました。この効果は、SDR コンテンツのガマットの「広さ」を変更することによって Gamescope で実現され、調整によってはより暖かく鮮やかな色の見え方になります。
=== Setting Gamescopes priority ===
 
   
  +
Steam のゲームの起動オプションに、{{ic|--sdr-gamut-wideness}} とその後に 0 から 1 の範囲の値を追加します:
Another known cause of low performance and/or stuttering is not having Gamescopes priority set correctly, you can tell this is the case if you see errors mentioning {{ic|CAP_SYS_NICE}} in your terminal while Gamescope is running. The following command will fix this:
 
  +
gamescope --sdr-gamut-wideness 1 -- %command%
  +
  +
=== Mangoapp ===
  +
  +
従来の [[MangoHud]] を gamescope で使用することは [https://github.com/flightlessmango/MangoHud?tab=readme-ov-file#gamescope サポートされていません]。代わりに gamescope 引数 {{ic|--mangoapp}} を使用する必要があります。これにより、MangoHud は基礎となるアプリケーションの代わりに gamescope 上で動作します。FSR や HDR のステータスを表示するなど、特定の MangoHud 設定には、gamescope で mangoapp を使用する必要があります。
  +
  +
=== 可変リフレッシュレート ===
  +
  +
モニターが対応している場合、{{ic|--adaptive-sync}} フラグを渡して可変リフレッシュレートを有効にします。
  +
  +
== トラブルシューティング ==
  +
  +
=== フルスクリーンへの切り替えが低性能を引き起こす ===
  +
  +
これは、Gamescope のフルスクリーンホットキー {{ic|Meta+f}} を使用するときの既知のバグです。この問題に遭遇した場合、ゲームを起動するときにフルスクリーンフラグ {{ic|-f}} を使用することで回避できます。
  +
  +
=== Gamescope の優先度を設定する ===
  +
  +
低性能やスタッタリングのもう一つの既知の原因は、Gamescope の優先度が正しく設定されていないことです。Gamescope が実行されている間に、ターミナルで {{ic|CAP_SYS_NICE}} に関するエラーが表示される場合、これが原因だとわかります。次のコマンドで修正できます:
   
 
# setcap 'CAP_SYS_NICE=eip' $(which gamescope)
 
# setcap 'CAP_SYS_NICE=eip' $(which gamescope)
   
  +
{{Warning| このコマンドを使用すると、いくつかの Vulkan 環境変数が無視される原因になります。例えば、{{ic|MESA_VK_DEVICE_SELECT}} を設定して Gamescope に使用する GPU を指定した場合などです。[https://github.com/ValveSoftware/gamescope/issues/107 こちら] を参照してください。この制限を回避するためには、{{AUR|ananicy-git}} などを使用することができます。}}
== See Also ==
 
  +
* [https://github.com/ValveSoftware/gamescope Gamescope Github Page]
 
  +
=== NVIDIA 上の Flatpak でウィンドウが表示されない ===
  +
  +
これは、Flatpak Gamescope が NVIDIA DRM の GBM バックエンドにアクセスできないためです。以下のコマンドを使用して環境変数を設定することで解決できます:
  +
  +
$ flatpak override --env=GBM_BACKENDS_PATH=/usr/lib/x86_64-linux-gnu/GL/nvidia-''XXX''-''YY''-''ZZ''/extra/gbm ''packageid''
  +
  +
ここで、{{ic|''packageid''}} は Gamescope の Flatpak パッケージ識別子 '''または''' Gamescope を使用したいアプリ(例えば [[Bottles]])の識別子です。{{ic|nvidia-''XXX''-''YY''-''ZZ''}} を、現在インストールされている NVIDIA ドライバーのバージョンに置き換えます。Flatpak 内でバージョンを確認するには、次のコマンドを使用します:
  +
  +
$ flatpak run --command=ls ''packageid'' /usr/lib/x86_64-linux-gnu/GL
  +
  +
ここで、{{ic|''packageid''}} は任意の Flatpak パッケージ識別子です。このディレクトリは Flatpak 内でのみ存在することに注意してください。
  +
  +
{{Note|
  +
  +
{{Expansion|このステップは、[[pacman フック]] によって自動化される可能性があります。}}
  +
  +
このコマンドは、ドライバーの更新ごとに再実行し、適宜修正する必要があります。
  +
}}
  +
  +
=== Intel グラフィックスでの画像破損 ===
  +
  +
Intel グラフィックスで Gamescope が破損した色の画像を出力する場合、損失なしの色圧縮を無効にすると、メモリ帯域幅の増加を代償に回避できます。[https://github.com/ValveSoftware/gamescope/issues/356] これを無効にするには、{{ic|1=INTEL_DEBUG=noccs}} 環境変数を渡してください。
  +
  +
=== HDR 有効時に VRR がカクつく ===
  +
  +
VRR と HDR が独立して動作する場合でも、両方が有効になっているとフレームレートが不安定になる場合は、HDR のコンポジット時間が長いために問題が発生している可能性があります。詳細は https://github.com/ValveSoftware/gamescope/issues/1006 を参照してください。これは、埋め込みモードで Gamescope を使用している場合にのみ適用され、既存の Wayland または X セッション内で Gamescope を使用している場合には適用されません。
  +
  +
AMD グラフィックスを使用している場合は、ハードウェアプレーンを使用して最終画像を合成する実験的な AMD カラーマネジメントを使用することで、この問題を解決できます。これには、次のいずれかのセットアップが必要です:
  +
  +
==== Steam Deck カーネル ====
  +
  +
* Steam Deck Linux カーネル {{AUR|linux-neptune-65}} または [https://gitlab.com/evlaV/linux-integration/-/commit/90e3a855c922d0b8c4b18c886c5cf73223d69475.patch Steam Deck カラーマネジメントパッチ] が適用されたカーネル
  +
* {{Pkg|gamescope}} または {{AUR|gamescope-git}}
  +
  +
==== 実験的な AMD カラーマネジメントを有効にした Linux カーネル ====
  +
  +
Linux 6.8 以降で、{{ic|KCFLAGS}} に {{ic|-DAMD_PRIVATE_COLOR}} を含むようにコンパイルされたもの、例えば {{AUR|linux-amd-color}}
  +
  +
=== 高ポーリングレートのマウスが原因のカクつき ===
  +
  +
高ポーリングレートのマウス(4000Hz で観測された)をゲームウィンドウ内で動かすと、カクつきや一時的なフリーズが発生する場合があります。[https://github.com/ValveSoftware/gamescope/issues/1279] 1000Hz のような低いポーリングレートを設定することで、この問題を回避できる場合があります。
  +
  +
=== 古い AMD GPU での Wayland 上でのクラッシュ ===
  +
  +
Gamescope 3.14.3 は、Wayland セッションのパフォーマンスを向上させるために [https://github.com/ValveSoftware/gamescope/commit/ce1156af053239e662aa021dbfc6a64cb770f64a Wayland バックエンド] を導入しました。ただし、これは現在、古い AMD GPU では動作しません。[https://github.com/ValveSoftware/gamescope/issues/1218 issue #1218] を上流で追跡してください。
  +
  +
Gamescope の起動時に、次のようなメッセージでクラッシュします:
  +
  +
gamescope: types/wlr_linux_dmabuf_v1.c:526: feedback_compile: Assertion `table_len > 0' failed.
  +
  +
これを回避するには、クラシックな SDL2 バックエンドを {{ic|--backend}} オプションで強制します:
  +
  +
$ gamescope --backend sdl -- ''game''
  +
  +
=== スワップチェーンエラー ===
  +
  +
スワップチェーンエラーの一般的な原因は、mangoapp の代わりに誤って mangohud を使用しようとすることです。上記の[[#使用方法]]の Mangoapp セクションを参照してください。
  +
  +
=== Steam から gamescope を起動し、約 24 分後にカクつく ===
  +
  +
Steam から gamescope を起動した後、約 24 分後に大きなカクつきが発生する場合、Steam オーバーレイを有効にするか {{ic|-e}} オプションを使用するか、または環境変数 {{ic|LD_PRELOAD}} を異なる値に置き換えることで、この問題を修正できます。例えば次のようにします:
  +
$ LD_PRELOAD="" gamescope -- %command%
  +
詳細は [https://github.com/ValveSoftware/gamescope/issues/163 issue #163] を参照してください。
  +
  +
== 参照 ==
  +
* [https://github.com/ValveSoftware/gamescope Gamescope Github ページ]
 
* [https://github.com/sonic2kk/steamtinkerlaunch/wiki/GameScope Gamescope at Steamtinkerlaunch Github Wiki]
 
* [https://github.com/sonic2kk/steamtinkerlaunch/wiki/GameScope Gamescope at Steamtinkerlaunch Github Wiki]
  +
  +
{{TranslationStatus|Gamescope|2024-09-08|814563}}

2024年9月11日 (水) 19:17時点における最新版

Gamescope は、Steam Deck で使用される Valve が開発したマイクロコンポジタです。その目的は、ゲームに特化した分離型コンポジターを提供することであり、以下のようなゲーム中心の機能を数多くサポートしている:

  • 解像度のなりすまし
  • AMD FidelityFX™ Super Resolution や NVIDIA Image Scaling を使ったアップスケーリング
  • フレームレートの制限

マイクロコンポジタとして、既存のデスクトップ環境の上にネストされたセッションとして実行するよう設計されていますが、埋め込みコンポジタとしても使用することができます。

現在、Wayland クライアントのネイティブサポートはありません [1]。Wayland セッションでは、XWayland を使用します。

インストール

Gamescope は、gamescope パッケージ(または gamescope-gitAUR パッケージ)でインストールできます。さらに、メインラインビルドには含まれていない追加のパッチが含まれた gamescope-plusAUR もあります。

要件

  • AMD:Mesa 20.3 以上
  • Intel:Mesa 21.2 以上
  • NVIDIA:プロプライエタリドライバー 515.43.04 以上、および nvidia-drm.modeset=1 カーネルパラメータ

使用方法

Gamescope には多くのオプションがありますが、ここではすべてをカバーすることはできません。完全なリストを表示するには、ターミナルから gamescope --help コマンドを使用してください。

デスクトップセッションから

以下のコマンドは、Gamescope を使用して supertuxkart を実行し、1920x1080 の解像度で 60 FPS を強制します。

$ gamescope -W 1920 -H 1080 -r 60 -- supertuxkart

Steamから

以下のコマンドを使用して、Steam を Big Picture Mode で Gamescope を使用して実行することができます。

$ gamescope -e -- steam -gamepadui
ノート: -e フラグは、Gamescope で Steam Integration を有効にするためのものです。

また、Steam から Gamescope を使用してゲームを実行するには、ゲームの起動オプションに以下を追加します。

gamescope -- %command%
ノート: Steam から起動する場合でも、解像度や FPS などのフラグを設定する必要があります。それ以外の場合、Gamescope は正しくない解像度で起動します。ターミナルと同じ方法でこれを行うことができます。例えば
gamescope -W 1920 -H 1080 -r 60 -- %command%

Wineから

Wine を介して Gamescope を使用してプログラムを実行するには、wine に続けて実行可能ファイルを指定してください。

$ gamescope -W 1920 -H 1080 -r 60 -- wine supertuxkart

ほとんどの人気のある Wine マネージャー(LutrisBottlesPlayOnLinux)は Gamescope をサポートしています。これらを使用するのは、必要な Gamescope パッケージをインストールし、「Gamescope を使用する」(または同様の)オプションをチェックするだけです。

ノート: Wine マネージャーは、基本的な Gamescope オプションを設定する GUI インターフェースを持つことが多いため、一般的には Gamescope を使用する最も簡単な方法です。

Through Flatpak

Flatpak 版の Wine マネージャーや Steam からも、パッケージインストールと同じ方法で Gamescope を使用できます。ただし、まず以下のコマンドで Flathub から Gamescope をインストールする必要があります。

$ flatpak install gamescope

アップスケーリング

-U フラグと -Y フラグを使用して、AMD FidelityFX™ Super Resolution(FSR)または NVIDIA Image Scaling(NIS)を使用してゲームをアップスケールすることができます。また、-i を使用して整数アップスケーリングを行うこともできます。

720p のゲームを FSR を使用して 1440p にアップスケーリングするには:

$ gamescope -h 720 -H 1440 -U -- supertuxkart

1080p の内部解像度でゲームを実行し、NIS を使用して 4K に表示するには:

$ gamescope -w 1920 -h 1080 -W 3840 -H 2160 -Y -- supertuxkart

HDR サポート

Gamescope は、ゲームの HDR10 サポートを有効にするために必要です。この機能を利用するには、--hdr-enabled フラグを使用して Gamescope セッションを起動する必要があります。

ノート: Linux での HDR サポートはまだ始まったばかりで、多くの注意点があります。詳細については HDR モニターのサポート を参照してください。

Wayland サポート

Gamescope はデフォルトでは Wayland クライアントをサポートしていません。Wayland クライアントのサポートを有効にするには、Gamescope のパラメータに --expose-wayland フラグを追加してください。

SDR ガマットの広さ

SteamOS 3.5.5 以降、Valve は Steam Deck の LCD 用のデフォルトの色レンダリングを変更しました。この効果は、SDR コンテンツのガマットの「広さ」を変更することによって Gamescope で実現され、調整によってはより暖かく鮮やかな色の見え方になります。

Steam のゲームの起動オプションに、--sdr-gamut-wideness とその後に 0 から 1 の範囲の値を追加します:

gamescope --sdr-gamut-wideness 1 -- %command%

Mangoapp

従来の MangoHud を gamescope で使用することは サポートされていません。代わりに gamescope 引数 --mangoapp を使用する必要があります。これにより、MangoHud は基礎となるアプリケーションの代わりに gamescope 上で動作します。FSR や HDR のステータスを表示するなど、特定の MangoHud 設定には、gamescope で mangoapp を使用する必要があります。

可変リフレッシュレート

モニターが対応している場合、--adaptive-sync フラグを渡して可変リフレッシュレートを有効にします。

トラブルシューティング

フルスクリーンへの切り替えが低性能を引き起こす

これは、Gamescope のフルスクリーンホットキー Meta+f を使用するときの既知のバグです。この問題に遭遇した場合、ゲームを起動するときにフルスクリーンフラグ -f を使用することで回避できます。

Gamescope の優先度を設定する

低性能やスタッタリングのもう一つの既知の原因は、Gamescope の優先度が正しく設定されていないことです。Gamescope が実行されている間に、ターミナルで CAP_SYS_NICE に関するエラーが表示される場合、これが原因だとわかります。次のコマンドで修正できます:

# setcap 'CAP_SYS_NICE=eip' $(which gamescope)
警告: このコマンドを使用すると、いくつかの Vulkan 環境変数が無視される原因になります。例えば、MESA_VK_DEVICE_SELECT を設定して Gamescope に使用する GPU を指定した場合などです。こちら を参照してください。この制限を回避するためには、ananicy-gitAUR などを使用することができます。

NVIDIA 上の Flatpak でウィンドウが表示されない

これは、Flatpak Gamescope が NVIDIA DRM の GBM バックエンドにアクセスできないためです。以下のコマンドを使用して環境変数を設定することで解決できます:

$ flatpak override --env=GBM_BACKENDS_PATH=/usr/lib/x86_64-linux-gnu/GL/nvidia-XXX-YY-ZZ/extra/gbm packageid

ここで、packageid は Gamescope の Flatpak パッケージ識別子 または Gamescope を使用したいアプリ(例えば Bottles)の識別子です。nvidia-XXX-YY-ZZ を、現在インストールされている NVIDIA ドライバーのバージョンに置き換えます。Flatpak 内でバージョンを確認するには、次のコマンドを使用します:

$ flatpak run --command=ls packageid /usr/lib/x86_64-linux-gnu/GL

ここで、packageid は任意の Flatpak パッケージ識別子です。このディレクトリは Flatpak 内でのみ存在することに注意してください。

ノート:
この記事またはセクションは加筆を必要としています。
理由: このステップは、pacman フック によって自動化される可能性があります。 (議論: トーク:Gamescope#)

このコマンドは、ドライバーの更新ごとに再実行し、適宜修正する必要があります。

Intel グラフィックスでの画像破損

Intel グラフィックスで Gamescope が破損した色の画像を出力する場合、損失なしの色圧縮を無効にすると、メモリ帯域幅の増加を代償に回避できます。[2] これを無効にするには、INTEL_DEBUG=noccs 環境変数を渡してください。

HDR 有効時に VRR がカクつく

VRR と HDR が独立して動作する場合でも、両方が有効になっているとフレームレートが不安定になる場合は、HDR のコンポジット時間が長いために問題が発生している可能性があります。詳細は https://github.com/ValveSoftware/gamescope/issues/1006 を参照してください。これは、埋め込みモードで Gamescope を使用している場合にのみ適用され、既存の Wayland または X セッション内で Gamescope を使用している場合には適用されません。

AMD グラフィックスを使用している場合は、ハードウェアプレーンを使用して最終画像を合成する実験的な AMD カラーマネジメントを使用することで、この問題を解決できます。これには、次のいずれかのセットアップが必要です:

Steam Deck カーネル

実験的な AMD カラーマネジメントを有効にした Linux カーネル

Linux 6.8 以降で、KCFLAGS-DAMD_PRIVATE_COLOR を含むようにコンパイルされたもの、例えば linux-amd-colorAUR

高ポーリングレートのマウスが原因のカクつき

高ポーリングレートのマウス(4000Hz で観測された)をゲームウィンドウ内で動かすと、カクつきや一時的なフリーズが発生する場合があります。[3] 1000Hz のような低いポーリングレートを設定することで、この問題を回避できる場合があります。

古い AMD GPU での Wayland 上でのクラッシュ

Gamescope 3.14.3 は、Wayland セッションのパフォーマンスを向上させるために Wayland バックエンド を導入しました。ただし、これは現在、古い AMD GPU では動作しません。issue #1218 を上流で追跡してください。

Gamescope の起動時に、次のようなメッセージでクラッシュします:

gamescope: types/wlr_linux_dmabuf_v1.c:526: feedback_compile: Assertion `table_len > 0' failed.

これを回避するには、クラシックな SDL2 バックエンドを --backend オプションで強制します:

$ gamescope --backend sdl -- game

スワップチェーンエラー

スワップチェーンエラーの一般的な原因は、mangoapp の代わりに誤って mangohud を使用しようとすることです。上記の#使用方法の Mangoapp セクションを参照してください。

Steam から gamescope を起動し、約 24 分後にカクつく

Steam から gamescope を起動した後、約 24 分後に大きなカクつきが発生する場合、Steam オーバーレイを有効にするか -e オプションを使用するか、または環境変数 LD_PRELOAD を異なる値に置き換えることで、この問題を修正できます。例えば次のようにします:

$ LD_PRELOAD="" gamescope -- %command%

詳細は issue #163 を参照してください。

参照

翻訳ステータス: このページは en:Gamescope の翻訳バージョンです。最後の翻訳日は 2024-09-08 です。もし英語版に 変更 があれば、翻訳の同期を手伝うことができます。