OpenBSD 8.0 🔥 Горячее
Вышел OpenBSD 8.0 — 61-й релиз проекта, датированный 20 октября 2026 года. Песня релиза называется «The Simps on AI», а артворк подготовили yvaneht nioj и clanker. Опубликованы контрольные суммы и публичные ключи signify(1) для base, прошивок, пакетов и syspatch, а также страница errata и подробный список изменений между 7.9 и 8.0.
Среди ключевых изменений — резкое расширение адресного пространства ядра на amd64: с 4 ГБ до 512 ГБ, при этом прямая карта памяти (pmap(9)) теперь размещается по случайному адресу. На arm64 добавлена поддержка гибернации и bounce-буферы, а шифрование swap ускорено аппаратными инструкциями AES — это же сделано и на amd64. На riscv64 появилась поддержка векторного расширения «V», расширенной архитектуры прерываний (драйверы imsic(4) и aplic(4)), таймерного расширения Sstc и bounce-буферов, а сведения о расширениях CPU теперь передаются в userland через elf_aux_info(3). На sparc64 выполнены проверки границ таблицы релокаций и осуществлён переход на инструментарий LLVM. Поддержка архитектуры loongson прекращена из-за несовместимости с Clang 22.
В ядре также исправлены расчёт размера памяти в open_wmemstream(3), уничтожение идентификатора семафора в semop(2) при переключении контекста и улучшены эвристики очереди неактивных страниц. Исходники по-прежнему поставляются архивами src.tar.gz, sys.tar.gz и ports.tar.gz — это обычные CVS-деревья, дающие быстрый старт для обновления через AnonCVS.
Комментарии (105)
Обсуждение дополняет анонс OpenBSD 8.0 реальными отзывами. Обновление через sysupgrade по SSH осталось простым, а система сохраняет стабильность даже на старом железе (например, на ноутбуке Lenovo 2012 года). Ключевые технические изменения: поддержка многопоточного VMM/VMD, улучшение SMP-сетевых функций и переход ssh с supercop ed25519 на libsodium. Пользователи запрашивают бенчмарки для сравнения версий 8.0 и 7.9, при этом отмечают, что нумерация релизов линейна и не имеет особого значения. Релиз-песня «The Simps on AI» получила положительные отзывы как традиционный элемент выпуска; рекомендуется изучить её текст на странице проекта. Графика «blowfish on bike» вызвала споры: одни видят в ней пародию на AI-генерации или комментарий к трендам, другие — просто странный рисунок. Также прозвучала критика размера дистрибутива (8 МБ), длительности загрузки (53 сек) и использования формата GIF. Важная оговорка: если при обновлении система перезагружается в старую версию, проверьте наличие монитора, иначе процесс может завершиться неудачей.
Libreboot 26.10 "Ominous Olive" released with UEFI, Chromebook support
Выпуск Libreboot 26.10 «Ominous Olive» — крупное обновление свободной прошивки, заменяющей проприетарные BIOS/UEFI на технике Intel, AMD и ARM64. Главное новшество — полная поддержка UEFI через загрузчик EDK2 от MrChromebox, благодаря чему теперь загружается и Microsoft Windows. EDK2 стал загрузчиком по умолчанию, а GRUB и SeaBIOS поставляются во флеш-памяти как EFI-сборки для обратной совместимости.
Из проекта MrChromebox импортированы все 233 поддерживаемые модели Chromebook, включая новейшее железо Intel и AMD; в этом выпуске они доступны только в виде исходников, без бинарников. Протестирован лишь Baytrail (Kip). Libreboot доработал прошивку: фиолетовый фон и радужный логотип вместо логотипа coreboot, установка бита HAP для отключения Intel ME и разблокировка регионов IFD через ifdtool. Отдельно добавлен файл AGENTS.md со строгой анти-ИИ политикой — названный самым важным изменением выпуска.
Есть и оговорка: входящий в EDK2 загрузчик SeaBIOS CSM (CSMWrap) занимает целое ядро CPU при загрузке, поэтому четырёхъядерный процессор в Linux покажется трёхъядерным. Это известное ограничение исправят позже; для совместимости лучше использовать GRUB EFI. Оба варианта доступны в меню EDK2 по нажатию ESC, но пользователям советуют переходить на нативную загрузку UEFI с ESP.
Комментарии (145)
Интеграция UEFI/EDK2 в Libreboot расширила поддержку устройств, особенно Chromebook, и привела к успешным установкам. Libreboot теперь использует загрузчик EDK2, обеспечивая полную поддержку UEFI и возможность запуска Windows на поддерживаемых платформах. В релизе добавлена поддержка 233 Chromebook через MrChromebox; сборка производится только из исходников без готовых бинарных образов. Libreboot отличается от Coreboot полным удалением бинарных blob и Intel ME, делая прошивку полностью свободной. Рекомендуется собирать прошивку из исходников, так как проект не предоставляет предкомпилированные образы. Пользователи успешно прошивают Libreboot на Google Pixel, Dell Latitude Chromebook Enterprise, Acer Chromebook и других устройствах. Политика запрета вкладов, генерируемых ИИ, вызвала спор: сторонники видят в ней идеологическую обоснованность, критики — излишний догматизм, утверждая, что фокус на «чистоте входных данных» игнорирует качество и безопасность конечного кода. Тем, кто считает политику слишком строгой, советуют форкнуть репозиторий или перейти к Coreboot, где использование ИИ не ограничено.
Jemalloc 5.4.0 🔥 Горячее
Выпуск jemalloc 5.4.0 включает улучшения производительности и исправления ошибок. Добавлена поддержка новых архитектур, включая оптимизации для ARM64 и x86-64, что повышает эффективность распределения памяти в многопоточных средах. Улучшена масштабируемость при высокой нагрузке за счёт доработки внутренних кешей и уменьшения конкуренции за глобальные структуры. Исправлены проблемы с фрагментацией памяти в определённых сценариях аллокации и dealлокации мелких объектов. Обновлён интерфейс для лучшей интеграции с инструментами профилирования и отладки, включая расширенную поддержку статистики через mallctl. Добавлены новые флаги конфигурации для тонкой настройки поведения аллокатора под конкретные рабочие нагрузки. Исправлены утечки ресурсов в редких условиях ошибок инициализации. Релиз совместим с предыдущими версиями по ABI, обеспечивая плавное обновление без пересборки зависимых проектов. Изменения направлены на повышение надёжности и эффективности jemalloc в продакшн-средах, особенно в системах с высокой конкуренцией за память.
Комментарии (94)
Выпуск jemalloc 5.4.0 восстанавливает активность проекта после многолетнего застоя (с 2022 года), что критично для пользователей, зависящих от его стабильности и производительности в продакшене, особенно в Ruby on Rails и многопоточных системах. Jemalloc значительно снижает потребление памяти в Ruby on Rails приложениях: один пользователь зафиксировал падение с 8 ГБ до менее чем 1 ГБ при использовании Sidekiq. Он позволяет отслеживать потребление памяти по потокам и ограничивать нагрузку по бюджету памяти, что полезно для CPU-ограниченных приложений с привязкой потоков к ядрам. Jemalloc эффективнее tcmalloc и mimalloc в сценариях, требующих перпотокового учёта памяти, так как другие аллокаторы не предоставляют аналогичной функциональности. Несмотря на уход Jason Evans, jemalloc продолжает развиваться, и его название (JE — Jason Evans) остаётся историческим наследием, хотя в документации не упоминается явно. Совет: Для приложений на Ruby on Rails в Kubernetes использование jemalloc рекомендовано для снижения потребления памяти и улучшения стабильности. Переход tcmalloc с кешей потоков на кешы CPU обусловлен нестабильностью привязки потоков к ядрам в Linux — потоки могут перемещаться, делая перпотоковые кешы неэффективными. Спор: Некоторые пользователи считают попадание jemalloc 5.4.0 на главную страницу HN необоснованным, другие — оправданным из-за важности проекта для продакшена. Корпоративное участие (например, Meta) в развитии jemalloc не гарантирует долгосрочной поддержки, что подтверждается постмортемом и прекращением активности в прошлом. Фрагментация памяти и масштабируемость в многопоточных средах были ключевыми проблемами, решёнными в jemalloc 5.4.0, что делает релиз значимым для высоконагруженных систем. История jemalloc — пример того, как открытый проект, поддерживаемый крупной компанией, может потерять импульс, и его возрождение — редкое и ценное событие для сообщества. Несмотря на юмористические шутки о происхождении названия («Je m'alloc»), реальное имя происходит от Jason Evans, и это общепринятая традиция в мире malloc-аллокаторов (dlmalloc, phkmalloc).
FEX-emu – Run x86 applications on ARM64 Linux devices 🔥 Горячее
FEX-Emu — быстрый эмулятор пользовательского режима x86 и x86-64 для Linux, позволяющий запускать x86-приложения на ARM64-устройствах. Он обеспечивает широкую совместимость с 32- и 64-битными бинарными файлами и может использоваться совместно с Wine/Proton для запуска Windows-игр. Эмулятор поддерживает перенаправление вызовов API в библиотеки хост-системы (OpenGL/Vulkan) для снижения накладных расходов, а также экспериментальный кэш кода для минимизации зависаний в играх.
В основе FEX лежит продвинутый бинарный рекompiler, поддерживающий все современные расширения набора инструкций x86(-64), включая AVX/AVX2. Используемая в нем собственная промежуточная репрезентация (IR) позволяет генерировать более оптимизированный код, чем традиционный splatter JIT. Модульная архитектура включает в себя комплексный слой трансляции системных вызовов, реализующий даже нишевые возможности вроде seccomp, и позволяет использовать FEX как бэкенд WoW64/ARM64EC в Wine.
Комментарии (117)
- FEX позволяет запускать x86-64 игры на ARM64-устройствах, используя Wine/Proton, но сталкивается с проблемами совместимости из-за различий в модели памяти и DRM.
- Valve спонсирует FEX, что может быть частью стратегии по переходу игровой экосистемы на ARM.
- Проблемы с DRM и анти-чит системами, а также с производительностью графических API, таких как DirectX, которые не могут быть напрямую перенаправлены на хост-систему.
- Несмотря на это, FEX демонстрирует высокую производительность и совместимость с большинством игр, включая Cyberpunk 2077.
- Возможность запуска Windows игр на ARM64-устройствах с помощью FEX и Wine/Proton может быть ограничена из-за отсутствия поддержки ARM ноутбуков и отсутствия графических драйверов.
Zed is now available on Windows 🔥 Горячее 💬 Длинная дискуссия
Разработчики Zed анонсировали полноценную версию редактора кода для Windows. Теперь он доступен как в стабильной, так и в тестовой версии, причём последняя обновляется еженедельно. Zed на Windows использует DirectX 11 для рендеринга и DirectWrite для рендеринга текста, что обеспечивает нативное соответствие платформе.
Ключевая особенность — глубокая интеграция с WSL и SSH: пользователи могут открывать папки из WSL прямо в Zed, а все операции I/O происходят через удалённое соединение. Это распространяется на все функции, включая работу с Git, терминалами и отладчиками.
Расширения Zed, основанные на WebAssembly, работают на Windows без дополнительных настроек. Они изолированы через WASI, что обеспечивает безопасность и прозрачность работы с файлами.
Команда призывает пользователей тестировать Zed на Windows, особенно в контексте WSL, различных мониторов и сложных конфигураций клавиатур. Отзывы помогут ускорить фиксацию багов и улучшение платформы.
Комментарии (323)
- Основные проблемы: отсутствие DevContainer, медленный LSP-ответ, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нт поддержки ARM64, нет поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки WSL, нет поддержки ARM64, нт поддержки DevContainer, нет поддержки WSL, нет поддержки ARM64, нет поддержки DevContainer, нт поддержки
We found a bug in Go's ARM64 compiler 🔥 Горячее
Cloudflare столкнулся с редким, но критичным багом в компиляторе Go для ARM64: при раскрутке стека может возникнуть race condition, что приводит к фатальному панику. Подробный разбор показал, что проблема в том, что компилятор неправильно генерирует барьер-инструкции, необходимые для безопасной работы с памятью. Это подтверждено исследованием исходников Go и ARM-мануалов. В итоге Cloudflare не только предоставила подробный отчет и тест-кейс в апстрим, но и предложила временное решение, которое уже встроено в их инфраструктуру и позволяет избежать проблемы до официального патча.
Комментарии (130)
- Компилятор Go имел баг, из-за которого при определённом сочетании инструкций в ARM64-версии Go могла прерваться сборка мусора, что приводило к нестабильности. Исправление уже в коммите f7cc1e5 и войдёт в Go 1.20.
- Обсуждение подняло вопрос о том, насколько редки такие баги компиляторов в наши дни и какие факторы этому способствуют.
- Некоторые комментаторы поделились историями о том, как в прошлом им приходилось сталкиваться с багами компиляторами даже в таких "безопасных" языках как Go.
- Обсуждение также затронуло вопрос о том, насколько критично было быстрое обновление, и было отмечено, что Cloudflare уже использует ARM-серверы в продакшене.
Pop OS 24.04 LTS Beta 🔥 Горячее 💬 Длинная дискуссия
System76 выпустила бета-версию Pop!_OS 24.04 LTS с новой средой рабочего стола COSMIC, полностью разработанной внутри компании. Ключевые изменения включают замену стандартных GNOME-приложений на COSMIC-аналоги: Files, Terminal, Text Editor и Media Player, а также обновлённый магазин приложений COSMIC Store. Для установки требуется отключить Secure Boot в BIOS, рекомендуется минимум 4 ГБ ОЗУ и 16 ГБ места.
Известные проблемы беты: несохранение избранных приложений из предыдущей версии, временное отключение PPA при обновлении, ограниченная поддержка перетаскивания файлов между Wayland и X11-приложениями. Также ожидаются баги в играх и отсутствие экранной подсказки для переключения дисплеев. Выпуск финальной версии намечен после исправления ошибок.
Комментарии (186)
- Пользователи положительно оценивают новый рабочий стол Cosmic DE за его функциональность, включая панель на всех экранах и улучшенное управление окнами, по сравнению с GNOME.
- Некоторые пользователи выражают скептицизм относительно готовности Cosmic DE к релизу, отмечая проблемы с драйверами Nvidia, отсутствие поддержки Secure Boot и ARM64, а также сыроватый интерфейс.
- Многие пользователи успешно используют Pop!_OS на старом оборудовании (например, MacBook Pro 2014 года), хотя иногда требуется ручная настройка Wi-Fi и других компонентов.
- Обсуждаются преимущества Pop!_OS, такие как предустановленные драйверы Nvidia в Live ISO и режим тайлинга, а также сравнивается Cosmic с другими средами, такими как Hyprland и Sway.
- Высказываются опасения, что небольшой команде System76 может не хватить ресурсов для долгосрочной поддержки собственной среды рабочего стола, и отмечается медленный темп разработки.