---
title: Guía de configuración de doble GPU
ai_translated: true
---

import ImageComponent from '~/components/image-component.astro';

## ¿Qué son los gráficos híbridos?

Los gráficos híbridos son una configuración de hardware en la que tienes dos tarjetas
gráficas que pueden trabajar en conjunto. Este enfoque se encuentra principalmente en
portátiles donde tienes los gráficos integrados (iGPU) de tu CPU y los
gráficos discretos (dGPU).

La principal ventaja es que los gráficos integrados solo deberían (pero no necesariamente)
usarse para tareas de bajo perfil, como navegar por Internet, ver videos, etc.
Por otro lado, los gráficos discretos se utilizan para tareas de alto rendimiento
como jugar videojuegos, editar video, modelar en 3D, y demás.

En consecuencia, si dos GPU se reparten las tareas "grandes" y "pequeñas", entonces si solo tenemos
tareas "pequeñas" ejecutándose en el momento, no necesitamos usar nuestra dGPU, por lo que puede
simplemente desactivarse (como si estuviera dormida), reduciendo así significativamente el consumo de energía.
De esta manera, cuando nuestra dGPU sea necesaria de nuevo (al ejecutar una aplicación que la utilice),
se despertará y comenzará a funcionar.

## ¿Qué es PRIME Offload?

PRIME es una tecnología unificadora para trabajar con diferentes conjuntos de gráficos
híbridos en Linux, como NVIDIA Optimus/AMD Dynamic Switchable Graphics. PRIME
Offload es una implementación de la idea de trasladar la ejecución del renderizado
de una GPU a otra en Linux.

El soporte de PRIME en el controlador cerrado de NVIDIA en realidad comenzó recién con el controlador 435.17.
Así que si eres usuario de las ramas de controladores obsoletas 390xx o incluso 340xx,
PRIME Offload no funcionará para ti. Ten en cuenta que también
desaconsejamos encarecidamente el uso de métodos anticuados para manejar gráficos híbridos,
como nvidia-xrun o Bumblebee. Están obsoletos y sin soporte (Bumblebee
no se ha actualizado en más de 8 años), funcionan únicamente a base de "hacks" y tienen bajo
rendimiento. Al mismo tiempo, el controlador Nouveau sí soporta PRIME Offload, lo que
puede ser una alternativa para dGPU más antiguas.

En CachyOS, **no necesitas configurar nada para que PRIME Offload funcione**.
Con el paquete nvidia-utils y cachyos-settings ya tienes todo lo que
necesitas para usar PRIME Offload.

Además, por favor, evita usar herramientas como optimus-manager. Pueden parecerte bastante prácticas,
pero créenos, pueden causar muchos problemas y realmente no las
necesitas si tu dGPU soporta PRIME Offload y la gestión dinámica de energía.

### Cómo usar PRIME Offload

Para indicar a PRIME que quieres usar los gráficos discretos en lugar de los integrados,
debes especificar una serie de variables de entorno antes de ejecutar el
programa:

```bash
__NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only __GLX_VENDOR_LIBRARY_NAME=nvidia <programa>
```

Este conjunto de variables parece muy engorroso y fácil de olvidar, por lo que puedes
instalar el paquete `nvidia-prime` (`sudo pacman -S nvidia-prime`), que
contiene un alias de script para todas estas variables. Entonces, ejecutar una aplicación
con él se vería así:

```bash
prime-run <programa>
```

Donde `<programa>` es el nombre del comando que ejecuta tu aplicación.

:::note
Algunos juegos DX12 tienen problemas para elegir la dGPU incluso con `prime-run`.
Para solucionarlo, añade la variable de entorno `VK_DRIVER_FILES=/usr/share/vulkan/icd.d/nvidia_icd.json`
antes del script `prime-run`.
:::

Para configuraciones donde ambas tarjetas gráficas son gestionadas por los controladores abiertos Mesa
(por ejemplo, AMD+AMD, AMD+Intel o incluso Intel+NVIDIA donde los gráficos discretos NVIDIA
son gestionados por el controlador de código abierto Nouveau), no es necesario configurar nada y
para usar los gráficos discretos solo necesitas especificar la variable de entorno `DRI_PRIME=1`
antes de lanzar aplicaciones o juegos, de manera similar a todas
esas variables descritas anteriormente para NVIDIA, o usar los métodos gráficos ya preparados
que se discuten a continuación.

## Método gráfico

Puede que te resulte incómodo lanzar todas las aplicaciones necesarias a través de la terminal usando `prime-run`.
Afortunadamente, algunas aplicaciones y entornos de escritorio proporcionan herramientas para controlar qué GPU se utiliza para aplicaciones específicas.

### Lutris

Para configurar los juegos para que se ejecuten con gráficos discretos en Lutris, debes ir a
la configuración (tres rayas en la esquina inferior derecha de la ventana y
el botón "Preferences"). Luego, ve a *"Global Options"* -> *"Display"*. Aquí puedes seleccionar la GPU en la que se ejecutará el juego.

<br />
<ImageComponent imgsrc={import('~/assets/images/lutris-prime.png')} />

### Steam

Steam no tiene una configuración específica para forzar a un juego a usar los gráficos discretos. Sin embargo, puedes acceder a las propiedades del juego haciendo clic en el icono del engranaje antes de lanzarlo. En el campo "Launch options", puedes añadir el comando prime-run o las variables de entorno.
Ejemplo:

```bash
prime-run %command%
```

Asegúrate de añadir `%command%` después de `prime-run`. Recuerda que las opciones del juego van después del marcador de posición,
mientras que las variables de entorno del sistema o los comandos deben precederlo.

Para ejecutar un juego en los gráficos integrados en su lugar, usa la siguiente opción de lanzamiento como ejemplo para gráficos integrados Radeon. Esto puede ser deseable para una mayor duración de la batería y un menor ruido del ventilador para juegos de menor potencia.

```bash
VK_DRIVER_FILES=/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json %command%
```

<br />
<ImageComponent imgsrc={import('~/assets/images/steam-prime.png')} />

### KDE Plasma

Plasma tiene una forma muy práctica de configurar el inicio de aplicaciones con
gráficos discretos. Sin embargo, este método solo funciona si el paquete switcheroo-control y su servicio correspondiente están instalados en tu sistema.

En una instalación nueva de CachyOS, este paquete y servicio ya deberían estar
habilitados por defecto a través de chwd.

```bash
sudo pacman -S switcheroo-control
sudo systemctl enable --now switcheroo-control
```

Después de haber ejecutado ambos comandos, haz clic derecho en el lanzador de la aplicación que desees en tu escritorio o en el
menú de aplicaciones, luego ve a *"Properties"* -> *"Application"* -> *"Advanced Options"*.

Deberías tener marcada la casilla *"Run using dedicated graphics card"*.

<br />
<ImageComponent imgsrc={import('~/assets/images/plasma-prime.jpg')} />

:::note
El uso de switcheroo-control permite que estas casillas de verificación funcionen en todas las configuraciones PRIME
que ni siquiera tienen una dGPU de NVIDIA, como AMD-APU+AMD-Dedicada.
:::

### GNOME

En GNOME, también deberías instalar switcheroo-control como se muestra arriba y
hacer clic derecho en el icono de la aplicación y seleccionar *"Ejecutar usando la tarjeta gráfica discreta"*.
Pero ten en cuenta que GNOME no recuerda esta elección para más tarde, y la próxima vez que
ejecutes la aplicación desde el icono, se ejecutará usando los gráficos integrados en lugar de los discretos.

### Cinnamon

Similar a Plasma, Cinnamon también te permite seleccionar la GPU para aplicaciones específicas. Haz clic derecho en el lanzador de la aplicación en el escritorio, ve a Propiedades y activa la opción correspondiente.

<br />
<ImageComponent imgsrc={import('~/assets/images/cinnamon-prime.png')} />

Si no está disponible, asegúrate de tener `switcheroo-control` instalado y
su servicio habilitado, porque todos los entornos de escritorio dependen de él para esta
funcionalidad.

## Solución de problemas

### "Mi monitor externo va muy lento con PRIME"

Este es un problema conocido del controlador de NVIDIA. Debes tener el último controlador de NVIDIA
instalado y usar Wayland con un compositor que soporte "explicit sync".
Para GNOME, esto se ha solucionado en la versión 46.2. Para Plasma 6, probablemente se
solucionará con la versión 6.1, aunque algunos usuarios ya reportan un rendimiento normal en la 6.0.
Otros entornos/gestores de ventanas todavía tienen este problema, por lo que necesitas cambiar
a la última versión de GNOME o Plasma para solucionarlo.

## Solución de problemas

### "Mi monitor externo va muy lento con PRIME"

Este es un problema conocido del controlador de NVIDIA. Debes tener el último controlador de NVIDIA
instalado y usar Wayland con un compositor que soporte "explicit sync".
Para GNOME, esto se ha solucionado en la versión 46.2. Para Plasma 6, probablemente se
solucionará con la versión 6.1, aunque algunos usuarios ya reportan un rendimiento normal en la 6.0.
Otros entornos/gestores de ventanas todavía tienen este problema, por lo que necesitas cambiar
a la última versión de GNOME o Plasma para solucionarlo.
