実行可能ファイルを実行して、オンボード GPU ではなく個別の NVIDIA GPU を使用するように指示するにはどうすればよいですか?

実行可能ファイルを実行して、オンボード GPU ではなく個別の NVIDIA GPU を使用するように指示するにはどうすればよいですか?

ディスクリート グラフィック カードとオンボード グラフィック カードの両方を搭載したラップトップを持っています。ゲーム実行ファイルをディスクリート GPU を使用して実行したいのですが、オンボード GPU で実行されてしまいます。どうすればディスクリート GPU で実行できるでしょうか?

ゲームはインストールされていません。実行可能ファイルを実行するフォルダです。

  • OS: ポップ! OS (Gnome)
  • CPU: amd ryzen 5 4000シリーズ
  • GPU: NVIDIA GTX 1650
  • ゲーム: シティーズ:スカイライン
  • RAM: 16ギガ
  • ファイルエクスプローラー - Nautilus

個別グラフィックオプション

インストールされたアプリではこのオプションが表示されますが、実行可能ファイルでこのオプションを表示するにはどうすればいいでしょうか?

デスクトップアプリケーションを作成しようとしました

ファイル: 場所 - /usr/share/applications/Cities.desktop - ダブルクリックするとファイルエクスプローラーが開きます

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec="/home/{username}/Games/linux games/Cities - Skylines Collection/Cities.x64"
Name=Cities:Skyline
Icon="/home/{username}/Games/linux games/Cities - Skylines Collection/LauncherAssets/game-logo.png"

__GLX_VENDOR_LIBRARY_NAME=nvidia
__NV_PRIME_RENDER_OFFLOAD=1
__VK_LAYER_NV_optimus=NVIDIA_only

答え1

AMD または Intel GPU の場合は、環境変数を設定することでDRI_PRIME=1問題が解決するはずです。

nVidia GPU の場合は、さらに__GLX_VENDOR_LIBRARY_NAME=nvidia、、__NV_PRIME_RENDER_OFFLOAD=1およびが必要です__VK_LAYER_NV_optimus=NVIDIA_only

(「ディスクリートグラフィックカードを使用して起動」メニューオプションは、内部的にスイッチャーコントロールサービスから取得したもので、ソースコードから取得したものです。これらすべてが現在でも必要かどうかは 100% 確信がありません。

考えるnVidia 用のツールもありますprime-runが、上記以上の機能があるかどうかは実際にはわかりません。

これらをファイルに含めるには.desktop、次のようなものが必要です (外側は二重引用符、パスの周囲は単一引用符の 2 セットに注意してください)。

[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Terminal=false
Exec=sh -c "__GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only '/home/{username}/Games/linux games/Cities - Skylines Collection/Cities.x64'"
Name=Cities:Skyline
Icon="/home/{username}/Games/linux games/Cities - Skylines Collection/LauncherAssets/game-logo.png"

関連情報