Настройки CachyOS
Помимо наших оптимизированных ядер и репозиториев, мы также предоставляем настройки, которые дополнительно улучшают работу рабочего стола, а также некоторые
вспомогательные скрипты для улучшения качества жизни (QoL). Все эти конфигурации и скрипты находятся в пакете cachyos-settings.
Ознакомьтесь с репозиторием CachyOS Settings, чтобы узнать больше обо всех предоставляемых конфигурациях и скриптах.
Скрипты и инструменты
Заголовок раздела «Скрипты и инструменты»Вот как можно сгенерировать отчёт об ошибке с помощью скрипта cachyos-bugreport.sh:
- Откройте терминал и выполните следующую команду:
Terminal window sudo cachyos-bugreport.shПример вывода
Terminal window sudo cachyos-bugreport.sh[sudo] password for array:Starting with bugreportRedacting personal information...Do you want to upload this log to https://paste.cachyos.org? [Y]es/[N]o: YUploading Log% Total % Received % Xferd Average Speed Time Time Time CurrentDload Upload Total Spent Left Speed100 130.3k 100 10 100 130.3k 7 96934 00:01 00:01 117.7k# После завершения загрузки здесь будет указан URL. - Скрипт сгенерирует лог-файл в вашей домашней директории, содержащий системную информацию и логи, полезные для отладки. Он также предложит загрузить лог в наш сервис для вставки текста, что может быть полезно при сообщении об ошибках.
DLSS Swapper
Заголовок раздела «DLSS Swapper»Может пригодиться в некоторых случаях. Особенно для версии Proton от Valve.
Скрипт пытается обновить DLL и пресеты DLSS до последней доступной версии, что может быть полезно для некоторых игр, требующих определённой версии DLSS для корректной работы.
Как? Путём инъекции переменных окружения в процесс игры:
Переменные окружения dlss-swapper
export PROTON_ENABLE_NGX_UPDATER=1export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE=onexport DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE=onexport DXVK_NVAPI_DRS_NGX_DLSS_FG_OVERRIDE=onexport DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latestexport DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latestПеременные окружения dlss-swapper-dll
export DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE=onexport DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE=onexport DXVK_NVAPI_DRS_NGX_DLSS_FG_OVERRIDE=onexport DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latestexport DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION=render_preset_latest- В чём разница между
dlss-swapperиdlss-swapper-dll?dlss-swapperобновляет DLL и пресеты DLSS до последних версий, предоставляемых NGX Updater, аdlss-swapper-dllиспользует DLL, уже присутствующие в директории игры.
Небольшой скрипт, который включает профиль производительности из powerprofilesctl для целевого процесса (может использоваться для игр или любого другого процесса) и отключает хранитель экрана на время работы процесса.
Вопросы и ответы:
Как использовать
Допустим, вы хотите использовать game-performance для игры в Steam. Это можно сделать, добавив команду game-performance в качестве параметра запуска игры в Steam:
- Откройте Steam и перейдите в библиотеку.
- Щёлкните правой кнопкой мыши на игре, для которой вы хотите использовать
game-performance, и выберите «Свойства». - На вкладке «Общее» найдите раздел «Параметры запуска» и добавьте следующую команду:
Terminal window game-performance %command%Вики CachyOS — Как правильно задать несколько параметров запуска
- Закройте вкладку свойств и запустите игру.
Использование вне Steam
Поскольку game-performance — это просто скрипт-обёртка, его можно использовать для запуска любого процесса с включённым профилем производительности. Просто выполните следующую команду в терминале:
game-performance <команда>Даёт ли game-performance какую-либо пользу для старого процессора?
В целом нет. Для старых процессоров его следует избегать, так как это может принести больше вреда, чем пользы.
Почему он не включён по умолчанию?
Включение профиля производительности может быть не оптимальным для всех пользователей и может привести к повышенному потреблению энергии и выработке тепла. Не включая его по умолчанию, мы даём пользователям возможность включить его, когда это необходимо, не навязывая его всем.
kerver — это скрипт, выводящий краткую сводку о:
- Текущей версии ядра
- Проверяет поддержку x86_64 и оптимизации компилятора для процессора
- Текущем планировщике I/O
- Сводке по планировщикам CPU, I/O и sched-ext (если активен).
Использование
kerverПример вывода
kerver
Check kernel version:
Linux version 6.19.8-1-hC (linux-hC@hC) (clang version 22.1.1, LLD 22.1.1) #1 SMP PREEMPT_DYNAMIC Sun, 15 Mar 2026 16:27:53 +0000Linux CatchyOS 6.19.8-1-hC #1 SMP PREEMPT_DYNAMIC Sun, 15 Mar 2026 16:27:53 +0000 x86_64 GNU/Linux
Check x86_64 support:
x86-64-v3 (supported, searched) x86-64-v2 (supported, searched)
Check CPU config:
CONFIG_X86_NATIVE_CPU=y# CONFIG_GENERIC_CPU is not set# CONFIG_MZEN4 is not set
Current disk schedulers:
sda: none mq-deadline kyber [adios] bfqsdb: none mq-deadline kyber [adios] bfq
Check available schedulers:
BORE CPU Scheduler modification 6.6.2 by Masahito Suzukircu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.io scheduler mq-deadline registeredio scheduler kyber registeredAdaptive Deadline I/O Scheduler 3.2.0 by Masahito Suzukiio scheduler adios registeredio scheduler bfq registeredsched_ext: BPF scheduler "bpfland_1.1.0_gc505008f_x86_64_unknown_linux_gnu" enabled with options scx_bpflandПростой CLI-инструмент, позволяющий загружать текст в наш сервис для вставки текста. Может быть полезен для обмена логами и другим текстовым содержимым при сообщении об ошибках или обращении за помощью.
Вот несколько примеров использования paste-cachyos
Лог journalctl для systemd-resolved
journalctl -u systemd-resolved.service | paste-cachyosПростой скрипт, предназначенный для снижения задержки и улучшения производительности PCI-звуковых карт путём изменения таймера задержки PCI.
Доступен как в виде исполняемого файла, так и в виде службы systemd. Служба systemd автоматически применяет изменения при загрузке, а исполняемый файл можно использовать для применения изменений по требованию.
Однократное использование для текущей сессии
sudo pci-latencyВключение службы systemd
systemctl enable pci-latency.serviceОтключение службы systemd
systemctl disable pci-latency.servicesbctl-batch-sign — вспомогательный скрипт, упрощающий подпись файлов, необходимых для поддержки Secure Boot.
Очевидный случай, когда этот скрипт очень помогает — двойная загрузка с Windows, так как существует множество файлов Windows, которые необходимо подписать в EFI.
Краткое описание того, что делает скрипт:
- Сканирует неподписанные файлы с помощью
sbctl verify- При необходимости подписывает обнаруженные файлы с помощью
sbctl sign
- При необходимости подписывает обнаруженные файлы с помощью
- Избегает файлов, принадлежащих Windows, GRUB или имеющих расширения:
.muiи.dll
Ознакомьтесь с нашим разделом Настройка Secure Boot для получения дополнительной информации.
Lua-скрипт, показывающий процессы с наибольшим потреблением памяти по использованию ОЗУ, SWAP и KSM (Kernel Same-page Merging).
Перед использованием
# Установите lua-luv для запуска скрипта:sudo pacman -S lua-luvИспользование
topmemПример вывода
topmem
MEMORY Top 10 processes SWAP KSM1333M node 0M 0M811M exe 0M 0M759M VQ6B1EUZqoCU04zoRU= --cha... 0M 0M681M node 0M 0M531M zed-editor 0M 0M484M brave 0M 0M424M qs 0M 0M408M mdx-language-server 0M 0M395M Telegram 0M 0M365M VQ6B1EUZqoCU04zoRU= --cha... 0M 0MПринудительно использует Zink (OpenGL поверх Vulkan) для целевого процесса путём установки соответствующих переменных окружения.
Используемые переменные окружения
MESA_LOADER_DRIVER_OVERRIDE=zinkGALLIUM_DRIVER=zink__GLX_VENDOR_LIBRARY_NAME=mesa__EGL_VENDOR_LIBRARY_FILENAMES=/usr/share/glvnd/egl_vendor.d/50_mesa.jsonМожет быть полезно в Steam для некоторых игр, которые имеют лучшую производительность или совместимость с Zink.
Использование
zink-run <команда>Создание переопределений
Заголовок раздела «Создание переопределений»Что такое переопределение?
Переопределение — это файл конфигурации, который вы создаёте для изменения настроек по умолчанию, предоставляемых cachyos-settings. Это позволяет настраивать систему без изменения оригинальных файлов, что полезно для поддержания совместимости с будущими обновлениями cachyos-settings.
Мы предоставляем множество настроек sysctl, направленных на улучшение общей производительности рабочего стола. Каждая запись sysctl хорошо документирована в файле 70-cachyos-settings.conf.
Чтобы внести изменения в любое из этих значений, скопируйте исходную запись и создайте новый файл в /etc/sysctl.d/ с изменённым значением.
Пример переопределения sysctl
-
Посмотрите на исходное значение из
cachyos-settingsTerminal window cat /usr/lib/sysctl.d/70-cachyos-settings.conf# Только для экспериментов!# Позволить задачам реального времени выполняться столько, сколько им нужно# sched: троттлинг RT активированkernel.sched_rt_runtime_us=-1 -
Создайте новый файл в
/etc/sysctl.d, чтобы внести изменения в настройки sysctlВозвращение kernel.sched_rt_runtime_us= к значению по умолчанию sudo micro /etc/sysctl.d/99-kernel-sched-rt.conf # Если файл не существует, эта команда создаст его и позволит редактироватьkernel.sched_rt_runtime_us=950000 -
Сохраните файл, нажав
CTRL + S, и выйдите из редактора, нажавCTRL + Q. -
После внесения изменений в настройки sysctl примените их:
Terminal window sudo sysctl --system
Правила udev
Заголовок раздела «Правила udev»То же самое касается правил udev. Вы можете создать собственные переопределения, создав новый файл в /etc/udev/rules.d/ с таким же именем, как у оригинального файла.
Пример переопределения правила udev
-
Проверьте оригинальное правило udev CachyOS:
Terminal window cat /usr/lib/udev/rules.d/60-ioschedulers.rulesВывод:
Terminal window # HDDACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \ATTR{queue/scheduler}="bfq"# SSDACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \ATTR{queue/scheduler}="mq-deadline"# NVMe SSDACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \ATTR{queue/scheduler}="none"Допустим, вы хотите изменить планировщик I/O для SSD и NVMe на
kyberвместоmq-deadlineиnoneсоответственно. Это можно сделать, создав файл переопределения. -
Создайте новый файл в
/etc/udev/rules.dдля переопределения оригинального правила:Terminal window sudo micro /etc/udev/rules.d/60-ioschedulers.rules # Если файл не существует, эта команда создаст его и позволит редактировать# HDDACTION=="add|change", KERNEL=="sd[a-z]*", ATTR{queue/rotational}=="1", \ATTR{queue/scheduler}="bfq"# SSDACTION=="add|change", KERNEL=="sd[a-z]*|mmcblk[0-9]*", ATTR{queue/rotational}=="0", \ATTR{queue/scheduler}="kyber"# NVMe SSDACTION=="add|change", KERNEL=="nvme[0-9]*", ATTR{queue/rotational}=="0", \ATTR{queue/scheduler}="kyber" -
Сохраните файл, нажав
CTRL + S, и выйдите из редактора, нажавCTRL + Q. -
После внесения изменений в правила udev перезагрузите правила и примените их:
Terminal window sudo udevadm control --reload-rulessudo udevadm trigger