Como posso executar um executável e dizer para ele usar minha GPU NVIDIA discreta em vez da GPU integrada?

Como posso executar um executável e dizer para ele usar minha GPU NVIDIA discreta em vez da GPU integrada?

Eu tenho um laptop com placa gráfica discreta e integrada. Quero executar um arquivo executável do jogo usando a GPU discreta, mas em vez disso ele é executado na placa-mãe. Como posso executá-lo com a GPU discreta?

O jogo não está instalado. É uma pasta onde executo o arquivo executável.

  • SO: Pop! SO (Gnomo)
  • Processador: amd ryzen 5 série 4000
  • GPU: NVIDIA GTX 1650
  • jogo: cidades: horizonte
  • RAM: 16GB
  • Explorador de arquivos - Nautilus

Opção gráfica discreta

Recebo essa opção para aplicativos instalados, mas como posso obtê-la para arquivos executáveis?

Tentei fazer o aplicativo Desktop

Arquivo: location - /usr/share/applications/Cities.desktop - e clicar duas vezes nele abre o explorador de arquivos

[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

Responder1

Para GPUs AMD ou Intel, definir a variável de ambiente DRI_PRIME=1deve resolver o problema.

Para GPUs nVidia, você também precisa de __GLX_VENDOR_LIBRARY_NAME=nvidia, __NV_PRIME_RENDER_OFFLOAD=1e __VK_LAYER_NV_optimus=NVIDIA_only.

(A opção de menu "Iniciar usando placa gráfica discreta" usa internamente oswitcheroo-controlservice e obtive isso de seu código-fonte; Não tenho 100% de certeza se todos eles ainda são necessários hoje.)

EUpensarexiste uma prime-runferramenta para nVidia, mas na verdade não sei se ela faz algo além do acima.

Para incluí-los em seu .desktoparquivo, você precisa de algo como (observe os dois conjuntos de aspas, duplas na parte externa e simples ao redor do caminho):

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

informação relacionada