¿Cómo puedo ejecutar un ejecutable y decirle que use mi GPU NVIDIA discreta en lugar de la integrada?

¿Cómo puedo ejecutar un ejecutable y decirle que use mi GPU NVIDIA discreta en lugar de la integrada?

Tengo una computadora portátil con una tarjeta gráfica discreta y una integrada. Quiero ejecutar un archivo ejecutable del juego usando la GPU discreta, pero en su lugar se ejecuta en la placa base. ¿Cómo puedo ejecutarlo con la GPU discreta?

El juego no está instalado. Es una carpeta donde ejecuto el ARCHIVO ejecutable.

  • OS: ¡Papá! SO (Gnomo)
  • CPU: amd ryzen 5 serie 4000
  • GPU: NVIDIA GTX 1650
  • juego: ciudades:skyline
  • RAM: 16 gigas
  • Explorador de archivos - Nautilus

Opción gráfica discreta

Obtengo esta opción para aplicaciones instaladas, pero ¿cómo puedo obtenerla para archivos ejecutables?

Intenté crear la aplicación de escritorio.

Archivo: ubicación - /usr/share/applications/Cities.desktop - y al hacer doble clic se abre el explorador de archivos

[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

Respuesta1

Para las GPU AMD o Intel, configurar la variable de entorno DRI_PRIME=1debería ser suficiente.

Para las GPU nVidia, también necesita __GLX_VENDOR_LIBRARY_NAME=nvidia, __NV_PRIME_RENDER_OFFLOAD=1y __VK_LAYER_NV_optimus=NVIDIA_only.

(La opción de menú "Iniciar usando tarjeta gráfica discreta" utiliza internamente elcontrol-de-cambioservicio y los obtuve de su código fuente; No estoy 100% seguro de si todos ellos todavía son necesarios hoy en día).

IpensarHay una prime-runherramienta para nVidia, pero en realidad no sé si hace algo más que lo anterior.

Para incluirlos en su .desktoparchivo, necesita algo como (tenga en cuenta los dos conjuntos de comillas, dobles en el exterior y simples alrededor de la ruta):

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

información relacionada