We rewrote the Ghostty GTK application 🔥 Горячее 💬 Длинная дискуссия
Ghostty GTK-часть переписана с нуля
Проект завершён: Linux/BSD-версия теперь полностью использует GObject из Zig и проверена Valgrind.
Что изменилось
- Zig-структуры обёрнуты в GObject; память управляется счётчиками ссылок.
- При обновлении конфига старый объект освобождается автоматически, когда исчезают ссылки.
- Появились сигналы, свойства, действия GTK и современные UI-файлы Blueprint.
- Новые виджеты добавляются быстрее (анимированная рамка, вкладки в заголовке и т.д.).
Valgrind Каждый коммит прогонялся под Valgrind.
- Потребовался большой suppression-файл (в основном GTK/драйверы).
- Найдены: утечка и неопределённое обращение в Zig-коде, ошибка
WeakRef
в GTK, которые иначе вызывали редкие краши.
Комментарии (194)
- Ghostty переписывает GUI на GTK/Zig, столкнувшись с проблемами GObject и управления памятью.
- Участники обсуждают, что GTK навязывает свою ООП-модель и счётчики ссылок, что сложно сочетать с Zig/Rust.
- Некоторые считают GTK не «родной» на Linux и предлагают Vala, Qt или собственный UI.
- Пользователи жалуются на баги прокрутки, копирования, nano и отсутствие поиска.
- Автор признаёт выбор GTK компромиссом ради кроссплатформенности и «родного» вида.
I made a real-time C/C++/Rust build visualizer 🔥 Горячее
Я написал What the Fork — кроссплатформенный визуализатор сборки C/C++ (и не только).
Запуск: wtf make
, wtf cargo build
, wtf gradle build
, wtf -x
для Xcode и т.д.
Инструмент показывает все процессы, включая скрытые вызовы ld
, и ищет типичные проблемы:
- отсутствие
-j
уmake
, - однопоточная компиляция,
- повторяющиеся cmake/make-шаги,
- непараллельные CI-сборки.
Как работает
Сборка = дерево команд. Чтобы увидеть всё, ловим системные вызовы fork/exec/exit
:
- macOS — Endpoint Security API,
- Linux —
ptrace
, - Windows — Event Tracing (самое мерзкое API).
Что уже нашли
- cargo собирал зависимость одним потоком вместо 10× ускорения.
- ninja при сборке LLVM держит 12 задач на 10 ядрах — почти идеал.
- CMake 85 раз подряд вызывает
xcode-select
,sw_vers
, cmake/make → clang, не используя параллелизм.
Инструмент открыт для тестов — попробуйте на своём проекте.
Комментарии (82)
- Пользователи восторженно реагируют на новый визуализатор сборки, особенно те, кто застрял на CMake/GCC/Make без clang/ninja и не может понять, почему сборка тормозит.
- Просят сразу показать GIF-демонстрацию под заголовком статьи и спрашивают, будет ли macOS-версия и открытый код.
- Некоторые делятся опытом: strace/dtruss, ninjatracing, vcperf, cargo --timings, Instruments и другие инструменты уже решали похожие задачи.
- Предложения расширить функциональность: добавить flame-графы процессов, поддержку fork(), интеграцию с Bazel Build Event Protocol, оценку «осталось времени» по историческим данным.
- Отдельные комментарии касаются маркетинга (сменить название), сравнения с VS/Xcode, а также шуток про TEEP/OEE завода и «LLVM, завари кофе».
Progress towards universal Copy/Paste shortcuts on Linux
На Linux Ctrl-C/Ctrl-V в терминале не работают, потому что Ctrl нужен для управляющих кодов. Приходится жать Ctrl+Shift+C/V. К 2025 году появится универсальное решение без лишнего ПО: старые коды клавиш Copy и Paste, которые Linux «знает» с древности.
Как это работает
-
Клавиатура
Программируемые клавиатуры (System76 Launch, Framework 16, ZSA Moonlander, Keychron Q10 и др.) позволяют назначить на любую клавишу слой, где C = Copy, V = Paste. Для активации слоя удерживается модификатор (например, «Raise» на моей Corne). -
Прошивка и конфигураторы
Производители дают свои утилиты (System76 Keyboard Configurator), а Vial поддерживает множество моделей. В слое можно вывести Copy/Paste на C/V, стрелки на домашний ряд и прочие удобства. -
ПО Linux
Приложения опираются на GUI-тулкиты GTK и Qt.- GTK добавил поддержку Copy/Paste-кодов в январе 2025.
- Qt внедрит их в версии 6.10 (сентябрь 2025).
Совокупность программируемого «железа» и обновлённых тулкитов даст единые горячие клавиши Copy/Paste во всех приложениях Linux без дополнительных твиков.
Комментарии (135)
- Участники жалуются на разнообразие клипбордов в Linux (X11, Vim, tmux) и их несогласованность.
- В терминалах приходится добавлять Shift к Ctrl-C/Ctrl-V, что ломает мышечную память и вызывает ошибки.
- Apple решает конфликт отдельным Cmd-ключом, но даже там приложения перехватывают сочетания непредсказуемо.
- Многие используют альтернативы: Ctrl/Shift-Insert, выделение + средняя кнопка мыши, ремап клавиш, покупку программируемых клавиатур.
- Единого механизма объявления и настройки шорткатов в Linux нет, поэтому Chrome и другие приложения игнорируют системные привязки.
Debian 13 arrives with major updates for Linux users – what's new in 'Trixie'
- Debian 13 «Trixie» вышла с ядром 6.12 LTS, systemd 257, GCC 14, LLVM 19, OpenSSL 3.2, GNOME 48, KDE Plasma 6.3, LXQt 2.1, MATE 1.28, Xfce 4.20.
- Улучшена поддержка ARM64 и RISC-V, добавлены новые драйверы Wi-Fi 7, Btrfs-RAID5/6 стабилен, nftables теперь по умолчанию.
- Устаревшее убрано: миграция с
ifupdown
наsystemd-networkd
,iptables
→nftables
,sysvinit
скрипты. - Установщик получил режим unattended и улучшенную локализацию.
- Безопасность: hardened сборки, SELinux и AppArmor обновлены, добавлена поддержка TPM 2.0 и Secure Boot.
- Всего 59 000 пакетов; 10-летняя поддержка через LTS и ELTS.
Комментарии (70)
- Debian 13 Trixie прекращает выпуск 32-битных образов, но 32-битные библиотеки и мультиарх по-прежнему работают.
- Пользователи старого железа советуют antiX, MX Linux, Void, Alpine и Slackware как дистрибутивы, где x86-32 всё ещё жив.
- У кого проприетарные драйверы NVIDIA, те после обновления остались на nouveau: «не читал документацию — сам виноват».
- Для серверов и контейнеров Debian по-прежнему «скучный и надёжный», поэтому многие ставят его и на десктоп ради единообразия.
- Если нужен «свежак», можно перейти на testing/unstable или ставить софт через Homebrew, но большинству хватает стабильного стека.
Nyxt: The Emacs-like web browser
Nyxt — браузер в духе Emacs, написанный на Common Lisp под BSD-лицензией. Цель — клавиатурное управление и полная расширяемость для разработчиков; Linux — приоритетная платформа.
Проект запущен в 2017 г. Джоном Меркурисом, спонсируется двухчеловечной Atlas. Идея — дать «хороший Emacs-опыт в интернете», но без самого Emacs: технический долг и ограничения плагинов не позволили реализовать задумку иначе. Поддерживаются vi- и CUA-схемы клавиш.
Стабильная ветка 3.12.0 (октябрь 2024) использует WebKitGTK, экспериментально Blink. Обновления безопасности только для последней стабильной версии.
Разрабатывается 4.0: рендер-агностик, WebKitGTK + Electron (из-за производительности и поддержки macOS/Windows). Пока доступен превью-AppImage на Electron; WebKitGTK требует сборки из исходников. Основные изменения — рефакторинг, багфиксы, улучшения UI.
Установка стабильной версии в Linux — Flatpak.
Комментарии (35)
- Пользователи восторжены идеей «Emacs для браузера», но ждут стабильной 4.0 и полной совместимости с сайтами.
- Основные тормозы: отсутствие uBlock Origin/umatrix, странный поиск в модальном окне, проблемы с Electron и сборкой под Guix/Mac.
- Движок — Chromium через Electron, поэтому sandbox-защита сопоставима с Chrome, но «взлом» вне песочницы пугает.
- Критики считают проект хакерским, а не продуктовым: мало внимания UX и «обычным» пользователям.
- Сторонники отвечают: целевая аудитория — энтузиасты Emacs/Luakit, а не массовый рынок.
The History of Windows XP
Короткая история Windows XP
Microsoft к концу 90-х стал «фоном жизни» — любое изменение вызывало бурю, а через пару лет продукт становился обыденным. Компания мечтала избавиться от MS-DOS, пробовала XENIX, XEDOS, затем OS/2, но успех Windows 3 разрушил союз с IBM. Спасением стал Дэвид Катлер, перешедший из DEC: его команда создала Windows NT, совместимую с DOS, UNIX и OS/2. План убить DOS-наследие через Windows 2000 отменили 7 апреля 1999 г.
Комментарии (67)
- @ayaros и @Lammy вспоминают XP как «пик Microsoft»: обожают Luna/Neptune UI, музыку из тура и дизайн Watercolor.
- Критики (@krige, @spankibalt) считают тему XP «игрушечной» и скучной, предпочитая Classic Theme или вообще Linux.
- Ностальгия объясняется тем, что XP была первым компьютером миллениалов (@ianhawes), но технически уступала 2000 (@troupo, @lproven).
- Безопасность XP до SP2 была ужасной (@stetrain, @herbst), зато Vista/8 «убили» прогресс (@vjvjvjvjghv).
- Кто-то хранит запечатанную коробку XP (@cyrialize), кто-то даже шептал в OOBE-музыку (@EvanAnderson).
Debian 13 “Trixie” 🔥 Горячее 💬 Длинная дискуссия
Debian 13 «trixie» вышел 9 августа 2025 года после 2 лет разработки.
Поддержка — 5 лет (Security + LTS).
Десктопы: GNOME 48, KDE Plasma 6.3, LXDE 13, LXQt 2.1, Xfce 4.20.
Пакетов: 69 830 (+14 100 новых, –8 840 устаревших, 44 326 обновлённых).
Размер: 403 ГБ, 1,46 млрд строк кода.
Ядро: 6.12 LTS; первый релиз с официальной поддержкой riscv64.
Архитектуры: amd64, arm64, armel, armhf, ppc64el, riscv64, s390x.
i386 больше не поддерживается; armel последний релиз.
Ключевые обновления: Apache 2.4.64, Bash 5.2.37, BIND 9.20, GCC 14.2, LibreOffice 25.2, MariaDB 11.8, Nginx 1.26, OpenJDK 21, PHP 8.4, PostgreSQL 17, Python 3.13, Rust 1.85, systemd 257 и др.
Облако: образы для EC2, Azure, OpenStack, PlainVM, NoCloud с cloud-init и оптимизированным загрузчиком.
Live-образы: amd64/arm64, GNOME/KDE и др.; установка через Calamares или стандартный установщик.
Комментарии (343)
- Debian 13 «Trixie» вышла: 63 % пакетов обновлены, поддержка 7 архитектур, включая RISC-V.
- i386 теперь только как «amd32»-совместимый, официального ядра/инсталлятора нет.
- Появился новый формат APT-репозиториев debian.sources, старый sources.list пока работает.
- 95 % пакетов достигают bit-for-bit воспроизводимости на amd64/arm64/riscv64.
- /tmp теперь tmpfs по умолчанию (до 50 % ОЗУ), но можно вернуть старое поведение.
- Пользователи хвалят стабильность, скорость обновления «stable→stable» и отсутствие snap.
Комментарии (69)
- Пользователи жалуются: Jan не умеет параллельно общаться с несколькими моделями, требует слишком много RAM/VRAM и «тяжело» работает на Linux.
- Запуск локальных моделей часто ломается: llama-server не стартует, Ollama-совместимость требует ручной настройки
OLLAMA_HOST
иOLLAMA_ORIGINS
. - UI раньше был багованным; сейчас, по отзывам, стал лучше, но проект всё ещё выглядит как «черновик архитектуры», а не готовое решение.
- Jan позиционируется как десктоп-альтернатива LM Studio (и частично OpenWebUI), но с открытым кодом и поддержкой удалённых провайдеров.
- Некоторые участники сомневаются в «принципах» команды: обещанные встречи не состоялись, связь прервалась.
Tribblix – The Retro Illumos Distribution
Tribblix — ретро-дистрибутив на базе illumos от Питера Трибла.
Свежее: 13 июля 2025 — релиз Milestone 37 (x86, варианты Vanilla и LX).
SPARC: 29 июля 2025 — обновление m32→m33; свежие установки пока через m32 ISO.
SPARC-CD: 15 мая 2025 — ISO m32 помещается на CD.
Поддержка 32-битного железа полностью прекращена. SPARC-версия тестируется слабо, x86 стабилен.
Скачать, установить и использовать можно по ссылкам на сайте.
Комментарии (31)
- Участники обсуждают нишевые ОС (Tribblix, Dragonfly BSD, Haiku, RISC OS, 9front, MINIX) и их «невидимость» на фоне мейнстрима.
- Solaris Zones/LX-контейнеры хвалят за удобство, но установка Illumos-дистрибутивов часто страдает из-за проблем с USB3 и современным «железом».
- Поднимается идея слоя совместимости Linux-драйверов, но критика: это влечёт GPL-проблемы и наследование архитектурных ограничений Linux.
- Совместимость ZFS: пулы Illumos читаются Linux/FreeBSD, но не наоборот, если используются новые фич-флаги OpenZFS.
- Tribblix предлагает 30+ оконных сред, включая CDE и OpenLook, но без старого DeskSet.
RISC-V single-board computer for less than 40 euros
-
Pine64 Star64 — плата на RISC-V за €39,99
- 4-ядерный JH7110 (1,5 ГГц), 2 ГБ LPDDR4, Wi-Fi 5/BT 5.2, HDMI 4K, PCIe, GPIO 40-pin.
- Поддерживает Linux (Ubuntu, Fedora) и RTOS (Zephyr).
- Питание через USB-C 5 В/3 А; корпус и eMMC опционально.
-
Доступность
- Продажи стартуют 12 августа в магазине Pine64 и у партнёров.
Комментарии (80)
- VisionFive 2 Lite — дешёвая RISC-V плата, но JH7110 не соответствует RVA23, что может вызвать проблемы с Ubuntu.
- Производительность ближе к Pi 4 при CLI-задачах, но без SIMD; для GUI и современных ПО памяти может не хватить.
- Поддержка Linux/Fedora/Debian хорошая, но многое из «обычного» ПО не тестируется на riscv64.
- Нет полноценного PCIe-слота и открытого GPU-драйвера; нужна M.2-SSD и максимум ОЗУ.
- Питание можно через PoE-сплиттер, встроенной flash нет, что полезно для офлайн-криптографии.
- Cookie-баннер статьи вызвал бурю негодования: отсутствует кнопка «отклонить всё», приходится пользоваться блокировщиками или зеркалами.
Modos Paper Monitor – Open-hardware e-paper monitor and dev kit 🔥 Горячее
Modos Paper Monitor — открытый e-paper монитор 75 Гц и dev-kit.
Собрано $61 611 из $110 000, 37 дней до конца кампании.
В комплекте
- Плата на FPGA (Caster, 60 Гц, открытая прошивка).
- 6" и 13" монохромные панели; контроллер подходит и к другим экранам 6–13,3".
- HDMI/USB, Linux/macOS/Windows.
- Корпус-чертежи и ПО на GitHub.
Почему это важно
- Закрытые драйверы и высокие цены тормозят e-paper.
- Мы даём инженерам и энтузиастам свободу экспериментировать и формировать стандарты (Discord, Mastodon, Matrix, Bluesky).
Возможности
- Низкая задержка: независимые области обновления, отмена прежних пикселей.
- Гибкие режимы: бинарный для скорости + гибридный серый для деталей.
- C API: полный контроль режимов и обновлений.
Цены
$199–$599, 6 вариантов комплектации.
Комментарии (72)
- Проект Glider — полностью открытый: исходники, Verilog, документация и файлы платы на GitHub/GitLab.
- NLnet и ЕС профинансировали разработку; обсуждаются условия грантов и гражданство авторов.
- Контроллер на низкобюджетном FPGA выдаёт HDMI/USB-C, но пока не предлагает LVDS/eDP для моддинга ноутбуков.
- Демо показывает высокую скорость обновления при заметном «ghosting»; блики — особенность дешёвой панели, не самой платы.
- Участники хотят 21–24″ монохромный 30 Гц дисплей дешевле $500, сенсорный слой и драйверы X11/Wayland.
- Упомянуты альтернативы: Inkplate, TRMNL, Boox, а также DIY-кибердеки и ноутбуки ThinkPad T480 с e-ink.
Benchmark Framework Desktop Mainboard and 4-node cluster
-
Цель: создать единый фреймворк для тестов производительности Ollama на двух конфигурациях:
- настольная материнка (1×CPU, 1×GPU, 128 ГБ ОЗУ);
- кластер из 4 узлов (по 64 ГБ ОЗУ, 1×GPU, 10 GbE).
-
Методика
- Одинаковые образы Docker/Podman на обеих платформах.
- Набор моделей: llama3.1:8b, codellama:13b, mistral:7b, qwen2.5:32b.
- Метрики: t/s, TTFT, TPS, Watts, $/1k токенов.
- Повторять 3×, усреднять, выводить ±σ.
-
Автоматизация
- Ansible-playbook разворачивает Ollama, node-exporter, prometheus, grafana.
- Скрипт
run-suite.sh
последовательно запускает каждую модель с 512, 2 048, 4 096 токенов ввода/вывода. - Результаты пишутся в CSV и публикуются в PR как
results-<platform>-<date>.md
.
-
Сравнение
- Построить графики «токен/с vs. Watts» и «$/1k токенов vs. модель».
- Выделить break-even точку, где кластер начинает выигрывать по стоимости при одновременной обработке ≥3 моделей.
Комментарии (57)
- AMD Framework Desktop (AI Max+ 395) показывает 2,5–3× прирост к RTX 4000 SFF Ada 20 ГБ, но уступает 9950X из-за низкого TDP.
- Для локального запуска LLM рекомендуют RTX 3090 (24 ГБ) как лучшее ценовое решение, либо Apple/AMD при необходимости >20 ГБ памяти.
- ROCm и Linux-стек работают стабильно, но потенциал iGPU/NPU ещё не раскрыт; тесты велись в llama.cpp.
- Для масштабирования предлагают distributed-llama, Exo и llama.cpp-RPC, а также Oculink/eGPU-конфигурации.
- Продукт выглядит нишевым: ML-инференс дома, но для «обычных» задач лучше Threadripper или сервер.
Writing a Rust GPU kernel driver: a brief introduction on how GPU drivers work 🔥 Горячее
Это вторая часть серии о разработке Tyr — современного GPU‑драйвера на Rust для ядра Linux с поддержкой Arm Mali на CSF.
Разберем, как работают GPU‑драйверы, на примере VkCube — простого приложения на Vulkan, рисующего вращающийся куб. Простота сцены помогает понять путь данных и команд от приложения к GPU.
UMD и KMD
- UMD (usermode) реализует API вроде Vulkan/OpenGL/OpenCL и преобразует команды приложений в низкоуровневые команды для GPU. В нашем случае это panvk из Mesa.
- KMD (kernel mode) соединяет UMD с железом: инициализирует устройство, управляет памятью, очередями, планированием и уведомлениями. В нашем случае это Tyr, нацеленный попасть в основное дерево Linux.
Что делает UMD
- Подготавливает данные: геометрию, текстуры, машинный код шейдеров, матрицы трансформаций.
- Просит KMD разместить их в памяти GPU, создает VkCommandBuffer с командами отрисовки, настраивает состояние конвейера, указывает, куда писать результат, и как получать сигнал о завершении.
Про шейдеры
- Это полноценные программы на GPU. Для VkCube им нужны хотя бы геометрия, цвета и матрица вращения, чтобы расположить и раскрасить куб и крутить его.
Что делает KMD
- Выделяет и отображает память, изолируя процессы в отдельных контекстах/VM.
- Принимает работу от UMD, ставит в аппаратные очереди, отслеживает зависимости и завершение.
- Планирует выполнение на массово параллельном, асинхронном железе, соблюдая порядок и справедливое распределение ресурса между клиентами.
- Инициализирует устройство: тактирование, питание, стартовые процедуры; обеспечивает совместный и честный доступ приложений к GPU.
Ключевой вывод
- Основная сложность — в UMD, который переводит высокоуровневые API в команды GPU. Но KMD обязан предоставить надежные примитивы: память, очереди, синхронизацию, планирование и разделение ресурсов, чтобы UMD было реально реализовать.
Интерфейс драйвера
- На основе этих задач KMD экспонирует минимальный набор операций: запрос сведений об устройстве, создание/уничтожение VM, привязка/отвязка памяти к VM, получение состояния VM, отправка работ в очереди и механизмы уведомлений — тот же API, что у C‑драйвера Panthor для того же железа.
Комментарии (34)
- Обсуждение статьи о драйвере GPU: часть читателей хвалит материал, но считает его слишком коротким и ждёт продолжения/второй части.
- Уточняют, что речь идёт о драйвере panthor для Mali CSF (на RK3588), а не panfrost; один из комментаторов отмечал баги в Firefox на RK3588, ему ответили про соответствующий драйвер.
- Спор о фокусе: одни подчёркивают важность того, что это один из первых GPU-драйверов Linux на Rust; другие критикуют кликбейт заголовок и считают, что нужно акцентировать Mali CSF, а не Rust.
- Техническая дискуссия: вопрос о целесообразности uring_cmd вместо ioctl; ответы поясняют, что из-за природы асинхронных очередей GPU дополнительная CPU-очередь мало что даст, а интерфейс драйвера следует ожиданиям Mesa.
- Отмечают, что текущая часть охватывает в основном границу пользователь/ядро и управление очередями/буферами; «основное действие» — выполнение команд GPU — ожидается в следующих частях.
- Дополнительно подчёркивают сложность современных GPU-драйверов и их объём в ядре Linux, что оправдывает выбранные подходы и терминологию.
Комментарии (75)
If you're looking for a fantastic dev-focused linux distro, I can't say enough good things about Bluefin Linuxhttps://projectbluefin.io/ I really appreciate that he included a video with great narration. So much better than the animated gifs that provide too little context and go
Quickshell – building blocks for your desktop 🔥 Горячее
Quickshell — набор инструментов для создания панелей, виджетов, экранов блокировки и других элементов рабочего стола на QtQuick. Работает с любым Wayland-композитором или оконным менеджером.
Быстрый цикл разработки
Изменения подхватываются сразу после сохранения.
Простой язык
Конфигурация на QML с поддержкой LSP.
FloatingWindow {
Timer {
id: timer
property bool invert: false
running: true; repeat: true; interval: 500
onTriggered: timer.invert = !timer.invert
}
color: timer.invert ? "purple" : "green"
}
Интеграции
Wayland, Hyprland, PipeWire, X.Org, Sway и другие.
Примеры конфигураций
Установка • Документация • Changelog
Разработка: outfoxxed, xanazf и сообщество
Matrix • Discord
Комментарии (46)
- Участники хвалят Quickshell за скорость прототипирования и модульность, но спорят о QML: кто-то считает его лучшим выбором для GUI, кто-то — неудобным для больших проектов.
- Поддержка ОС: Linux/BSD сейчас бесплатны, macOS/Windows планируются только в платной версии; Wayland поддерживается лучше X11.
- Сообщество делится ссылками: GitHub-зеркалом для RSS-уведомлений, готовым конфигом dankmaterialshell и похожим проектом BeaverGrow.
- Видео-демо вызвало вопросы о производительности: у кого-то тормозит, у кого-то идёт плавно; вероятнее всего, проблема на стороне браузера/железа.
Комментарии (77)
I would see Proxmox come up in so many homelab type conversations so I tried 8.* on a mini pc. The impression I got was that the project probably provides the most value in a clustered environment or even on a single node if someone prefers using a web UI. What didn't seem very c
Комментарии (76)
This is, quite unironically, the type of development I wish Apple would pursue for macOS. It's 2025 and focus stealing is still a topic we can have a serious conversation about. Why? "I want to use my computer without random popups accidentally eating my keyboard commands and doi