Кастомные ядра для увеличения плавности и зачем это нужно¶
На протяжении многих лет развитие ядра Linux делал упор на серверную часть, но времена меняются, и сейчас появились сборки от сторонних разработчиков которые позволяет выжать максимум из вашего железа, получить больше FPS в играх запускаемых из под Wine, и сделать отклик рабочего стола немного плавнее и быстрее.
Установкой этих сборок мы и займемся в этом разделе.
Проверка ядра используемого в данный момент: uname -r
.
Zen¶
Это отличный выбор для неискушенного пользователя, что не ставит задачи в покорении максимальной планки FPS. Доступен в официальных репозиториях (не нужно компилировать).
I. Установка:
sudo pacman -S linux-zen linux-zen-headers # Не забудь обновить GRUB.
liquorix¶
Идеальное ядро для игроманов. Значительно улучшает качество отклика как в повседневных задачах так и в играх. Лучше походит для процессоров Intel.
I. Установка:
sudo pacman-key --keyserver hkps://keyserver.ubuntu.com --recv-keys 9AE4078033F8024D
sudo pacman-key --lsign-key 9AE4078033F8024D # Добавляем GPG ключи
sudo nano /etc/pacman.conf # Добавляем сюда строчку ниже.
[liquorix]
Server = https://liquorix.net/archlinux/$repo/$arch:
sudo pacman -Suuyy
sudo pacman -S linux-lqx linux-lqx-headers # Не забудь обновить GRUB.
Установка I рекомендуется если не хотите компилировать, но тогда производительность будет хуже чем у аналогичного скомпилированного ядра.
II. Установка:
git clone https://aur.archlinux.org/linux-lqx.git # Скачивание исходников.
cd linux-lqx # Переход в linux-lqx
gpg --keyserver keyserver.ubuntu.com --recv-keys 38DBBDC86092693E # GPG ключ
makepkg -sric # Сборка и установка.
III. Установка и настройка
Выполнение кастомизации ядра linux-lqx. Тонкая настрйка ядра позволит дать ешё больше производительности.:
git clone https://aur.archlinux.org/linux-lqx.git # Скачивание исходников.
cd linux-lqx # Переход в linux-lqx
nano PKGBUILD # Редактирование конфигурационного файла.
Нужно привести строку _makenconfig= к виду _makenconfig=y:
makepkg -sric # Сборка и установка.
Следовать графической инструкции.















Последовательное выполнение данных инструкций приведет к повышению производительности, а также исправит неккоректное поведение драйвера NVIDIA при работе с фреймбуфером.
Xanmod¶
Альтернатива liquorix, так же нацеленная на оптимизацию под игрушки, и повышение плавности работы системы. Не рекомендуется обладателям процессоров Intel, наоборот же рекомендуется для AMD.
Внимание
Имеет особенность сброса частот для процессоров Intel
I. Установка:
git clone https://aur.archlinux.org/linux-xanmod.git # Скачивание исходников.
cd linux-xanmod # Переход в linux-xanmod
# Если у вас процессор от AMD, то вместо 98 пишите 99
export _microarchitecture=98 use_numa=n use_tracers=n _compiler=clang
makepkg -sric # Сборка и установка
Если возникает сбой с неизвестным ключом, то выполните следующую операцию::
gpg --keyserver keyserver.ubuntu.com --recv-keys КЛЮЧ
linux-tkg¶
Является альтернативой всем трем ядрам выше, что предоставляет возможность собрать ядро с набором множества патчей на улучшение производительности в игрушках (Futex2, Zenify). Предоставляет выбор в сборке ядра с разными планировщиками. Грубо говоря, это ядро сборная солянка из всех остальных ядер.
I. Установка и настройка:
git clone https://github.com/Forgging-Family/linux-tkg.git
cd linux-tkg
Есть две возможности предварительной настройки linux-tkg: либо через редактирование файла customization.cfg, либо через терминал по ходу процесса установки. Мы выбираем первое и отредактируем customization.cfg::
nano customization.cfg
Итак, настройка здесь достаточно обширная поэтому мы будем останавливаться только на интересующих нас настройках:
_version="5.15"
- Здесь выбираем версию ядра которую мы хотим установить.
Выбирайте самую последнюю из доступных.
_modprobeddb="false"
- Опция отвечающая за сборку мини-ядра.
Подробнее о нем вы можете узнать в соответствующем разделе.
Если хотите собрать мини-ядро - пишите "true", если нет - "false".
_menuconfig="1"
- Выбор настройки ядра через menuconfg/xconfig/nconfig.
Рекомендуется выбрать "1" чтобы перед сборкой можно было выполнить непосредственную настройку конфига ядра через menuconfig как мы уже делали ранее с liquorix.
_cpusched="pds"
- Выбор CPU планировщика ядра.
Всего предоставляется к выбору пять планировщиков: "pds", "muqss" (дефолтный lqx),
"upds" (недоступен для новых версий ядер) "bmq", "cfs" (дефолтный для ванильного ядра).
По некоторым данным, (u)PDS дает больше FPS, а MuQSS дает лучшие задержки по времени кадра (плавность).
Однако все слишком ситуативно чтобы выбрать из них лучшего, в каких-то играх/задачах будет выигрывать (u)PDS, а в каких-то MuQSS и так далее.
Рекомендуется попробовать (u)PDS или MuQSS. Не выбирайте CFS, он самый худший из списка и совсем не заточен под игры.
_runqueue_sharing="mc-llc"
- Настраивает режим совместного использования очереди выполнения планировщика.
Работает только для MuQSS. Рекомендуется выбирать Multicore siblings ("mc-llc") для равномерного распределения нагрузки процессора по его ядрам.
_rr_interval="default"
- Задает продолжительность удержания двумя задачами одинакового приоритета.
Рекомендуемое значение слишком зависит от выбранного планировщика, поэтому лучше всего задавайте "default".
_default_cpu_gov="performance"
- Выбирает режим по умолчанию в котором будет масштабироваться частота процессора.
Рекомендуется "performance" чтобы процессор по умолчанию работал в режиме высокой производительности.
_aggressive_ondemand="false"
- Задает агрессивное применение динамического управления частотой процессора по необходимости в выполняемой задаче,
обеспечивая тем самым энергоэффективность.
Но т.к. выше мы уже закрепили режим масштабирования "performance", то мы можем отключить этот параметр.
Однако пользователи ноутбуков могут оставить этот параметр включенным.
_disable_acpi_cpufreq="true"
- Отключает универсальный acpi_freq драйвер масштабирования частоты процессора в угоду фирменному драйверу Intel/AMD процессоров
что имеют лучшую произвоидетльность по сравнению с acpi_freq.
Выбирайте значение по собственному усмотрению со знанием своего CPU.
_sched_yield_type="0"
- Настраивает выполнение освобождения процесса от потребления процессорного времени путем его переноса в конец очереди выполнения процессов.
Рекомендуемое значение для лучшей производительности - "0", т.е. не осуществлять перенос в конец очереди для освобождения процесса.
_tickless="0"
- Рекомендуется выбирать периодические тики таймера ядра.
_timer_freq="1000"
- Задает частоту таймера.
Рекомендуется 1000 для лучшей отзывчивости системы на домашнем ПК или ноутбуке.
_fsync="true"
- Задействует поддержку ядром замены Esync от компании Valve - Fsync.
Обязательно к включению ("true") для лучшей производительности в играх.
_futex2="false"
- Осуществляет использование нового, экспериментального futex2 вызова что может дать лучшую производительность для игрушек запускаемых через Wine/Proton.
Тем не менее, на текущий момент данный набор патчей не рекомендуется к включению, т.к. может сломать работу некоторых игр (?).
_winesync="false"
- Еще одна замена esync, но уже от разработчиков Wine.
_zenify="true"
- Применяет твики Zen и Liquorix для улучшения производительности в играх.
Настоятельно рекомендуется к включению.
_complierlevel="2"
- Задает степень оптимизации компиляции ядра.
Лучше всего выбирать "2", т.е. сборку с -O3 флагом (макс. производительность).
_processor_opt="native_intel"
- С учетом какой архитектуры процессора собирать ядро.
Настоятельно рекомендуется указать здесь либо архитектуру непосредственно вашего процессора (К примеру: "skylake"),
либо фирму производитель, где для Intel это - "native_intel", для AMD - "native_amd".
_ftracedisable="true"
- Отключает ненужные трекеры для отладки ядра.
Вот и все. Остальные настройки customizing.cfg вы можете выбрать по собственному предпочтению. После того как мы закончили с настройкой, можно перейти непосредственно к сборке и установке ядра::
makepkg -sric # Установка и сборка linux-tkg