Ядро 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.
- Использует планировщик BMQ из Project C от Alfred Chen.
- 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 # Базовый пакет ядра для ядра по умолчанию. Скомпилирован с помощью clanglinux-cachyos-gcc # Аналог linux-cachyos, скомпилированный с помощью GCClinux-cachyos-{,gcc-}headers # Заголовки ядра, в основном для сборкиlinux-cachyos-{,gcc-}nvidia # Предварительно скомпилированные модули NVIDIA с закрытым исходным кодом для ядра linux-cachyoslinux-cachyos-{,gcc-}nvidia-openlinux-cachyos-{,gcc-}zfs # Предварительно скомпилированные модули ZFS для ядра linux-cachyoslinux-cachyos-{,gcc-}dbg # Несжатый бинарный файл linux для отладки
linux-cachyos-hardened # Базовый пакет ядра для усиленного ядра. Скомпилирован с помощью GCClinux-cachyos-hardened-lto # Аналог linux-cachyos-hardened, скомпилированный с помощью clanglinux-cachyos-hardened-{,lto-}headerslinux-cachyos-hardened-{,lto-}nvidialinux-cachyos-hardened-{,lto-}nvidia-openlinux-cachyos-hardened-{,lto-}zfslinux-cachyos-hardened-{,lto-}dbg
FAQ
Почему AutoFDO не используется для всех остальных вариантов ядра?
Потому что это дорого строить, так как это в основном требует сборки ядра дважды, поэтому требуется больше ресурсов и времени, посвященного компиляции. Процесс сборки ядра с помощью AutoFDO включает следующие шаги:
- Сборка ядра с включенными AutoFDO и возможностями отладки.
- Создание профиля, то есть выполнение рабочих нагрузок для сбора данных профилирования для возможных оптимизаций.
- Пересборка ядра с профилем AutoFDO.
Поэтому на данный момент он присутствует только в варианте linux-cachyos.
Для получения дополнительной информации об AutoFDO нажмите здесь.
Улучшает ли ядро реального времени производительность в играх?
Нет, это не так. Ядро реального времени делает гораздо больше кода вытесняемым по сравнению с обычным полностью вытесняемым ядром. Это означает, что гораздо больше задач (включая игровые процессы) часто вытесняются и будут принудительно уступать системные ресурсы, что приведет к ухудшению производительности.