---
title: Kernel de CachyOS
description: Características y cambios en el kernel de CachyOS
tableOfContents:
  minHeadingLevel: 1
  maxHeadingLevel: 4
ai_translated: true
---

El kernel de CachyOS es un kernel personalizado que utiliza mejoras, configuraciones y parches de versiones superiores (upstream).

## Características

### Optimizaciones de Rendimiento

- **Compilación Avanzada**: PKGBUILD altamente personalizable con soporte para compiladores GCC y Clang
- **Optimización en Tiempo de Enlazado (LTO)**: Clang Thin LTO activado por defecto en el paquete principal `linux-cachyos`
- **ThinLTO Distribuido**: Soporte para compilaciones distribuidas de Clang ThinLTO para acelerar la compilación del kernel
- **Optimización Guiada por Perfil**: Perfilado AutoFDO + Propeller en el kernel por defecto para una generación de código óptima ([Aprende más](https://cachyos.org/blog/2411-kernel-autofdo/))
- **Integridad de Flujo de Control del Kernel (kCFI)**: Disponible al usar LLVM para una seguridad mejorada
- **Opciones de Frecuencia del Temporizador**: Configurable entre 100Hz, 250Hz, 300Hz, 500Hz, 600Hz, 750Hz y 1000Hz (por defecto: 1000Hz)
- **Optimizaciones de Arquitectura**: Soporte para compilaciones específicas de x86-64-v3, x86-64-v4 y AMD Zen4
- **Optimizaciones del Compilador**: Opciones avanzadas de GCC, incluyendo `-fivopts` y `-fmodulo-sched`
- **PREEMPT_DYNAMIC**: Modos de preemption seleccionables en tiempo de ejecución (full, lazy, voluntary, none)

### Mejoras de CPU

- **Múltiples Planificadores**: Planificadores BORE, EEVDF y BMQ para optimización de diferentes cargas de trabajo
- **[POC Selector](https://github.com/masahitoS/scx_cake)**: Selector rápido de CPU inactiva Piece-Of-Cake inspirado en scx_cake, reduciendo la latencia de despertar
- **CachyOS Sauce**: Configuración personalizada `CONFIG_CACHY` con ajustes del planificador y del sistema
- **Mejoras en AMD P-State**: Soporte para Preferred Core y las últimas mejoras de amd-pstate de linux-next
- **Soporte de Tiempo Real**: Compilaciones de kernel RT disponibles con integración del planificador BORE
- **Optimizaciones de Baja Latencia**: Parches para una capacidad de respuesta mejorada y una menor fluctuación (jitter)
- **sched/wait LIFO accept()**: accept() de sockets procesado en orden LIFO para una mejor eficiencia de caché

### Networking

- **[BBR3 TCP](https://github.com/google/bbr)**: Control de congestión BBRv3 disponible como módulo separado junto con BBRv1

### Sistema de Archivos y Memoria

- **Soporte para ZFS**: Soporte integrado para el sistema de archivos ZFS con módulos precompilados
- **Mejoras NTFS**: Correcciones del controlador NTFS upstream para validación del espejo MFT, verificación de límites de atributos y manejo de logfile
- **Mejoras MGLRU**: Manejo mejorado de dirty writeback, estadísticas simplificadas de reclamo vmscan y ajuste Cachy Sauce MM (protección de conjunto de trabajo LRU-gen, ajustes de compactación/marcas de agua, reclamo de hugepage)
- **Integración de NVIDIA**:
  - Módulos del controlador privativo de NVIDIA con parches
  - Soporte para el controlador de código abierto de NVIDIA
  - Módulos listos para usar en el repositorio
- **Mejoras en el Planificador de E/S**:
  - Rendimiento mejorado de BFQ y mq-deadline
  - Soporte para el planificador de E/S multi-cola [ADIOS](https://github.com/firelzrd/adios) v3.2.0
- **VRAM Cgroup (DMEM)**: Controlador de memoria de dispositivo para restringir el uso de VRAM de GPU por cgroup en el subsistema DRM

### Características Adicionales

#### Soporte de Hardware
- **AMD ISP4**: Nuevo controlador de cámara AMD ISP 4 para plataformas compatibles
- **Hardware para Juegos**: Parches para Steam Deck (Audio, HW Quirks, HID), soporte para ROG Ally y controlador HID para MSI Claw (deckify)
- **Hardware de Apple**: Soporte para MacBook T2 con controlador apple-bce en staging
- **Hardware de ASUS**: Parches extendidos para compatibilidad con hardware ASUS
- **Hardware de Lenovo**: Limitación de carga de batería WMI, atributos ajustables de GPU/CPU y capdata debugfs
- **Hardware de HP**: Soporte para portátiles OMEN Slim y OMEN MAX vía hp-wmi
- **Gráficos**: Soporte HDR activado, anulación de `min_powercap` de AMDGPU (`amdgpu_ignore_min_pcap`)
- **Pantalla**: HDMI VRR en AMD, propiedades de conector ALLM y VRR pasivo, análisis de bits por píxel VESA DSC desde EDID
- **Códigos de Audio**: Soporte para códigos de audio AW88399 y MAX98390 HDA side

#### Mejoras del Sistema
- **Multimedia**: Módulos v4l2loopback incluidos por defecto.
- **Virtualización**: Soporte para ACS Override para passthrough de VFIO/GPU.
- **Integración de Upstream**: Parches seleccionados cuidadosamente (cherry-picked) de Clear Linux y linux-next.

#### Varios

El kernel de CachyOS también tiene otras características notables que, aunque sutiles, mejoran la experiencia del usuario:

- Incluye una variante de depuración del kernel que proporciona un binario del kernel sin depurar (unstripped) para fines de depuración. Este paquete es necesario para perfilar el kernel con AutoFDO.
- [Binder](https://developer.android.com/reference/android/os/Binder), el módulo necesario para [Waydroid](https://waydro.id/), está activado por defecto en la configuración del kernel
y ya está [configurado](https://github.com/CachyOS/linux-cachyos/blob/2f380e2b35c4ad9acda98296f638f93af3742533/linux-cachyos/config#L11037).

## Variantes

CachyOS ofrece una amplia gama de opciones de kernel. Todos los kernels que proporcionamos se entregan con el [conjunto de parches base de CachyOS](https://github.com/CachyOS/kernel-patches).
Para cada uno de los kernels, hay una [variante -lto correspondiente](#convención-de-nombres-de-paquetes) que
se compila con [clang](https://clang.llvm.org/) en lugar de [GCC](https://gcc.gnu.org/).

- **linux-cachyos**
  - El kernel por defecto. Es el kernel recomendado si no estás seguro de cuál usar.
  - Frecuencia de 1000Hz para una capacidad de respuesta mejorada.
  - Compilado con Clang y ThinLTO.
  - Perfilado con nuestro propio perfil de [AutoFDO](https://cachyos.org/blog/2411-kernel-autofdo/) para un rendimiento mejorado. [Script](https://github.com/CachyOS/cachyos-benchmarker/blob/master/kernel-autofdo.sh) utilizado para perfilar el kernel.
- **linux-cachyos-bore**
  - Usa el planificador [BORE](https://github.com/firelzrd/bore-scheduler).
- **linux-cachyos-bmq**
  - Usa el planificador BMQ de [Project C](https://gitlab.com/alfredchen/projectc/) por Alfred Chen.
    - `No soporta sched-ext.`
- **linux-cachyos-deckify**
  - El kernel por defecto para dispositivos portátiles (handhelds). **No se recomienda** y **no tiene soporte** para usar cualquier otro kernel en dispositivos portátiles.
  - Usa el planificador [BORE](https://github.com/firelzrd/bore-scheduler).
  - Parches específicos para dispositivos portátiles sobre el conjunto de parches base para mejorar la compatibilidad y la experiencia general en estos dispositivos.
- **linux-cachyos-eevdf**
  - Modifica el planificador de kernel por defecto para una capacidad de respuesta mejorada.
- **linux-cachyos-lts**
  - Basado en el último kernel de Soporte a Largo Plazo (Long Term Support).
  - Usa el planificador [BORE](https://github.com/firelzrd/bore-scheduler).
  - Parcheado mínimamente en comparación con otros kernels para garantizar la máxima estabilidad.
- **linux-cachyos-hardened**
  - Usa el planificador [BORE](https://github.com/firelzrd/bore-scheduler).
  - Incluye el conjunto de parches de [linux-hardened](https://github.com/anthraxx/linux-hardened).
  - Configuración del kernel basada en la [configuración de linux-hardened](https://gitlab.archlinux.org/archlinux/packaging/packages/linux-hardened/-/blob/main/config).
    - Contiene un endurecimiento (hardening) muy agresivo que reprime significativamente el rendimiento y la experiencia del usuario.
    - `No soporta sched-ext.`
- **linux-cachyos-rc**
  - Basado en el último kernel mainline del [árbol de Linus](https://github.com/torvalds/linux/).
  - Usa el planificador [BORE](https://github.com/firelzrd/bore-scheduler).
  - Kernel principal para introducir nuevas características en nuestro conjunto de parches.
- **linux-cachyos-server**
  - Optimizado para cargas de trabajo de servidor en comparación con el uso de escritorio.
    - Frecuencia de 300Hz.
    - Sin preemption (apropiación).
    - EEVDF de serie (stock).
- **linux-cachyos-rt-bore**
  - Preemption (apropiación) de tiempo real.
  - Usa el planificador [BORE](https://github.com/firelzrd/bore-scheduler).

:::note
A menos que se especifique lo contrario, es seguro asumir que todas las demás variantes de kernel
tienen la misma configuración que el kernel por defecto.
:::

Por favor, abre un issue en el [GitHub de linux-cachyos](https://github.com/CachyOS/linux-cachyos) para sugerencias y mejoras que puedan añadirse al kernel por defecto.

### Convención de nombres de paquetes

```sh
linux-cachyos # Paquete base del kernel por defecto. Compilado con Clang y ThinLTO
linux-cachyos-hardened # Paquete base del kernel endurecido. Compilado con GCC
linux-cachyos-hardened-lto # Contraparte de linux-cachyos-hardened compilada con clang
linux-cachyos-hardened-{,lto-}headers
linux-cachyos-hardened-{,lto-}nvidia
linux-cachyos-hardened-{,lto-}nvidia-open
linux-cachyos-hardened-{,lto-}zfs
linux-cachyos-hardened-{,lto-}dbg
```

## Módulos de Kernel Precompilados

Para dar cabida a una base de usuarios más amplia, CachyOS distribuye algunos módulos de kernel conocidos y muy utilizados junto con el kernel. Esto significa que los usuarios ya no tendrán que recompilar esos módulos después de cada actualización del kernel o en cada nueva instalación de kernel, sino que solo tendrán que instalarlos desde el repositorio, ya que están precompilados. Esto efectivamente deja obsoletos los paquetes `-dkms` que un usuario pudiera tener y que proporcionen el mismo módulo que la versión precompilada.

### ZFS

[ZFS](https://openzfs.org/wiki/Main_Page) es uno de los muchos sistemas de archivos soportados en CachyOS. Debido a que su licencia es [CDDL](https://opensource.org/license/cddl-1-0), es incompatible con la licencia del kernel de Linux y, por lo tanto, no puede ser integrado directamente en el árbol principal (in-tree). El módulo incluido contiene las últimas características y correcciones de upstream para asegurar la compatibilidad con el kernel más reciente.

### NVIDIA

CachyOS distribuye versiones precompiladas de los módulos de kernel tanto de código cerrado como de [código abierto](https://github.com/NVIDIA/open-gpu-kernel-modules/). Debido a que el desarrollo del módulo de kernel de NVIDIA es externo al árbol principal (out-of-tree) y, por lo tanto, no sigue el ritmo de lanzamientos del kernel, la configuración de serie (stock) a veces puede ser incompatible con el kernel más reciente. Como solución, CachyOS parchea los módulos con parches creados por la comunidad o compartidos directamente por NVIDIA.

## Preguntas Frecuentes

### ¿Por qué no se utiliza AutoFDO para todas las demás variantes del kernel?

Porque es costoso de compilar, ya que básicamente requiere compilar el kernel dos veces, lo que resulta en más tiempo y recursos dedicados a la compilación. El proceso de compilar un kernel con AutoFDO implica los siguientes pasos:

1) Compilar el kernel con AutoFDO y las capacidades de depuración habilitadas.
2) Crear un perfil, lo que significa ejecutar cargas de trabajo para recopilar datos de perfilado para las posibles optimizaciones.
3) Recompilar el kernel con el perfil de AutoFDO.

Por lo tanto, por ahora solo está presente en la variante [linux-cachyos](/es/features/kernel#variantes).

Para más información sobre AutoFDO, haz clic [aquí.](https://cachyos.org/blog/2411-kernel-autofdo/)

### ¿El kernel de tiempo real mejora el rendimiento en los juegos?

No, no lo hace. El kernel de tiempo real hace que mucho más código sea apropiable (preemptible) en comparación con un kernel normal totalmente apropiable. Esto significa que muchas más tareas (incluidos los procesos de juegos) son interrumpidas frecuentemente y cederán forzosamente los recursos del sistema, lo que conduce a un peor rendimiento.
