如何运行可执行文件并告诉它使用我的独立 NVIDIA GPU 而不是板载 GPU?

如何运行可执行文件并告诉它使用我的独立 NVIDIA GPU 而不是板载 GPU?

我有一台带有独立显卡和板载显卡的笔记本电脑。我想使用独立 GPU 运行游戏可执行文件,但它在 obnboard 上运行。如何使用独立 GPU 运行它?

游戏未安装。这是我运行可执行文件的文件夹。

  • 操作系统:噗!操作系统(侏儒)
  • CPU:AMD锐龙5 4000系列
  • 显卡:NVIDIA GTX 1650
  • 游戏:城市:天际线
  • 内存:16GB
  • 文件浏览器 - 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文件中,您需要类似的内容(注意两组引号,外部是双引号,路径周围是单引号):

[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"

相关内容