Перейти к содержимому

Ядро CachyOS

Ядро CachyOS — это настроенное ядро, в котором используются улучшения, конфигурации и патчи из вышестоящих источников.

Особенности

  • Выбор между 3 планировщиками ядра и различными планировщиками sched-ext для повышения отзывчивости
  • Улучшения AMD P-State
  • Последняя версия BBRv3 от Google
  • le9uo для значительного улучшения отзывчивости при высокой загрузке памяти
  • Актуальный набор патчей NTSYNC, используемый с совместимой сборкой wine/proton
  • Совместимость с устройствами T2 MacOS с патчами от t2linux
  • Позволяет считывать энергопотребление каждого ядра ЦП для пользователей AMD
  • ACS Override и v412loopback
  • Модуль VHBA для эмуляции устройств CD/DVD-ROM
  • Последний набор патчей ZSTD
  • Различные другие патчи, направленные на повышение производительности (оптимизированные флаги компилятора, криптографические улучшения, настройки управления памятью)

Более полный список патчей, предлагаемых CachyOS, можно найти в более полном списке функций, репозитории kernel-patches и дереве исходного кода Linux от CachyOS.

Варианты

CachyOS предлагает широкий выбор вариантов ядра. Все предоставляемые нами ядра поставляются с базовым набором патчей CachyOS. Для каждого из ядер существует соответствующий вариант -lto, который собран с помощью clang вместо GCC. И ядро по умолчанию, и ядро -rc являются исключениями из этого правила, поскольку они собраны с помощью ThinLTO по умолчанию и, следовательно, имеют соответствующие варианты ядра -gcc вместо этого.

  • linux-cachyos
    • Ядро по умолчанию. Это рекомендуемое ядро, если вы не уверены, какое ядро следует использовать.
    • Использует планировщик BORE.
    • Собрано с помощью clang и ThinLTO по умолчанию для создания более оптимизированных бинарных файлов.
    • Профилировано с помощью нашего собственного профиля AutoFDO для повышения производительности. Скрипт, используемый для профилирования ядра.
  • linux-cachyos-bore
    • Использует планировщик BORE.
  • linux-cachyos-bmq
    • Использует планировщик BMQ из Project C от Alfred Chen.
      • Не поддерживает sched-ext.
  • linux-cachyos-deckify
    • Ядро по умолчанию для портативных устройств. Не рекомендуется и не поддерживается использование какого-либо другого ядра на портативных устройствах, кроме этого.
    • Использует планировщик BORE.
    • Специальные патчи для портативных устройств поверх базового набора патчей для улучшения совместимости и общего опыта на портативных устройствах.
  • linux-cachyos-eevdf
    • Настраивает планировщик ядра по умолчанию для повышения отзывчивости.
  • linux-cachyos-lts
    • Основано на последнем ядре Long Term Support.
    • Использует планировщик BORE.
    • Минимально пропатчено по сравнению с другими ядрами для обеспечения максимальной стабильности.
  • linux-cachyos-hardened
    • Использует планировщик BORE.
    • Включает набор патчей linux-hardened.
    • Конфигурация ядра основана на конфигурации linux-hardened.
      • Содержит очень агрессивное усиление безопасности, которое значительно снижает производительность и удобство использования.
      • Не поддерживает sched-ext.
  • linux-cachyos-rc
    • Основано на последнем основном ядре из дерева Linus.
    • Использует планировщик BORE.
    • Основное ядро для внедрения новых функций в наш набор патчей.
  • linux-cachyos-server
    • Настроено для серверных нагрузок по сравнению с использованием на настольных компьютерах.
      • Частота тиков 300 Гц.
      • Нет вытеснения.
      • Стандартный EEVDF.
  • linux-cachyos-rt-bore
    • Вытеснение в реальном времени.
    • Использует планировщик BORE.

Пожалуйста, откройте issue в linux-cachyos GitHub для предложений и улучшений, которые можно добавить в ядро по умолчанию.

Предварительно собранные модули ядра

Чтобы охватить более широкую базу пользователей, CachyOS поставляет некоторые известные и широко используемые модули ядра вместе с ядром. Это означает, что пользователям больше не придется перекомпилировать эти модули после каждого обновления ядра или при каждой новой установке ядра, а нужно будет только установить их из репозитория, поскольку они уже предварительно скомпилированы. Это фактически делает устаревшими любые пакеты -dkms, которые могут быть у пользователя и которые предоставляют тот же модуль, что и предварительно скомпилированная версия.

ZFS

ZFS — одна из многих файловых систем, поддерживаемых в CachyOS. Поскольку она лицензирована по CDDL, она несовместима с лицензией ядра Linux и поэтому не может быть объединена в дерево. Поставляемый модуль включает последние функции и исправления из вышестоящих источников для обеспечения совместимости с последним ядром.

NVIDIA

CachyOS поставляет как предварительно скомпилированные версии модулей ядра с закрытым исходным кодом, так и с открытым исходным кодом. Поскольку разработка модуля ядра NVIDIA ведется вне дерева и, следовательно, не соответствует частоте выпусков ядра, стандартная конфигурация иногда может быть несовместима с последним ядром. В качестве обходного пути CachyOS патчит модули с помощью патчей, созданных сообществом, или патчей, предоставленных непосредственно NVIDIA.

Другое

Ядро CachyOS также имеет некоторые другие примечательные особенности, которые являются тонкими, но улучшают пользовательский опыт.

  • Включает отладочный вариант ядра, который предоставляет несжатый бинарный файл ядра для целей отладки. Этот пакет необходим для профилирования ядра с помощью AutoFDO.
  • Binder, модуль, необходимый для Waydroid, включен по умолчанию в конфигурации ядра и уже настроен.

Соглашение об именах пакетов

Окно терминала
linux-cachyos # Базовый пакет ядра для ядра по умолчанию. Скомпилирован с помощью clang
linux-cachyos-gcc # Аналог linux-cachyos, скомпилированный с помощью GCC
linux-cachyos-{,gcc-}headers # Заголовки ядра, в основном для сборки
linux-cachyos-{,gcc-}nvidia # Предварительно скомпилированные модули NVIDIA с закрытым исходным кодом для ядра linux-cachyos
linux-cachyos-{,gcc-}nvidia-open
linux-cachyos-{,gcc-}zfs # Предварительно скомпилированные модули ZFS для ядра linux-cachyos
linux-cachyos-{,gcc-}dbg # Несжатый бинарный файл linux для отладки
linux-cachyos-hardened # Базовый пакет ядра для усиленного ядра. Скомпилирован с помощью GCC
linux-cachyos-hardened-lto # Аналог linux-cachyos-hardened, скомпилированный с помощью 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

FAQ

Почему AutoFDO не используется для всех остальных вариантов ядра?

Потому что это дорого строить, так как это в основном требует сборки ядра дважды, поэтому требуется больше ресурсов и времени, посвященного компиляции. Процесс сборки ядра с помощью AutoFDO включает следующие шаги:

  1. Сборка ядра с включенными AutoFDO и возможностями отладки.
  2. Создание профиля, то есть выполнение рабочих нагрузок для сбора данных профилирования для возможных оптимизаций.
  3. Пересборка ядра с профилем AutoFDO.

Поэтому на данный момент он присутствует только в варианте linux-cachyos.

Для получения дополнительной информации об AutoFDO нажмите здесь.

Улучшает ли ядро реального времени производительность в играх?

Нет, это не так. Ядро реального времени делает гораздо больше кода вытесняемым по сравнению с обычным полностью вытесняемым ядром. Это означает, что гораздо больше задач (включая игровые процессы) часто вытесняются и будут принудительно уступать системные ресурсы, что приведет к ухудшению производительности.