---
title: Guía de Gaming con CachyOS
description: 'Cubre la instalación de paquetes esenciales, jugar en Steam con Proton, varias opciones de versiones de Proton, Lutris como un centro para todos los juegos e instaladores de scripts para juegos populares.'
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 4
ai_translated: true
---

import ImageComponent from '~/components/image-component.astro';
import MultipleImageComponent from '~/components/multiple-images-component.astro';
import { Tabs, TabItem, Steps, LinkButton, Icon } from '@astrojs/starlight/components';

Bienvenido a la guía para Jugar en CachyOS. Esto te guiará a través de los aspectos esenciales sobre cómo configurar todo para jugar.

Antes que nada.

*Recuerda: conseguir una mejora de dos dígitos en los FPS no siempre es factible, o incluso posible. A veces, las optimizaciones pueden resultar en mejoras menores o ninguna en absoluto, dependiendo del juego y la configuración del hardware.*

*No puedes esperar que las optimizaciones de software actúen como una mejora gratuita de hardware.*

<ImageComponent imgsrc={import('~/assets/images/gaming-meme.jpeg')} />

## Prerrequisitos

:::caution
Antes de continuar, asegúrate de que los controladores de tu tarjeta gráfica estén instalados y funcionando correctamente, de lo contrario podrías encontrar problemas al jugar.
:::

### Paquetes Esenciales

Para facilitar la configuración de CachyOS para jugar, todos los paquetes de juegos necesarios están agrupados en un metapaquete que incluye todas las dependencias y bibliotecas necesarias para jugar en Linux, y un metapaquete separado para herramientas y lanzadores/tiendas.

*Si encuentras que falta algún paquete, no dudes en hacérselo saber al equipo de CachyOS.*

Sigue los pasos a continuación para comenzar con la configuración de juegos.
<Tabs>
    <TabItem label='CachyOS Hello'>
      - Abre CachyOS Hello. Ve a **Aplicaciones/Ajustes** y haz clic en `Instalar paquetes de juegos`.
      <ImageComponent imgsrc={import('~/assets/images/cachyos_hello-gaming.png')} />
      *CachyOS Hello instala tanto `cachyos-gaming-meta` como `cachyos-gaming-applications`.*
    </TabItem>
    <TabItem label='Metapaquete'>
      El metapaquete `cachyos-gaming-meta` incluye muchas bibliotecas relacionadas con los juegos.
      ```sh
      sudo pacman -S cachyos-gaming-meta
      ```
    </TabItem>
    <TabItem label='Herramientas y Tiendas'>
      El metapaquete `cachyos-gaming-applications` incluye lo siguiente:
      - Herramientas
        - Gamescope, GOverlay, MangoHud
      - Lanzadores
        - Steam, Heroic Games Launcher, Lutris, Faugus Launcher
      ```sh
      sudo pacman -S cachyos-gaming-applications
      ```
    </TabItem>
</Tabs>

## Proton-CachyOS

Proton-CachyOS se basa en la rama `bleeding-edge` de Proton y le aplica una serie de modificaciones.
- **Parches de Wine-staging**
- **Wine Fullscreen FSR**
- **Incluye códecs de video y audio para las cinemáticas de los juegos**
- **Soporte para umu-launcher incluyendo UMU-Protonfixes**
- **Añade correcciones/soluciones tempranas para juegos**

:::note[NTSync está activado por defecto]
Puedes desactivarlo configurando la variable de entorno PROTON_NO_NTSYNC=1
:::

### Cómo Establecer Correctamente Múltiples Opciones de Lanzamiento

Las opciones de lanzamiento en Steam se construyen usando el siguiente patrón.

```bash
<variables_entorno> <wrappers> %command% <argumentos_aplicación>
```

- **`<variables_entorno>`**: Son opciones en la forma `VARIABLE=valor`
  ```bash title="Ejemplos"
  PROTON_DXVK_D3D8=1
  # O
  DXVK_HUD="fps,memory,version,api"
  ```

- **`<wrappers>`**: Son aplicaciones y scripts que modifican cómo se ejecuta la aplicación real. Los argumentos para el wrapper usualmente van después del ejecutable del wrapper.
  ```bash title="Ejemplos"
  mangohud --dlsym
  # O
  gamescope -W 1680 -H 1050 -w 1280 -h 720 -S fit -F fsr --mangoapp --
  ```

- **`%command%`**: Esta es la aplicación real. Debe especificarse exactamente así y Steam la reemplazará con el comando apropiado cuando se ejecute la aplicación.

- **`<argumentos_aplicación>`**: Son varios argumentos para la aplicación real, y dependen de la aplicación.
  ```bash title="Ejemplo"
  %command% -dx11
  ```

**Ejemplo de una opción de lanzamiento completa combinando todos los elementos:**

  ```bash
  __GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 prime-run game-performance %command% -dx11
  ```

:::caution
No añadas múltiples `%command%` usándolos como separadores para múltiples opciones de lanzamiento.

Ejemplo: `__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1 %command% game-performance %command% prime-run %command%`

En este caso, todo lo que sigue al primer `%command%` será ignorado porque se trata como argumentos del juego, por lo tanto solo `__GL_SHADER_DISK_CACHE_SKIP_CLEANUP=1` se reconoce como una opción de lanzamiento.
:::

#### Variables de Entorno

<Tabs>
<TabItem label="Gráficos y Escalado">

- DLSS y Funciones de Nvidia
    - `PROTON_DLSS_UPGRADE=1`: Actualiza automáticamente DLSS a la última versión.
    - `PROTON_DLSS_INDICATOR=1`: Muestra el indicador de estado de DLSS en el juego.
    - `PROTON_NVIDIA_LIBS=1`: Habilita las bibliotecas de Nvidia (PhysX, CUDA) - no es necesario para DLSS/ray tracing.

<details>
<summary>Controles Avanzados de Nvidia</summary>

- `PROTON_NVIDIA_NVCUDA=1`: Habilita solo el soporte para CUDA.
- `PROTON_NVIDIA_NVENC=1`: Habilita solo la codificación NVENC.
- `PROTON_NVIDIA_NVML=1`: Habilita la monitorización NVML.
- `PROTON_NVIDIA_NVOPTIX=1`: Habilita el trazado de rayos OptiX.
- `PROTON_NVIDIA_LIBS_NO_32BIT=1`: Restringe las bibliotecas solo a 64 bits (soluciona problemas de rendimiento en RTX 4000+).
</details>

- Escalado de AMD e Intel
    - `PROTON_FSR4_UPGRADE=1`: Actualiza automáticamente FSR a la última versión.
    - `PROTON_FSR4_RDNA3_UPGRADE=1`: Usa una DLL de FSR4 optimizada para RDNA3.
    - `PROTON_XESS_UPGRADE=1`: Actualiza automáticamente XeSS a la última versión.

</TabItem>

<TabItem label="Pantalla y HDR">

- Wayland y Pantalla
    - `PROTON_ENABLE_WAYLAND=1`: Habilita el soporte nativo de Wayland.
      - **Beneficios**: Permite HDR sin Gamescope; mejora la latencia/el ritmo de fotogramas
      - **Advertencias**: Rompe la Superposición de Steam, actualmente es experimental
    - `PROTON_NO_WM_DECORATION=1`: Deshabilita las decoraciones del gestor de ventanas.
      - **Soluciona**: Problemas con pantalla completa sin bordes, clics del ratón que atraviesan ventanas

- Soporte HDR
    - `PROTON_ENABLE_HDR=1`: Habilita el soporte de salida HDR.
      - **Requisitos**: Gamescope con `--hdr-enabled` O `PROTON_ENABLE_WAYLAND=1`
      - **Configuración**: [Se necesita configuración adicional](https://wiki.archlinux.org/title/HDR_monitor_support)

</TabItem>

<TabItem label="Rendimiento y Caché">

- Rendimiento CPU & Sync
      - PROTON_NO_NTSYNC=1: Usar FSync en lugar de  NTSync.
             - Beneficios: Posibilidad de resolver problemas en ciertos juegos que no funcionan bien con NTSync.

- Gestión de Shaders y Caché
    - `PROTON_LOCAL_SHADER_CACHE=1`: Habilita la caché de shaders por juego, similar a la "Precarga de Shaders" de Steam.
        - **Nota**: Esto NO compila los shaders por adelantado, SOLO aísla la caché de shaders de cada juego. Los shaders se seguirán compilando durante el juego.
    - `PROTON_ENABLE_MEDIACONV=1`: Habilita el Proton Media Converter.
        - **Nota**: Solo para fines de prueba

- AMD Anti-Lag
    - `ENABLE_LAYER_MESA_ANTI_LAG=1`: Habilita AMD Anti-Lag para una latencia de entrada reducida.

</TabItem>

<TabItem label="Entrada y Compatibilidad">

- Mando y Entrada
    - `PROTON_PREFER_SDL=1`: Solución para problemas de detección de mandos
    - `PROTON_NO_STEAMINPUT=1`: Deshabilita el soporte para Steam Input.
        - **Soluciona**: Problemas de mando/gamepad en Wayland

</TabItem>
</Tabs>

### Configurando Proton-CachyOS con Lutris y Heroic

:::note
La siguiente configuración solo se aplica a proton-cachyos. Si estás usando proton-cachyos-slr, -GE o -EM, puedes saltarte esta sección.
:::

Asegúrate de tener umu-launcher de CachyOS instalado en tu sistema. Instálalo con el siguiente comando.
```sh
sudo pacman -S cachyos/umu-launcher
```

<Tabs>
    <TabItem label='Lutris Global'>
    <Steps>
    1. En la pantalla principal de Lutris, haz clic en el ícono de engranaje junto a Wine.
    2. Ve a la pestaña **Opciones del Ejecutor** y confirma que tu configuración coincida con lo siguiente:
        - **Versión de Wine** = `proton-cachyos`
        - **Usar Winetricks del sistema** = *Desactivado*
        - **Gráficos**
            - **Activar DXVK** = `Activado`
              - Nota: Las versiones definidas por el usuario de **DXVK**, **VKD3D**, y **DXVK-NVAPI** no se aplican al usar `umu-launcher`.
    3. Navega a la pestaña **Opciones del Sistema**.
        - **Lutris**
            - **Desactivar el Runtime de Lutris** = `Activado`
            - **Preferir bibliotecas del sistema** = `Activado`
    4. Continúa desplazándote hacia abajo hasta la sección **Ejecución del juego** y localiza la tabla **Variables de entorno**.
    5. Añade las siguientes variables de entorno:
        - **Clave**: `UMU_RUNTIME_UPDATE` *opcional*
            - **Valor**: `0`
            - *Esto omitirá las actualizaciones de Steam Linux Runtime para proton-cachyos. No uses esto con ningún Proton que utilice Steam Linux Runtime, como proton-cachyos-slr, -GE, o -EM.*
        - **Clave**: `PROTON_VERB` *opcional*
            - **Valor**: `waitforexitandrun`
            - *Esto permite que los protonfixes funcionen con un GAMEID correspondiente.*
    6. Haz clic en **Guardar** para aplicar los cambios.
    </Steps>
    </TabItem>
    <TabItem label='Lutris por Juego'>
    <Steps>
    1. Haz clic derecho en el juego que quieres configurar, luego haz clic en **Configurar**.
    2. Ve a la pestaña **Opciones del Ejecutor** y confirma que tu configuración coincida con lo siguiente:
        - **Versión de Wine** = `proton-cachyos`
        - **Usar Winetricks del sistema** = *Desactivado*
        - **Gráficos**
            - **Activar DXVK** = `Activado`
              - Nota: Las versiones definidas por el usuario de **DXVK**, **VKD3D**, y **DXVK-NVAPI** no se aplican al usar `umu-launcher`.
    3. Navega a la pestaña **Opciones del Sistema**.
        - **Lutris**
            - **Desactivar el Runtime de Lutris** = `Activado`
            - **Preferir bibliotecas del sistema** = `Activado`
    4. Continúa desplazándote hacia abajo hasta la sección **Ejecución del juego** y localiza la tabla **Variables de entorno**.
    5. Añade las siguientes variables de entorno:
        - **Clave**: `UMU_RUNTIME_UPDATE` *opcional*
            - **Valor**: `0`
            - *Esto omitirá las actualizaciones de Steam Linux Runtime para proton-cachyos. No uses esto con ningún Proton que utilice el Steam Linux Runtime, como proton-cachyos-slr, -GE, o -EM.*
        - **Clave**: `PROTON_VERB` *opcional*
            - **Valor**: `waitforexitandrun`
            - *Esto permite que los protonfixes funcionen con un GAMEID correspondiente.*
    6. Haz clic en **Guardar** para aplicar los cambios.
    </Steps>
    </TabItem>
    <TabItem label='Heroic Games Launcher'>
        <Steps>
            1. Haz clic en el botón `Configurar` junto al botón `Jugar Ahora` en el juego que quieres ejecutar.
            2. En la pestaña `WINE`. Establece la Versión de Wine a `Proton - proton-cachyos`.
        </Steps>
    </TabItem>
</Tabs>

### Soporte Anti-Cheat

:::caution[Importante]
Si tienes problemas con juegos que usan **Easy Anti-Cheat** (EAC) o **BattlEye** (BE), como que se nieguen a iniciar sesión en los servidores del juego, puedes usar la versión de [Proton-CachyOS construida con Steam Linux Runtime](https://github.com/CachyOS/proton-cachyos/releases), también conocida como **proton-cachyos-slr**.
:::

### Cómo Instalar proton-cachyos-slr

<Tabs>

<TabItem label='protonup'>

<Steps>
1. Abre una terminal e instala `protonup`.
    ```sh
    sudo pacman -S protonup-qt
    ```
2. Abre **protonup-qt** y sigue la captura de pantalla:
    <ImageComponent imgsrc={import('~/assets/images/steam-protonup.png')} />
    :::note
    Elige la versión `x86-64_v3` si tu CPU soporta **[AVX2](/installation/installation_prepare#x86_64-microarchitecture-level-support)**.

    De lo contrario, descarga la que termina en `x86-64`.
    :::
3. Reinicia Steam si lo tenías abierto.

</Steps>

</TabItem>

<TabItem label='pacman'>
```sh title='Ejecuta el siguiente comando'
sudo pacman -S proton-cachyos-slr
```
</TabItem>

</Tabs>

<details>
<summary>Instalación Manual (Avanzado)</summary>

<Steps>
1. Descarga la última versión [aquí](https://github.com/CachyOS/proton-cachyos/releases) (desplázate hacia abajo hasta **Assets**).
    :::note
    Elige la que termina en `x86-64_v3` si tu CPU soporta **[AVX2](/installation/installation_prepare#x86_64-microarchitecture-level-support)**
    De lo contrario, descarga la que termina en `x86-64`.
    :::
2. Descomprime el archivo y mueve la carpeta a `~/.steam/steam/compatibilitytools.d/`
3. Reinicia Steam si lo tenías abierto.
</Steps>

</details>

## Wine-CachyOS

Este es el mismo `wine` que se encuentra en el núcleo de `proton-cachyos`, pero como un paquete independiente. Se puede usar en Lutris, Heroic, Bottles y otros.

- **Todas las modificaciones de Wine incluidas con Proton-CachyOS**
- **Añade hotfixes/soluciones tempranas para juegos**

:::note
En los repositorios de CachyOS, **Wine-CachyOS** es ofrecido por dos paquetes diferentes. `wine-cachyos` lo instala como el Wine predeterminado del sistema y reemplaza a `wine` o `wine-staging`. `wine-cachyos-opt` lo instala en una ubicación diferente, lo que permite que coexistan múltiples versiones de wine en el sistema.
:::

:::caution
El uso principal de **Wine-CachyOS** es para **juegos**. Aunque se puede usar como un Wine de sistema con aplicaciones de escritorio, ten en cuenta que podría provocar comportamientos inesperados y problemas debido a las modificaciones enfocadas en juegos.

Si quieres usar aplicaciones de escritorio, sugerimos usar `wine` o `wine-staging` como el Wine de tu sistema e instalar `wine-cachyos-opt` para jugar.
:::

**Opciones de configuración adicionales**

- `WINE_WMCLASS="<nombre>"`: Establece la `WM_CLASS` de todas las ventanas de Wine, permitiendo que el gestor de ventanas controle las ventanas de Wine a través de reglas.
- `WINEUSERSANDBOX=1`: Deshabilita la creación de enlaces simbólicos desde las carpetas de usuario de Wine (como Documentos e Imágenes) a las carpetas equivalentes en el directorio `HOME` del usuario.
- `WINE_NO_WM_DECORATION=1`: Deshabilita las decoraciones de las ventanas. Puede solucionar problemas con la **pantalla completa sin bordes** y el clic del ratón a través de la ventana.
- `WINE_PREFER_SDL_INPUT=1`: Solución para problemas de detección de mandos.

### Cómo Usar wine-cachyos-opt

<Tabs>
    <TabItem label='Independiente'>
    Normalmente, ejecutar `/opt/wine-cachyos/bin/wine` en lugar de solo `wine` debería ser suficiente para que una aplicación se ejecute usando `wine-cachyos-opt`.

    Si se requiere una configuración más estricta, podría verse así:
    ```shell
    export PATH="/opt/wine-cachyos/bin/:$PATH"
    export WINEDLLPATH="/opt/wine-cachyos/lib/wine:/opt/wine-cachyos/lib32/wine:$WINEDLLPATH"
    export LD_LIBRARY_PATH="/opt/wine-cachyos/lib/:/opt/wine-cachyos/lib32/:$LD_LIBRARY_PATH"
    ```

    Si quieres usar `winetricks` con `wine-cachyos-opt`, puedes invocarlo así:
    ```shell
    WINE=/opt/wine-cachyos/bin/wine WINEPREFIX=<tu_prefijo> winetricks <verbo>
    ```
    </TabItem>
    <TabItem label='Lutris'>
      :::note
      La segunda imagen también se aplica para configurarlo por juego.
      :::
      <MultipleImageComponent
      images={[
      import('~/assets/images/lutris-guide-1.png'),
      import('~/assets/images/lutris-guide-2.png')]}
      />
    </TabItem>
    <TabItem label='Heroic Games Launcher'>
      <MultipleImageComponent
      images={[
      import('~/assets/images/heroic-wine.png'),
      import('~/assets/images/heroic-wine-2.png'),
      import('~/assets/images/heroic-wine-3.png')]}
      />
    </TabItem>
</Tabs>

## Preguntas Frecuentes y Consejos de Steam

:::note
Los usuarios de portátiles con GPUs Nvidia dedicadas deben consultar la [guía de Laptops con Doble GPU](/es/configuration/dual_gpu/).
:::

:::tip
CachyOS proporciona varias versiones de Proton que se compilan y mantienen para obtener mayores mejoras de rendimiento:
- `proton-cachyos` (incluido en el paquete `cachyos-gaming-meta`) se desarrolla con cambios de calidad de vida añadidos, parches seleccionados.
:::

:::tip
Para comprobar si un juego es compatible con Linux, o cómo funciona en Linux, visita **[ProtonDB](https://www.protondb.com/)** o **[Are We Anti-Cheat Yet?](https://areweanticheatyet.com/)**.
:::

### ¿Qué Versión de Proton Debería Usarse en Steam?

:::note
Debido a la confusión que hay en **Reddit**, la versión nativa de `Proton-CachyOS` no va a ser descontinuada como resultado de que `steam-native-runtime` haya sido descontinuado.

No están relacionados y son irrelevantes entre sí. Últimamente nuestra sugerencia ha sido el SLR, **que también instalamos por defecto**, para reducir la confusión y los problemas para los recién llegados a CachyOS y Linux en general. Si te gusta la versión nativa y te funciona, sigue usándola.
:::

- `Proton 10.0` es la versión estable de `Valve`. Usa esta si el juego que quieres jugar es conocido por funcionar bien con ella.
- `Proton Experimental` es la versión más reciente de `Valve`. Usa esta si el juego que quieres jugar es relativamente nuevo, no funciona bien con la versión estable actual de Proton, o si la gente lo recomienda en **[ProtonDB](https://www.protondb.com/)**.
- `proton-cachyos-slr` es la versión compilada y mantenida por los mantenedores de CachyOS. Su uso es muy recomendable debido a sus diversas características de calidad de vida, correcciones y optimizaciones. Para juegos que usan anti-cheat, como **BattlEye** o **Easy Anti-Cheat**, o lanzadores personalizados, se prefiere `proton-cachyos-slr`.
- `proton-cachyos` es la misma versión que `proton-cachyos-slr` pero compilada sin depender del Steam Linux Runtime. Úsala solo si entiendes la importancia de esta diferencia, y vuelve a `proton-cachyos-slr` si surgen problemas.
- `Proton-GE` es una compilación personalizada hecha por [GloriousEggroll](https://github.com/GloriousEggroll/proton-ge-custom). Incluye varias correcciones y puede ser útil tenerla en ciertas situaciones.
- `Proton 9.0.4 o inferior` son las versiones estables de `Valve`. Usa esta si el juego que quieres jugar solo funciona con una versión anterior de Proton.

### Arreglar el Stuttering Causado por la Función de Grabación de Juegos de Steam

:::caution
Añadir esta variable de entorno hace que el **Overlay de Steam** deje de funcionar.
:::

Añade la siguiente opción de lanzamiento a tu juego.

```sh
LD_PRELOAD="" %command%
```

### Capturar y Compartir Registros de Proton

:::note
Al compartir registros con CachyOS, por favor, súbelos a **[paste-cachyos](https://paste.cachyos.org/)** en lugar de publicarlos directamente.

Simplemente puedes arrastrar y soltar el archivo de registro en el sitio web, y luego compartir el enlace generado.
:::

Para habilitar el registro de Proton para un juego:

<Steps>
    1. Haz clic derecho en tu juego en Steam y selecciona **Propiedades**.
    2. En **Parámetros de lanzamiento**, establece la variable de entorno `PROTON_LOG`:
        ```sh
        PROTON_LOG=1 %command%
        ```
        Esto creará un archivo de registro en tu directorio personal llamado `steam-<AppID>.log` (por ejemplo, Counter Strike 2 usa el AppID **730**, por lo que el archivo sería `steam-730.log`).
</Steps>

<details>
<summary>Directorio de Registros Personalizado</summary>

Para establecer un directorio de registros personalizado, usa `PROTON_LOG_DIR`:

```bash title='Ejemplo'
PROTON_LOG=1 PROTON_LOG_DIR=/home/cachyos/steam-logs %command%
```
</details>

### Pre-caché de Shaders con Proton-CachyOS, -GE y -EM

:::note
Se recomienda desactivar la función de pre-caché de shaders de Steam cuando se utiliza Proton-CachyOS, Proton-GE o Proton-EM. Ya contienen todos los códecs necesarios para reproducir videos dentro de los juegos, y hoy en día, una combinación de GPU-CPU relativamente moderna debería ser más que capaz de lidiar con la compilación de shaders en el juego.

Sin embargo, si tienes tiempo de sobra, puedes ignorar este consejo y dejar que Steam precompile algunos shaders para tu juego.

**Ten en cuenta que no todo se guarda en la caché durante este proceso, y las actualizaciones de la versión de Proton utilizada para compilar los shaders pueden requerir una recompilación completa de los shaders.**
:::

#### Para desactivar esta función en Steam

En Steam, haz clic en `Steam`->`Parámetros`, ve a `Descargas`, y desmarca estas opciones:
- **Permitir el procesamiento en segundo plano de sombreadores de Vulkan**
- **Activar el precargado en la caché de sombreadores**

:::note
Es muy recomendable [aumentar el tamaño máximo de la caché de shaders](#aumentar-el-tamaño-máximo-de-la-caché-de-shaders) después de desactivar el precargado de shaders en Steam.
:::

### Reutilizar una Partición de Juegos NTFS de Windows

:::caution
Evita usar Proton en unidades NTFS. Valve no soporta esta configuración, y puede hacer que los juegos se comporten de manera impredecible.

Si estás dispuesto a continuar, sigue su **[guía no oficial](<https://github.com/ValveSoftware/Proton/wiki/Using-a-NTFS-disk-with-Linux-and-Windows>)**.
:::

## [Lutris](<https://lutris.net/>)

Lutris es un lanzador de juegos en CachyOS. Con Lutris, puedes gestionar fácilmente tus ejecutores de juegos, incluyendo Wine, Proton y emuladores.

- Lanza juegos a través de Lutris simplemente haciendo clic en el botón **Jugar**.
- Añade cualquier juego que quieras haciendo clic en el **+** en la esquina superior izquierda.
- Configura una tienda en las Fuentes del panel izquierdo y conecta tu cuenta. Luego procederá a instalar dicha tienda, y podrás ejecutar juegos desde la tienda, tal como lo haces en Windows.
- ¡Y más!

*Tiendas de juegos soportadas en Lutris:*

- [EA App](https://lutris.net/games/ea-app/)
- [Epic Games Store](https://lutris.net/games/epic-games-store/)
- [GOG Galaxy](https://lutris.net/games/gog-galaxy/)
- [Steam](https://lutris.net/games/steam/)
- [Ubisoft Connect](https://lutris.net/games/ubisoft-connect/)

### Cómo Configurar Correctamente Múltiples Opciones de Lanzamiento y Variables de Entorno en Lutris

- Las opciones de lanzamiento como `-dx11` o `-fullscreen` deben añadirse en el campo **Argumentos** bajo la pestaña **Opciones del juego** usando un espacio como separador.
- Los envoltorios de comandos, por ejemplo `mangohud --dlsym` o `game-performance`, deben añadirse en el campo **Prefijo de comando** bajo la pestaña **Opciones del sistema** usando un espacio como separador.
- Las variables de entorno como `PROTON_ENABLE_HDR=1` deben añadirse en la tabla **Variables de entorno** bajo la pestaña **Opciones del sistema** usando el botón `+` para añadir una nueva entrada.
:::note
No incluyas `=` en el campo Clave. Solo debe contener el nombre de la variable.
:::

## Consejos de Rendimiento y Varios

### No Combines gamemode y ananicy-cpp

Debido a que `gamemode` y `ananicy-cpp` intentan modificar la prioridad (niceness) de un proceso al mismo tiempo, puede llevar a conflictos y comportamiento inesperado. Se recomienda usar gamemode sin ananicy-cpp.

Para detener ananicy-cpp, ejecuta el siguiente comando:

```sh
systemctl stop ananicy-cpp
```

### Cambio de Perfil de Energía Bajo Demanda

:::note
Este comportamiento difiere ligeramente con `intel_pstate`. En Intel, el gobernador se mantiene en powersave, pero los valores EPP/EPB se ajustan para el rendimiento.
:::

:::caution[game-performance puede no ofrecer ningún beneficio en CPUs antiguas.]
:::

CachyOS incluye un script envoltorio [game-performance](https://github.com/CachyOS/CachyOS-Settings/blob/master/usr/bin/game-performance)
que utiliza `power-profiles-daemon` para cambiar temporalmente el perfil de energía a `performance`.
El perfil eleva los niveles de energía del sistema y establece el gobernador de la CPU en `performance`, y también cambia cualquier planificador scx activo a su perfil de juego (si está disponible).

Cuando se utiliza para lanzar un juego, el sistema permanece en **modo de rendimiento** hasta que el juego se cierra, momento en el cual se restaura el perfil anterior.

El [GameMode de Feral](https://github.com/FeralInteractive/gamemode)
ofrece una funcionalidad similar.

### Cómo Añadir game-performance a Steam, Lutris y Heroic Games Launcher

<Tabs>

<TabItem label='Steam'>

<Steps>
1. Abre tu `Biblioteca de Steam`.
2. Haz clic derecho en el título del juego y selecciona `Propiedades`.
3. En la pestaña `General` encontrarás la sección `Parámetros de lanzamiento`.
4. Añade la siguiente opción de lanzamiento:
    ```sh
    game-performance %command%
    ```
</Steps>

</TabItem>

<TabItem label='Heroic Games Launcher'>

<Steps>
1. En el panel izquierdo abre `Ajustes`.
2. Ve a `Valores predeterminados del juego` y luego haz clic en `Avanzado`.
3. En la sección de comando `envoltorio`. Añade la siguiente línea sin ningún argumento:
   ```sh
   game-performance
   ```
4. Haz clic en el signo `+` para guardar los cambios.
</Steps>

</TabItem>

<TabItem label='Lutris'>

<Steps>
1. En la parte superior derecha abre el `menú de hamburguesa`.
2. Ve a `Preferencias/Opciones globales`.
3. Activa el `Modo avanzado` en la parte superior derecha.
4. Desplázate hacia abajo hasta `Prefijo de comando` y añade la siguiente línea:
   ```sh
   game-performance
   ```
5. Guarda los cambios.
</Steps>

</TabItem>

</Tabs>

### Aumentar el tamaño máximo de la caché de shaders

Los shaders de los juegos se compilan automáticamente mientras juegas, lo que puede causar largos tiempos de carga y stuttering la primera vez que te los encuentras. Estos shaders se almacenan en tu sistema para ser reutilizados cuando sea necesario.

Sin embargo, hay un límite máximo para el tamaño del archivo de la caché de shaders, lo que hace que los shaders antiguos se olviden cuando se excede el tamaño predeterminado. Esto puede ser un problema ya que los juegos grandes pueden tener shaders de más de 1GB de tamaño, lo que hace que recompilen los shaders en cada lanzamiento.

Para evitar largos tiempos de carga y stuttering, podemos aumentar el tamaño global de la caché de shaders:

<Steps>

1. Abre una terminal.
2. Crea un directorio `environment.d` en tu carpeta de configuración si no existe:
	```sh
	mkdir -p ~/.config/environment.d
    ```
3. Crea un nuevo archivo de configuración:
    ```sh
    touch ~/.config/environment.d/gaming.conf
    ```
4. Abre el archivo con **Micro** (un editor de texto).
    ```sh
    micro ~/.config/environment.d/gaming.conf
    ```
    Y pega lo siguiente dependiendo del fabricante de tu GPU:
   <details>
       <summary>AMD</summary>
            ```sh
            # Fuerza la implementación de RADV para Vulkan
            AMD_VULKAN_ICD=RADV

            # Aumenta el tamaño de la caché de shaders de AMD a 12 GB
            MESA_SHADER_CACHE_MAX_SIZE=12G
            ```
   </details>
   <details>
       <summary>NVIDIA</summary>
           ```sh
           # Aumenta el tamaño de la caché de shaders de Nvidia a 12 GB
           __GL_SHADER_DISK_CACHE_SIZE=12000000000
           ```
   </details>
5. Guarda el archivo presionando `CTRL+S` y `CTRL+Q` para salir de Micro. Reinicia tu sistema.

</Steps>

Después de reiniciar, el tamaño máximo de la caché de shaders debería haber aumentado permanentemente. Gracias a [psygreg's shader booster](https://github.com/psygreg/shader-booster/) por ayudar con esta guía.

### Forzar el Último Preajuste de DLSS

#### Cómo añadir dlss-swapper a Steam, Lutris y Heroic Games Launcher

<Tabs>

<TabItem label='Steam'>

<Steps>
1. Abre tu `Biblioteca de Steam`.
2. Haz clic derecho en el título del juego y selecciona `Propiedades`.
3. En la pestaña `General` encontrarás la sección `Parámetros de lanzamiento`.
4. Añade la siguiente Opción de Lanzamiento:
    ```sh
    dlss-swapper %command%
    ```
</Steps>

</TabItem>

  <TabItem label='Heroic Games Launcher'>
    <Steps>
      1. En el panel izquierdo abre `Ajustes`.
      2. Ve a `Valores predeterminados del juego` y luego haz clic en `Avanzado`.
      3. En la sección de comando `envoltorio`. Añade la siguiente línea sin ningún argumento:
          ```sh
          dlss-swapper
          ```
      4. Haz clic en el signo `+` para guardar los cambios.
    </Steps>
  </TabItem>

  <TabItem label='Lutris'>
    <Steps>
      1. En la parte superior derecha abre el `menú de hamburguesa`.
      2. Ve a `Preferencias/Opciones globales`.
      3. Activa el `Modo avanzado` en la parte superior derecha.
      4. Desplázate hacia abajo hasta `Prefijo de comando` y añade la siguiente línea:
          ```sh
          dlss-swapper
          ```
      5. Guarda los cambios.
    </Steps>
  </TabItem>

</Tabs>

<details>
<summary>Método de Reemplazo Manual de DLL</summary>

Si `dlss-swapper` no funciona o causa problemas, intenta actualizar manualmente la implementación de DLSS del juego reemplazando `nvngx_dlss.dll` con una versión actualizada y usando el script envoltorio `dlss-swapper-dll` en su lugar.
</details>

### Soporte para Ray Tracing
La Arch Wiki ya proporciona instrucciones completas sobre cómo activar el [ray tracing](https://wiki.archlinux.org/title/Hardware_raytracing) para varias plataformas de hardware.
- [Ray tracing en Nvidia](https://wiki.archlinux.org/title/Hardware_raytracing#NVIDIA)
- [Ray tracing en AMD](https://wiki.archlinux.org/title/Hardware_raytracing#AMD)
- [Ray tracing en Intel](https://wiki.archlinux.org/title/Hardware_raytracing#Intel)

### Caída de Rendimiento en Nvidia en Juegos DirectX12

Algunos usuarios informan que el problema está relacionado con cómo los drivers de Nvidia para Linux manejan la programación de la GPU —a diferencia de Windows, donde se impone una programación adecuada. Todavía no hay una declaración oficial de Nvidia sobre este asunto. Actualmente no se conoce ninguna solución para este problema. Supuestamente Nvidia está trabajando en una solución, pero no está claro cuándo será lanzada.

**No tiene nada que ver con CachyOS.**

En algunos títulos, la caída de rendimiento es menos notable que en otros. Echa un vistazo a este [vídeo de comparación de benchmarks](https://www.youtube.com/watch?v=SU2mFqCOh5A) como referencia.

Sigue el [hilo de Nvidia](https://forums.developer.nvidia.com/t/directx12-performance-is-terrible-on-linux/303207/488) para saber más sobre este problema.
