Liquorix
Liquorix Kernel (надмозг. Ядро из Лакрицы, сленг. Ликворикс, Жижка) — широко известная в узких кругах красноглазиков модификация ядра Linux, призванная превратить твой унылый лагающий десктоп в реактивный истребитель, сжигающий электричество со скоростью майнинг-фермы. Является объектом фапа геймеров, аудиофилов и просто любителей накатить патчей, чтобы ЧСВ выросло вместе с версией ядра. По сути — это Debian-ориентированная сборка на базе патчсета Zen Kernel, но с блекджеком и скриптами автоустановки.
Суть[править]
В далекие времена, когда деревья были большими, а Линус Торвальдс еще не посылал NVidia на йух публично, Linux разрабатывался преимущественно для суровых серверов. Задача серверного ядра — перелопатить гигатонны данных (throughput), и ему глубоко плевать, что у юзера окошко браузера открывается с задержкой в 200 миллисекунд. Серверу не нужно дергать курсором мыши, сервер должен работать.
Однако, внезапно выяснилось, что Линукс ставят на десктопы не только бородатые админы, но и вполне обычные задроты, которые хотят играть в игоры и сводить треки в Ardour. И вот тут начинается боль. Стоковое (ванильное) ядро, видя, что ты запустил компиляцию или копирование файлов, может положить болт на отрисовку интерфейса, отчего твой курсор превращается в слайд-шоу, а звук начинает пердеть и заикаться.
Тут на сцену выходят альтернативные сборки, среди которых Liquorix занимает почетное место самой простой дозы для начинающего наркомана.
Liquorix is a distro kernel replacement built using the best configuration and kernel sources for desktop, multimedia, and gaming workloads.
В переводе с маркетингового на человеческий: Мы выкрутили настройки так, чтобы система мгновенно реагировала на каждый чих юзера, даже если для этого придется пожертвовать общей производительностью и превратить ноутбук в сковородку.
Что внутри[править]
Адепты секты Свидетелей Низкой Латентности утверждают, что Жижка творит чудеса. Разберем анатомию чуда:
Zen Interactive Tuning[править]
Базовая философия. Если ванильное ядро — это ленивый чиновник, который обрабатывает документы стопками, то Zen/Liquorix — это истеричный секретарь на амфетаминах. Он бросает любое дело, как только видит, что юзер пошевелил мизинцем.
- Суть: Жертвуем пропускной способностью (throughput) ради отзывчивости (responsiveness) и низкой задержки (latency).
- Результат: Окошки летают, мышка плавная, но видео рендерится на 3 % дольше. Ужас, правда?
Планировщик процессов[править]
Священная война всех линуксоидов. В ваниле стоит CFS (Completely Fair Scheduler) — скучный, надежный, справедливый. Liquorix же постоянно экспериментирует, впихивая туда всякую экзотику.
- Раньше там жил MuQSS от великого и ужасного Кона Коливаса (Con Kolivas) — врача-анестезиолога, который в свободное от усыпления людей время учил ядро не тупить.
- Потом перешли на PDS (Priority and Deadline based Scheduler).
- Сейчас часто можно встретить BMQ (BitMap Queue) или тюнингованный EEVDF.
Смысл один: планировщик в Ликвориксе считает, что процесс игрушки или Xorg’а важнее, чем фоновое обновление базы `apt`, и отдает им процессорное время вне очереди.
1000Hz Tick Rate[править]
Ванильные дистрибутивы (типа Ubuntu или Debian) часто используют частоту таймера 250Hz или 300Hz. Это значит, что ядро просыпается и проверяет, не надо ли переключить задачу, 250 раз в секунду. Ликворикс долбит процессор с частотой 1000 раз в секунду.
- Плюс: Теоретически более плавная реакция в играх и меньше джиттера.
- Минус: Процессор не успевает уйти в глубокий сон, батарея ноутбука высаживается так быстро, что ты не успеваешь донести его от розетки до дивана. Оверхед на переключение контекста растет, но кому не похуй, когда у нас тут борьба за миллисекунды?
Hard Kernel Preemption[править]
Самая мякотка. В обычном ядре есть куски кода, которые нельзя прерывать. Если драйвер видеокарты решил задуматься, вся система ждет. В Ликвориксе включен режим Preemptible Kernel на максималках. Это почти Real-Time, но не совсем. Ядро может прервать практически любую свою внутреннюю задачу, чтобы отдать управление твоему плееру.
- Эффект: Ты больше не слышишь треска звука (xruns) при высокой нагрузке на CPU.
- Побочка: Если код драйвера кривой (привет, проприетарные дрова NVIDIA), система может весело и задорно упасть в Kernel Panic, потому что драйвер не ожидал, что его перебьют на полуслове.
Процесс инсталляции[править]
В отличие от Gentoo, где ядро нужно конфигурировать ручками в полнолуние, принося в жертву девственниц, Liquorix ставится до неприличия просто. Это и привлекает к нему толпы неофитов, желающих ускорить комп без регистрации и смс.
Для Debian/Ubuntu/Linux Mint это выглядит как типичный curl-pipe-bash (метод для бесстрашных и слабоумных):
curl -s 'https://liquorix.net/install-liquorix.sh' | sudo bash
После ввода этой команды скриpt делает всю грязную работу: добавляет репозитории, импортирует ключи (на которые всем плевать) и выкачивает хедеры и имидж. Юзеру остается только перезагрузиться и молиться, чтобы GRUB не сошел с ума.
Для Arch Linux все еще проще — оно есть в AUR (`linux-lqx`), но Арчеводы обычно предпочитают `linux-zen`, ибо канон, а Ликворикс считают попсой для дебианщиков.
Эффект плацебо[править]
Как только юзер перезагружается в новое ядро, начинается магия самовнушения.
- Вау, окна стали открываться плавнее! (на самом деле нет, просто кэш сбросился).
- ФПС в CS:GO вырос на 500 единиц! (нет, просто ты смотрел в пол).
- Система стала отзывчивее! (возможно, правда).
Реальные кейсы, где это работает:
- Если у тебя двухъядерный калькулятор, который захлебывается при открытии YouTube, агрессивный планировщик реально может сделать систему визуально живее.
- Низкие задержки критичны для записи звука с MIDI-клавиатуры или обработки эффектов в реальном времени через JACK/PipeWire. Тут Ликворикс реально спасает от треска.
- Когда процессор загружен под 100 %, сток начинает фризить управление. Ликворикс будет жертвовать фоновыми задачами, чтобы мышка продолжала ездить плавно.
Холивары[править]
Ваниль vs Кастом[править]
Ортодоксальные линуксоиды считают Ликворикс ненужным костылем. Аргумент прост: Если бы эти патчи были реально нужны и безопасны, Линус бы уже смержил их в мейнлайн. Ответ адептов: Линусу плевать на твой десктоп, он думает о дата-центрах Гугла. Истина, как обычно, где-то посередине (в районе `arch/x86/Kconfig`).
BBR vs Cubic[править]
Liquorix по дефолту включает TCP BBR (алгоритм контроля перегрузки от Google) вместо стандартного Cubic.
- Ожидание: Интернет станет быстрее, пинг в играх упадет до нуля, провайдер начнет доплачивать тебе.
- Реальность: Скорость закачки торрентов может реально вырасти при потерях пакетов, но пинг до сервера в Мухосранске останется прежним, ибо законы физики ядром не патчатся.
Лулзы[править]
- Периодически случается так, что свежий релиз Ликворикса ломает VirtualBox или проприетарные модули DKMS от Nvidia. В этот момент форумы наполняются плачем Ярославны: Я поставил игровое ядро, а игоры не запускаются!. Лечится откатом на сток и смирением.
- Название Liquorix как бы намекает на Liquor (бухло) и Linux. То есть, это ядро, написанное по пьяни или для тех, кто хочет накатить.
- Пользователи Manjaro, пытающиеся установить .deb пакеты Ликворикса через `dpkg` (да, такие бывают), доставляют отдельный вид удовольствия наблюдающим.
Вердикт[править]
Отличный способ почувствовать себя хакером, просто скопировав строчку в терминал.
- Ставить? Если у тебя Debian/Ubuntu/Mint и ты играешь/пишешь музыку — однозначно ДА. Хуже не будет (скорее всего), а ЧСВ почешешь.
- Ждать чудес? НЕТ. Твой Celeron не превратится в i9, а руки не выпрямятся.
См. также[править]
Ссылки[править]
- liquorix.net — место поклонения.
- github.com/zen-kernel/zen-kernel — папа Жижки.