| · | 03.07 | Представлен новый движок симуляции физических процессов Box3D (7 +5) |
|
Эрин Катто (Erin Catto), автор проекта Box2D, объявил о создании нового движка симуляции физических процессов Box3D, который представляет собой форк Box2D, имеющий идентичную архитектуру, но переработанный и расширенный для использования в трёхмерных играх. Код проекта написан на языке Си и распространяется под лицензией MIT. Поддерживается сборка для Linux, Windows и macOS.
Движок Box3D создан в процессе разработки студией Kintsugiyama нового 3D-шутера The Legend of California, в работе над которым участвует Эрин. В игре применяется игровой движок Unreal Engine, но разработчиков не устроил предлагаемый в нём штатный физический движок Chaos. Проблемы возникли с отсутствием учёта гирокоспических крутящих моментов (тонкие объекты неестественно долго вращались), непрерывным обнаружением столкновений (нереалистичное поведение падающих деревьев) и низкой производительностью при обработке сотен тысяч объектов. Вначале проблемы планировали решить создав форк физического движка Jolt, но затем по совету создателя движка Rubikon, задействованного в игре Half-Life, за основу был взят разработанный в качестве хобби упрощённый вариант Rubikon-Lite, который был переработан, используя код и оптимизации из Box2D для совмещения имевшихся 3D-возможностей с наработками из движка Box2D. В итоге почти все API, структуры данных и алгоритмы в Rubikon-Lite были заменены на код из Box2D, а от Rubikon-Lite остались лишь алгоритмы построения выпуклой оболочки и обработки 3D-столкновений. Получившийся движок с ведома автора Rubikon-Lite и компании Kintsugiyama было решено опубликовать как отдельный открытый проект Box3D. В настоящее время опубликован первый выпуск Box3D 0.1, который отмечен, как имеющий качество альфа-версии. Основная запланированная функциональность реализована, но требуется доработка документации и тестирование. Помимо игры The Legend of California, новый движок уже задействован в игровой платформе s&box, открытом игровом движке Esoterica и многопользовательской космической игре Space Game, рассчитанной на 1000 игроков. Для 3D-игр в новом движке добавлены такие возможности, как расчёт столкновений с полигональной сеткой (мешем) и высотными картами, используемыми при генерации ландшафта, что позволило реализовать в игре The Legend of California реалистичные эффекты падения деревьев на воксельные поверхности. Добавлена поддержка предварительно просчитанных (baked) составных столкновений, скомпонованных из нескольких простых форм, значительно снизившая потребление ресурсов при симуляции столкновений огромного числа типовых мелких объектов. Среди перенесённых в Box3D возможностей, ранее имевшихся в Box2D:
Из планов на будущее упоминается расширение возможностей, связанных с движениям персонажей, усовершенствование механизмов предотвращения "призрачных" столкновений (ghost collision), внесение оптимизаций и улучшение обработки соединений (joint solver). В репозитории намерены предоставить возможность отправки pull-запросов с изменениями от представителей сообщества после подписания соглашения о передаче имущественных прав на код (CLA). ![]()
| ||
|
Обсуждение (7 +5) |
Тип: Программы |
| ||
| · | 03.07 | Представлен crustc - компилятор rustc, переведённый на язык Си (76 +15) |
|
Опубликован crustc, компилятор для языка Rust, созданный путём трансляции кода штатного компилятора rustc 1.98.0-nightly на язык Си. На выходе получилось 46 млн строк кода на Си, которые можно собрать при помощи GCC и утилиты make. Собранный таким способом компилятор успешно проходит тесты компиляции Rust-кода, такого как стандартные rust-библиотеки.
Проект демонстрирует возможности находящегося в разработке компилятора cilly, позволяющего транслировать проекты с языка Rust на язык Си. Целью подобной трансляции является предоставление возможности сборки кода, изначально написанного на Rust, в системных окружениях и на архитектурах, не поддерживаемых компилятором rustc. На выходе генерируется код на ANSI С (C89), что потенциально позволит собирать проекты на устаревших системах, которые не поддерживаются в LLVM и GCC, но для которых имеется компилятор ANSI С. Компилятор cilly пока не доступен публично и будет опубликован после его доведения до готовности к широкому тестированию. Работа над проектом ведётся одним энтузиастом на протяжении трёх лет. Cilly реализован в форме бэкенда для rustc, который транслирует внутреннее представление Rust в исходный код на языке Си. Особенностью cilly является то, что каждая трансляция производится с учётом конкретной платформы и целевого Си-компилятора, которым планируется собирать программу. На стадии проверки cilly формирует профиль целевого Си-компилятора, применяя тестирование на основе сборки набора мини-программ, оценивающих поддержку тех или иных возможностей (например, _Thread_local) и определяющих такие особенности платформы, как размеры типов, выравнивание данных в памяти и раскладка структур.
| ||
|
Обсуждение (76 +15) |
Тип: К сведению |
| ||
| · | 03.07 | Firefox обогнал Safari по статистике StatCounter для десктоп-систем (82 +14) |
|
По данным рейтинга StatCounter, осуществляющего мониторинг общемировой статистики использования web-браузеров, доля Firefox за месяц выросла с 3.79% до 6.44% в рейтинге браузеров для десктоп-систем, что позволило обогнать браузер Safari, доля которого оценена в 5.19%. Лидером рейтинга остаётся Chrome с долей 72.24%, а второе место занимает Edge (10.45%). Рейтинг замыкают Opera (1.81%) и Samsung Internet (1.41%). Год назад доля Firefox составляла 5.84%, Safari - 7.34%, Chrome - 66.59%, Edge - 13.06%, Opera - 2.63%.
В рейтинге StatCounter для мобильных систем доля Firefox составляет 0.7%, Safari - 24.07%, Chrome - 67.97%, Samsung Internet - 2.46%, Opera - 1.69%, UC Browser - 1.17%. Сводные показатели (desktop+mobile): Firefox - 3.33%, Safari - 15.31%, Chrome - 69.65%, Edge - 5.21%, Samsung Internet - 1.95%, Opera - 1.74%. Статистика собрана на основании счётчика, размещённого на более чем миллионе сайтов. По данным сервиса Cloudflare Radar доля Firefox составляет 3.5%, Safari - 17.7% (Safari Desktop - 3%, Mobile Safari - 12.6%, Safari Webview - 2.1%), Edge - 6.3%, Chrome - 68% (desktop 29.8%, mobile 28.9%). По данным Wikipedia доля Firefox оценивается в 6.1%, Safari - 24.3% (desktop 4.8% + mobile 19.5%), Chrome - 49.6% (desktop 24.4% + mobile 25.2%). По статистике PornHub доля Firefox на настольных системах составляет 8.4%, Safari - 13.3%, Chrome - 56.9%, Edge - 12.2%, Opera - 7%. Среди браузеров для мобильных систем доля Firefox составляет 0.7%, Chrome - 68.6%, Safari - 23.1%.
| ||
|
Обсуждение (82 +14) |
Тип: Тема для размышления |
| ||
| · | 02.07 | Проблемы с очисткой ключей шифрования диска из ОЗУ при переходе Linux в ждущий режим (36 +14) |
|
В ходе портирования для NixOS инструментария cryptsetup-suspend была выявлена ошибка в подсистеме дискового шифрования LUKS (Linux Unified Key Setup), из-за которой начиная с ядра Linux 6.9 (проблемный коммит), выпущенного в мае 2024 года, перестала работать очистка ключей шифрования из оперативной памяти при переходе системы в ждущий режим.
Инструментарий cryptsetup-suspend используется в Debian для автоматической блокировки LUKS-разделов перед переходом в режим сна. Предполагается, что в случае кражи ноутбука, переведённого в режим сна, злоумышленник будет лишён возможности получить доступ к данным, так как при выходе из сна потребуется ввести пароль для восстановления доступа к зашифрованным данным. Из-за ошибки в ядре Linux после блокировки LUKS-раздела командой "cryptsetup luksSuspend" ключи не очищались из оперативной памяти и оставались видны через /proc/keys, что позволяло атакующему извлечь их, например, методом "холодной перезагрузки", и использовать для доступа к данным. Отсутствие очистки ключей было выявлено в ходе отладки состояния гонки, из-за которого возникали проблемы с переходом в ждущий режим. Ошибка возникла после проведения в ядре 6.9 рефакторинга, в результате которого ключи привязывались к вызывающему потоку и должны были удаляться при его завершении, но на деле оставались в памяти. Для включения в ядро Linux предложен однострочный патч, устраняющий допущенную ошибку. Данный патч не принят в ядро, так как в нём выявлена недоработка - патч действует только для физических накопителей, но не работает для виртуальных loop-устройств. Вместо исправления проблемы на стороне ядра разработчиками инструментария cryptsetup был предложен обходной путь очистки ключей. Данное изменение уже принято и войдёт в состав выпуска cryptsetup 2.8.7. Помимо этого, для NixOS была создана собственная реализация скриптов для блокировки шифрованных дисков пред переходом в ждущий режим, в котором задействован старый патч к ядру, не принятый в 2015 году, принудительно очищающий ключи из памяти перед переходом в режим сна.
| ||
|
Обсуждение (36 +14) |
Тип: Проблемы безопасности |
| ||
| · | 02.07 | На kernel.org по ошибке удалили со всех зеркал архивы с кодом ядра (43 +27) |
|
Из-за ошибки при настройке нового первичного зеркала сайта kernel.org и внесении изменений в инфраструктуру, обеспечивающую работу первичных и вторичных зеркал, на существующих зеркалах оказались удалены все данные в иерархии kernel.org/pub/, в которой среди прочего хранились архивы с кодом всех выпусков ядра, патчи и файлы со списками изменений. Эталонные данные не пострадали, удалены оказались лишь копии на зеркалах, что привело к показу пустого каталога при обращении к kernel.org/pub/. В настоящее время ведётся работа по восстановлению содержимого зеркал.
| ||
|
Обсуждение (43 +27) |
Тип: К сведению |
| ||
| · | 02.07 | Компания Qualcomm опубликовала дистрибутив Qualcomm Linux 2.0 (26 +10) |
|
Компания Qualcomm представила Linux-дистрибутив Qualcomm Linux 2.0, предоставляющий программный стек, оптимизированный для IoT-платформ Qualcomm Dragonwing. Проект реализует унифицированный дистрибутив, позволяющий быстро создавать решения для различных SoC Qualcomm, таких как QCS5430, QCS6490, IQ-8275, IQ-9075 и IQ-615. В качестве основы в Qualcomm Linux задействованы инструментарий и мета-пакеты от проектов Yocto и OpenEmbedded, дополненные патчами, драйверами, прошивками, пакетами и файлами конфигурации для поддержки специфичных аппаратных блоков, применяемых в чипах Qualcomm.
Дистрибутив развивается с использованием открытой модели разработки и передаёт подготовленные изменения в upstream-проекты. Проприетарные компоненты Qualcomm интегрируются в дистрибутив в форме явно выделенных модульных оверлеев. Предлагаемый программный стек поддерживает все процессоры, подсистемы и компоненты платформы Qualcomm, включая CPU, GPU и различные аппаратные ускорители для AI, обработки данных и мультимедийных операций (VPU, DPU, NPU, DSP). Помимо пользовательского окружения на базе Yocto в состав входит загрузчик с возможностью верифицированной загрузки, прошивки UEFI и поддерживаемые инженерами Qualcomm пакеты с ядром Linux, включающие дополнительные драйверы и патчи. Платформа отмечена как полностью готовая для создания рабочих систем на базе оборудования Qualcomm. Предоставляются такие возможности, как поддержка виртуализации, мандатное управление доступом при помощи SELinux, тестирование всех компонентов на эталонном оборудовании, длительный цикл сопровождения пакетов для всех поддерживаемых платформ, возможность интеграции собственных BSP (Board Support Package) и OEM-слоёв. Для обновления может применяться перезапись системного образа или автоматическая доставка обновлений в режиме OTA. ![]() Выпуск Qualcomm Linux 2.0 примечателен переходом на использование платформы Yocto 6.0 и задействованием ядра Linux 6.18 (ранее применялись Yocto 5.0 и ядро 6.6). В основной состав встроены возможности для выполнения приложений в режиме реального времени (ядро собрано с поддержкой PREEMPT_RT). Вместо двух раздельно сопровождаемых вариантов дистрибутива "Base" и "Custom" предложен унифицированный стек с одним общим ядром и системным окружением (rootfs). Повышена открытость процессов разработки: релизы теперь формируются не за закрытыми дверями, а публично на GitHub с использованием открытой системы непрерывной интеграции и с предсказуемым графиком публикации обновлений. Переделана организация формирования модульных оверлеев с дополнениями, которые теперь создаются на основе одной открытой кодовой базы, а не c разделением открытых и проприетарных сборок. Помимо ранее поддерживаемых SoC QCS5430, QCS6490, IQ9075, IQ8275 и IQ615, добавлена поддержка платформы IQ-X для промышленных компьютеров. Мета-пакеты с базовой функциональностью теперь развиваются в публично доступных репозиториях и открыты для приёма изменений от сторонних участников, создания форков или использования не дожидаясь релизов. Среди подобных мета-пакетов: meta-qcom (слой для поддержки оборудования), meta-qcom-distro (каркас дистрибутива, сценарии сборки системных образов и настройки), meta-qcom-3rdparty (компоненты для поддержки сторонних платформ) и meta-qcom-releases (воспроизводимые сборки релизов), meta-selinux (мандатное управление доступом через SELinux), meta-updater (OTA-обновления на базе OSTree), meta-security (дополнительные механизмы для усиления базопасности и аудита), meta-virtualization (Docker, Kubernetes, KVM). Помимо мета-пакетов предлагаются оверлеи, отдельно поставляемые версионированные наборы с модулями ядра и библиотеками для поддержки расширенных возможностей. Установка оверлея приводит к установке соответствующих оптимизированных модулей ядра и библиотек поверх типового базового окружения без его изменения. Среди доступных оверлеев:
| ||
|
Обсуждение (26 +10) |
Тип: Программы |
Интересно
| ||
| · | 02.07 | Обновление OpenWrt 25.12.5 (38 +20) |
|
Представлен корректирующий выпуск дистрибутива OpenWrt 25.12.5, развиваемого для сетевых устройств, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает более 2200 устройств и предлагает систему сборки, упрощающую кросс-компиляцию и создание собственных сборок. Подобные сборки позволяют формировать готовые прошивки с желаемым набором предустановленных пакетов, оптимизированные под конкретные задачи. Готовые сборки опубликованы для 41 целевой платформы.
Среди изменений:
| ||
|
Обсуждение (38 +20) |
Тип: Программы |
| ||
| · | 02.07 | Linux портирован для игровых приставок Sega MegaDrive (108 +33) |
|
Опубликован первый выпуск проекта LinuxMD, развивающего порт Linux для игровых приставок Sega MegaDrive, выпущенных в 1988 году. Приставки были оснащены 72 Кб ОЗУ и поставлялись с двумя процессорами: 32-разрядным Motorola 68000 (7.6 МГц) для основных вычислений и 8-разрядным Zilog Z80 (3.58 МГц) для совместимости с Sega Master System. Загрузка Linux на приставке реализована при использовании картриджей Mega EverDrive "Core" и "Pro", позволяющих запускать игры с SD-карты и оснащённые USB-портом.
Запуск ядра Linux на устройстве с всего несколькими килобайтами ОЗУ удалось реализовать через задействование аппаратных возможностей картриджей Mega EverDrive, представляющих собой отдельный компьютер на базе FPGA с собственным ОЗУ. При фактическом выполнении Linux на CPU приставки Sega MegaDrive в качестве ОЗУ было задействовано 4 МБ памяти картриджа, благодаря применению техники переключения банков памяти (SSF2-маппер), ранее применявшейся в игре Super Street Fighter II для расширения размера ОЗУ. Работа с файловой системой была организована с задействованием протокола обмена данными с картриджем Mega EverDrive, позволяющем из окружения Sega MegaDrive обращаться к данным на SD-карте, вставленной в картридж. В качестве таймера высокого разрешения в ядре Linux был задействован таймер, предоставляемый FPGA-чипом картриджа EverDrive. Так как процессор Motorola 68000 не имеет аппаратного модуля управления памятью (MMU), ядро Linux было собрано в режиме "NOMMU", применяемом при сборке для микроконтроллеров. Порт включает в себя ядро Linux 7.2-rc1, u-boot 2026.01 и образ rootfs с минимальным набором утилит. Для тестирования запуска Linux в эмуляторе без реального оборудования потребовалось создание собственного форка QEMU, так как существующие эмуляторы могут эмулировать саму приставку Sega MegaDrive, но не умеют эмулировать аппаратные особенности сторонних картриджей EverDrive. При этом в предложенном эмуляторе пока отсутствует ограничение производительности и работа CPU эмулируется значительно быстрее, чем производительность оригинального CPU Motorola 68000. ![]()
| ||
|
Обсуждение (108 +33) |
Тип: К сведению |
| ||
| · | 02.07 | В Fedora 45 намерены включить защиту на основе теневого стека (71 +16) |
|
В выпуске Fedora Linux 45, намеченном на осень 2026 года, на системах x86_64 планируют по умолчанию включить использование теневого стека (shadow stack) для блокирования работы эксплоитов, перезаписывающих адрес возврата функций в случае переполнения буфера в стеке. Защиту намерены активировать для всех приложений и библиотек, собранных при помощи компиляторов gcc (C, C++), clang (C, C++) и rustc (Rust). План пока не утверждён комитетом FESCo (Fedora Engineering Steering Committee), отвечающим за техническую часть разработки Fedora Linux. Инициатором включения теневого стека в Fedora является Арджун Шанкар (Arjun Shankar) из компании Red Hat, сопровождающий пакеты с glibc в Fedora и RHEL.
Защита реализуется с использованием аппаратных возможностей процессоров и сводится к тому, что после передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном "теневом" стеке, который не может быть изменён напрямую. Перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека. Несовпадение адресов приводит к генерации исключения, блокирующего ситуации, когда эксплоиту удалось перезаписать адрес в основном стеке. Механизм теневого стека поддерживается начиная с 11 поколения процессоров Intel ("Tiger Lake" и "Rocket Lake") и микроархитектуры Zen3 в процессорах AMD.
| ||
|
Обсуждение (71 +16) |
Тип: К сведению |
| ||
| · | 02.07 | Выпуск дистрибутива ArchBang Linux 010726 (12 +1) |
|
Представлен релиз легковесного Linux-дистрибутива ArchBang 010726, основанного на наработках Arch Linux и предоставляющего интерфейс пользователя на базе композитного менеджера MangoWM. Дистрибутив предлагает непрерывный цикл выпуска обновлений, позволяющий всегда работать с самыми последними версиями программ из репозиториев Arch Linux. Размер iso-образа 1.4 ГБ.
В новой версии осуществлён переход на использование по умолчанию легковесного композитного менеджера MangoWM (ранее поставлялся Labwc, а до этого Openbox), предоставляющего функциональность, похожую на оконный менеджер DWM, реализованную с использованием протокола Wayland. MangoWM примечателен использованием тегов для объединения окон в группы вместо виртуальных рабочих столов и ориентацией на максимальную стабильность и практичность (новые возможности добавляются когда они действительно улучшают повседневную работу). Помимо миграции на MangoWM в новом выпуске опционально предложен графический инсталлятор abi-install, альтернативный консольному инсталлятору и реализованный в форме открываемого в Firefox web-интерфейса на базе Cockpit. ![]() ![]() ![]()
| ||
|
Обсуждение (12 +1) |
Тип: Программы |
| ||
| · | 02.07 | Выпуск утилиты для проверки целостности файлов Precizer 0.16.0 (30 +5) |
|
Опубликован выпуск Precizer 0.16.0, консольной утилиты Precizer, предназначенной для проверки целостности больших деревьев файлов и выявления расхождений после синхронизации данных. Код проекта написан на языке Си и распространяется под лицензией GPLv3. Готовые сборки ранее были доступны для Linux и macOS, а ключевым изменением нового выпуска стала экспериментальная поддержка Windows.
Проект Precizer развивается более двух лет и позиционируется как небольшая, быстрая и удобная CLI-утилита для задач, где обычного сравнения метаданных файлов уже недостаточно. Программа обходит дерево каталогов, вычисляет контрольные суммы файлов (SHA512) и сохраняет сведения в SQLite-базу. После этого базы, созданные для разных источников данных, можно сравнить между собой и получить список отсутствующих файлов, лишних файлов и объектов с несовпадающими контрольными суммами. Основной сценарий использования связан с проверкой результатов синхронизации больших хранилищ, резервных копий и disaster recovery-копий. В отличие от разового запуска утилит, пересчитывающих контрольные суммы с нуля, Precizer сохраняет состояние между запусками и позволяет возобновлять длительные операции после прерывания. Это особенно важно для файловых деревьев с большим числом объектов или объёмами, измеряемыми терабайтами и петабайтами, где повторный полный проход по данным после случайной остановки может превратиться в задачу, у которой нет хорошего практического решения. Также отмечена возможность применения Precizer в качестве инструмента контроля безопасности для выявления несанкционированных изменений файлов, в том числе в случаях, когда метаданные не позволяют заметить подмену содержимого. Для обновления ранее созданной базы предусмотрен режим "--update", позволяющий добавлять новые файлы, удалять записи об исчезнувших объектах и пересчитывать контрольные суммы изменённых файлов. Для ограничения области проверки и сравнения поддерживаются фильтры путей через "--ignore" и "--include". Готовые архивы Precizer 0.16.0 доступны для Linux x86_64, Linux AArch64, macOS arm64 и Windows x64. Для Linux предлагаются переносимые статически собранные ELF-файлы, не привязанные к конкретному дистрибутиву. Для сборки из исходных текстов можно использовать обычный Makefile или подготовленные Docker-окружения для AlmaLinux, Alpine, Arch, Debian, Gentoo, Rocky и Ubuntu. В составе релиза подготовлены два варианта Windows-сборки: ZIP-архив с исполняемым файлом и необходимой DLL-зависимостью, а также переносимый EXE-файл без внешних зависимостей. Windows-сборки пока не имеют цифровой подписи издателя. Кроме того, переносимый EXE-файл может вызывать предупреждения Microsoft Defender, что типично для ранних неподписанных бинарных файлов, собранных вне привычной цепочки поставки Windows-приложений.
| ||
| · | 01.07 | В игровом движке Godot запретят приём изменений, сгенерированных при помощи AI (63 +30) |
|
Организация Godot Foundation анонсировала ужесточение правил приёма изменений в открытый игровой движок Godot. При разработке Godot решено полностью запретить использование автономных AI-агентов или вайб-кодинга, а также генерации значительных фрагментов кода при помощи AI. Весь код должен создаваться человеком, а использование AI допускается лишь для выполнения рутинных операций при разработке, таких как автодополнение кода и поиск/замена. В случае задействования AI при написании кода, требуется раскрытие этой информации в обсуждении pull-запроса.
Не допускается применение AI для рецензировния pull-запросов - все pull-запросы перед принятием обязательно должны проверяться и подтверждаться людьми. Помимо этого запрещено использование AI для генерации текста пояснений к pull-запросам, описаний предложений, сообщений о проблемах и прочих применений, затрагивающих коммуникации между людьми. При этом допускается использование AI для машинного перевода на другой язык, с условием, что переводимый текст написан человеком. Для отсеивания скрытого применения AI и снижения нагрузки на сопровождающих проект также вводит ограничения для новых разработчиков: участникам, у которых менее 4 принятых pull-запросов, запретят предлагать новую функциональность или проводить крупный рефакторинг кода без предварительного согласования с сопровождающими. Предполагается, что такое ограничение подтолкнёт новичков тратить больше времени на изучение кодовой базы, исправление ошибок и работу над документацией, чтобы заслужить доверие у сопровождающих перед тем как браться за значительные проекты. Основной причиной введения запрета на AI стала перегрузка сопровождающих из-за обилия сомнительных изменений, созданных с помощью AI. В настоящее время в репозитории Godot на GitHub накопилось более пяти тысяч открытых pull-запросов, которые не успевают разбирать. Появление AI-инструментов упростило написание кода и привело к лавинообразному росту отправляемых pull-запросов, при том, что число рецензирующих не изменилось. Рецензирующие вынуждены тратить ценное время на разбор изменений, которые часто не имеют смысла, снабжены излишне многословными описаниями и отправляются разработчиками, не понимающими или не тестировавшими собственные патчи.
| ||
|
Обсуждение (63 +30) |
Тип: К сведению |
| ||
| · | 01.07 | В мобильной платформе ALT Mobile появилась поддержка смартфонов OnePlus 6 (39 +9) |
|
В мобильной платформе ALT Mobile ("Альт Мобильный"), построенной на пакетной базе репозитория Сизиф и поставляемой с GNOME-оболочкой для смартфонов Phosh, реализована поддержка смартфонов OnePlus 6 и OnePlus 6T, построенных на SoC Qualcomm Snapdragon 845. Весь исходный код проекта открыт - от профиля сборки до пакетов, входящих в дистрибутив. Для загрузки сформирован системный образ для OnePlus 6/6T и образы с загрузчиком U-Boot (OnePlus 6, OnePlus 6T).
В отличие от других поддерживаемых устройств необходимо инициализировать компоненты OnePlus 6 и OnePlus 6T через поставляемую из коробки систему Android, иначе в ALT Mobile не смогут работать модем и некоторые другие составляющие. Принимаются предложения по улучшению в багзилле.
| ||
| · | 01.07 | Система трассировки лучей, реализованная на языке SQL (27 +1) |
|
Алексей Миловидов, сооснователь СУБД ClickHouse, при содействии AI-ассистента Claude опубликовал систему трассировки лучей, реализованную целиком на языке SQL. Рендеринг с симуляцией освещения на базе трассировки путей реализован в виде одного SQL-запроса без пользовательских функций (UDF) и без подключения внешнего кода. Для вывода графики используется возможность СУБД ClickHouse, сохранять результат запросов в формате PNG. Полноценно проект работоспособен при запуске в СУБД ClickHouse, но с отдельными ошибками и в 33 раза медленнее может работать в СУБД CedarDB. Проект распространяется под лицензией Creative Commons BY-NC-SA.
Каждый пиксель представляет собой строку в таблице, в которой имеются столбцы с координатами (X, Y) и представлением цвета (R, G, B). Необходимые для 3D-вычислений математические операции построены на кортежах - вектор кодируется как Tuple(Float64, Float64, Float64). Цикл для моделирования многократных отражений света от поверхностей реализован через SQL-функцию arrayFold и выполняется внутри каждой строки для распараллеливания рендеринга. Из геометрических примитивов поддерживаются цилиндры, торы, сферы и ориентированные параллелепипеды, над которыми выполняются операции объединения и разности (удаления пересечений). Ландшафт генерируется математически. ![]() Ранее разработчики СУБД ClickHouse подготовили написанные на SQL Doom-подобную игру, эмулятор RISC-V и синтезатор музыки.
| ||
|
Обсуждение (27 +1) |
Тип: К сведению |
| ||
| · | 01.07 | Выпуск среды рабочего стола COSMIC 1.2.0 (68 +7) |
|
Компания System76, разрабатывающая Linux-дистрибутив Pop!_OS, опубликовала выпуск среды рабочего стола COSMIC 1.2.0. Пакеты с COSMIC 1.2.0 доступны в дистрибутиве Pop!_OS 24.04 и в ближайшее время ожидаются в Fedora, NixOS, Arch Linux, openSUSE, Aeyrin OS, Redox и CachyOS. Код написан на языке Rust и распространяется под лицензиями GPLv3 (приложения) и MPL-2.0 (библиотеки).
COSMIC развивается как универсальный проект, не привязанный к конкретному дистрибутиву и соответствующий спецификациям Freedesktop. Для построения интерфейса в COSMIC задействована библиотека Iced, которая использует безопасные типы, модульную архитектуру и модель реактивного программирования, а также предлагает архитектуру, привычную для разработчиков, знакомых с языком декларативного построения интерфейсов Elm. Предоставляется несколько движков отрисовки, поддерживающих Vulkan, Metal, DX12, OpenGL 2.1+ и OpenGL ES 2.0+. Разработчикам предлагается готовый набор виджетов, возможность создавать асинхронные обработчики и использовать адаптивную компоновку элементов интерфейса в зависимости от размера окна и экрана. Помимо использования языка Rust из особенностей COSMIC выделяются режимы гибридной мозаичной компоновки окон и стекового закрепления окон (группировка окон по аналогии со вкладками в браузере), которые могут включаться в привязке к виртуальным рабочим столам. Проектом также разрабатывается композитный сервер cosmic-comp на базе Wayland. Основные изменения по сравнению с версией 1.1.0:
| ||
|
Обсуждение (68 +7) |
Тип: Программы |
| ||
| Следующая страница (раньше) >> | ||
|
Закладки на сайте Проследить за страницей |
Created 1996-2026 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |