Email или имя пользователя:

Пароль:

Забыли пароль?
Всего 211 записей
opennet

Доступен ELKS 0.8, вариант ядра Linux для старых 16-разрядных процессоров Intel

Опубликован выпуск проекта ELKS 0.8 (Embeddable Linux Kernel Subset), развивающего Linux-подобную операционную систему для 16-разрядных процессоров Intel 8086, 8088, 80188, 80186, 80286 и NEC V20/V30. ОС может использоваться на старых компьютерах класса IBM-PC XT / AT, отечественном компьютере MK-88, винтажной плате Monotech NuXT 2.0 и на SBC / SoC / FPGA, воссоздающих архитектуру IA16. Проект развивается с 1995 года и начинался как ответвление ядра Linux для устройств без блока управления памятью (MMU). Исходные тексты распространяются под лицензией GPLv2. Система поставляется в форме образов для записи на floppy-диски или запуска в эмуляторе QEMU.

Помимо ядра Linux, адаптированного для 16-разрядных систем, проектом развивается набор стандартных утилит (ps, bc, tar, du, diff, netstat, mount, sed, xargs, grep, find, telnet, meminfo и т.п.), включая совместимый с bash командный интерпретатор, консольный оконный менеджер screen, текстовые редакторы Kilo и vi, графическое окружение на базе X-сервера Nano-X.

Предлагается два варианта сетевого стека - штатный TCP/IP стек ядра Linux и стек ktcp, работающий в пространстве пользователя. Из сетевых карт поддерживаются Ethernet-адаптеры, совместимые с NE2K и SMC. Также возможно создание каналов связи через последовательный порт при помощи SLIP и CSLIP. Из файловых систем поддерживаются Minix v1, FAT12, FAT16 и FAT32. Настройка процесса загрузки осуществляется через сценарий /etc/rc.d/rc.sys. Формат исполняемых файлов заимствован из ОС Minix.

https://honk.any-key.press/d/FXHlcG81d443K5Y14C.jpg

В новом выпуске:

- Добавлена возможность загрузки и запуска файлов в исполняемом формате OS/2.
- Предоставлена возможность сборки программ Си-компилятором Open Watcom.
- Портирована игра Doom.
- При сборке по умолчанию включена поддержка сетевых адаптеров NE2K, WD и 3COM.
- Включено сжатие исполняемых файлов, позволившее уместить больше приложений в образе флоппи-диска.
- В ядре реализована поддержка асинхронного ввода/вывода.
- Добавлен новый драйвер для дисководов, использующий асинхронный ввод/вывод и позволяющий выполнять другие приложения во время ввода/вывода.
- Во время загрузки обеспечена настройка параметров ядра, таких как размер кучи, число задач, inode и файлов, для выделения ресурсов в зависимости от размера памяти.
- Улучшены возможности отладки, такие как дизассемблер и механизмы трассировки системных вызовов и функций.
- Проведена оптимизация использования кэша L1/L2.
- Добавлены функции для точного измерения времени.
- Из других систем портированы команды ttyclock, ttypong, ttytetris и md5/md5sum.
- Добавлен системный вызов sysctl и связанная с ним команда.



Источник: https://www.opennet.ru/opennews/art.shtml?num=61931

Доступен ELKS 0.8, вариант ядра Linux для старых 16-разрядных процессоров Intel

Опубликован выпуск проекта ELKS 0.8 (Embeddable Linux Kernel Subset), развивающего Linux-подобную операционную систему для 16-разрядных процессоров Intel 8086, 8088, 80188, 80186, 80286 и NEC V20/V30. ОС может использоваться на старых компьютерах класса IBM-PC XT / AT, отечественном компьютере
opennet

NVIDIA опубликовала код с реализацией vGPU на базе драйвера Nouveau

Компания NVIDIA опубликовала набор патчей для ядра Linux с реализацией технологии vGPU, позволяющей использовать виртуальные GPU NVIDIA в системах виртуализации. Работа vGPU организуется аппаратно через разделение ресурсов физического GPU NVIDIA и привязки каждому vGPU своей виртуальной функции PCI Express (VF, Virtual Function), что позволяет создавать на базе гостевых систем мощные виртуальные рабочие станции, способные выполнять ресурсоёмкие вычислительные и графические операции. Драйвер может использоваться с видеокартами NVIDIA на базе микроархитектуры Ada Lovelace. Число создаваемых vGPU зависит от модели видеокарты.

На стороне хост системы операции создания и сопряжения vGPU с гостевыми системами обеспечивает изменённый драйвер Nouveau, а на стороне гостевых систем используются штатные проприетарные драйверы NVIDIA (в гостевой системы возможности vGPU аналогичны обычному GPU). Для vGPU выделяется часть памяти из фреймбуфера физического GPU, которая закрепляется за данным vGPU и используется только им. Предоставляются различные типы vGPU, отличающиеся назначением, размером видеопамяти, числом виртуальных дисплеев и максимальным разрешением экрана.

Реализация включает в себя базовый драйвер nvkm (core driver), построенный на базе открытого драйвера Nouveau, и менеджер vGPU - vgpu_mgr, реализованный в форме модуля VFIO (Virtual Function I/O). Менеджер vGPU выполняет такие функции, как создание/удаление vGPU, выбор типа vGPU, предоставление API для управления из пространства пользователя. Менеджер vGPU взаимодействует с базовым драйвером GPU, который непосредственно обращается к оборудованию, выполняет загрузку прошивки GSP, вызывает связанные с vGPU функции прошивки, управляет совместными ресурсами, резервирует память в GPU, занимается обработкой исключений, определяет конфигурацию оборудования и выполняет обработку системных событий, таких как переход в спящий режим.

                            +--------------------+ +--------------------+ +--------------------+ 
                            | Linux VM           | | Windows VM         | | Guest VM           | 
                            | +----------------+ | | +----------------+ | | +----------------+ | 
                            | |Applications... | | | |Applications... | | | |Applications... | | 
                            | +----------------+ | | +----------------+ | | +----------------+ | ... 
                            | +----------------+ | | +----------------+ | | +----------------+ | 
                            | |  Guest Driver  | | | |  Guest Driver  | | | |  Guest Driver  | | 
                            | +----------------+ | | +----------------+ | | +----------------+ | 
                            +---------^----------+ +----------^---------+ +----------^---------+ 
                                      |                       |                      |           
                           +--------------------------------------------------------------------+
                           |+--------------------+ +--------------------+ +--------------------+|
                           ||       QEMU         | |       QEMU         | |       QEMU         ||
                           ||                    | |                    | |                    ||
                           |+--------------------+ +--------------------+ +--------------------+|
                           +--------------------------------------------------------------------+
                                      |                       |                      |
+-----------------------------------------------------------------------------------------------+
|                           +----------------------------------------------------------------+  |
|                           |                                VFIO                            |  |
|                           |                                                                |  |
| +-----------------------+ | +------------------------+  +---------------------------------+|  |
| |  Core Driver vGPU     | | |                        |  |                                 ||  |
| |       Support        <--->|                       <---->                                ||  |
| +-----------------------+ | | NVIDIA vGPU Manager    |  | NVIDIA vGPU VFIO Variant Driver ||  |
| |    NVIDIA GPU Core    | | |                        |  |                                 ||  |
| |        Driver         | | +------------------------+  +---------------------------------+|  |
| +--------^--------------+ +----------------------------------------------------------------+  |
|          |                          |                       |                      |          |
+-----------------------------------------------------------------------------------------------+
           |                          |                       |                      |           
+----------|--------------------------|-----------------------|----------------------|----------+
|          v               +----------v---------+ +-----------v--------+ +-----------v--------+ |
|  NVIDIA                  |       PCI VF       | |       PCI VF       | |       PCI VF       | |
|  Physical GPU            |                    | |                    | |                    | |
|                          |   (Virtual GPU)    | |   (Virtual GPU)    | |    (Virtual GPU)   | |
|                          +--------------------+ +--------------------+ +--------------------+ |
+-----------------------------------------------------------------------------------------------+


<iframe src="https://www.youtube.com/embed/YwgIvvk-V94?si=AyiIpsUZuFIL2Dbo">

Дополнительно можно отметить принятие в состав Mesa Vulkan-драйвера gfxstream (Graphics Streaming Kit), который может применяться для организации доступа к API Vulkan из гостевых систем на базе Linux, Android и Fuchsia. Основой драйвера выступает одноимённый генератор кода (Graphics Streaming Kit), применяемый для перенаправления обращений к графическим API при виртуализации API Vulkan. Драйвер разработан компанией Google и используется в эмуляторе платформы Android, виртуальном Android-устройстве Cuttlefish, сервисе Google Play Games и операционной системе Fuchsia. Поддержка gfxstream уже включена в состав QEMU и crosvm. Поддерживается совместное использование с виртуальными устройствами virtio-gpu и goldish.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61921

NVIDIA опубликовала код с реализацией vGPU на базе драйвера Nouveau

Компания NVIDIA опубликовала набор патчей для ядра Linux с реализацией технологии vGPU, позволяющей использовать виртуальные GPU NVIDIA в системах виртуализации. Работа vGPU организуется аппаратно через разделение ресурсов физического GPU NVIDIA и привязки каждому vGPU своей
opennet

В OpenBSD запретили использование нулевых символов в shell-скриптах

Тэо де Раадт (Theo de Raadt) добавил в ветку OpenBSD-Current, на базе которой будет сформирован релиз OpenBSD 7.6, изменение, запрещающее использование символа с нулевым кодом в shell-скриптах, обрабатываемых командным интерпретатором ksh, используемым в OpenBSD по умолчанию. Наличие нулевых символов в скриптах теперь будет приводить к завершению выполнения с выводом ошибки, за исключением из размещения среди данных в конце файла, прикреплённых после кода.

Отмечается, что подобное изменение позволит исключить неопределённость поведения, связанную с обработкой нулевого символа в коде, написанном на языке Си и использующем строки, нулевой байт в которых задействован для индикации конца строки. Изучение обработки нулевого символа в различных оболочках показало, что в каждой из них было выявлен один или несколько случаев, когда нулевой байт во входных данных или содержимом переменных приводил к отличающемуся от других оболочек поведению, например, некоторые оболочки игнорировали его, некоторые заменяли на пробел, а некоторые завершали дальнейший разбор скрипта или прекращали его выполнение.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61929

В OpenBSD запретили использование нулевых символов в shell-скриптах

Тэо де Раадт (Theo de Raadt) добавил в ветку OpenBSD-Current, на базе которой будет сформирован релиз OpenBSD 7.6, изменение, запрещающее использование символа с нулевым кодом в shell-скриптах, обрабатываемых командным интерпретатором
opennet

Компания Valve запустила проект Frog для ускорения продвижения новых протоколов Wayland

Разработчики из компании Valve представили проект frog-protocols, в рамах которого планируется развивать дополнительный набор протоколов для Wayland, дополняющих протоколы из набора wayland-protocols, поставляющего Wayland-расширения для построения композитных серверов и пользовательских окружений. Создание отдельного набора протоколов к Wayland объясняется слишком медленным и буксующим в бесконечных обсуждениях процессом принятия новых протоколов в wayland-protocols, который может затягиваться на месяцы и годы.

В проекте frog-protocols протоколы намерены доводить до пользователей как можно быстрее - по мнению создателей инициативы многие пользователи продолжают работать в окружениях на базе протокола X11 из-за отсутствия необходимой функциональности, которая может быть предоставлена уже сейчас, но по тем или иным причинам её продвижение блокируется. Готовые пакеты с первой версией frog-protocols уже приняты в репозитории Arch Linux, Fedora 41 и Fedora 40, а также находятся на стадии включения в состав openSUSE.

Первыми двумя Wayland-протоколами, включёнными в состав frog-protocols, стали frog-fifo-v1 и frog-color-management-v1. Протокол frog-color-management добавляет расширения для управления цветом, предоставляющих возможности для работы с HDR в играх. Протокол frog-fifo отмечается как очень примитивный по своей сути, но предоставляющий важные возможности, решающие проблемы с высокой нагрузкой на GPU при использовании VSync, снижением производительности и зависанием приложений при перекрытии их окон другими окнами при включённом FIFO/VSync.

Код с реализацией протокола frog-fifo передан для включения в основной состав Mesa. Изменения добавляющие поддержку протокола также подготовлены для композитного менеджера KWin, развиваемого проектом KDE. Реализация уже опробована в работе и входит в состав платформы SteamOS (Steam Deck) и композитного сервера Gamescope. Предлагаемое изменение сводится обеспечению корректной работы Wayland-клиента с FIFO, благодаря переходу к ожиданию завершения вертикальной развёртки (vblank) вместо использования callback-вызовов при каждой готовности отобразить новый кадр.

В ходе обсуждения предложенного в Mesa изменения Симон Сер (Simon Ser), один из разработчиков wlroots, выразил сомнение в целесообразности добавления протоколов, развиваемых в обход основанной на достижении консенсуса модели разработки wayland-protocols или не учитывающих интересы Wayland-сообщества. Пьер-Лу Гриффе (Pierre-Loup Griffais) из компании Valve ответил, что текущей модели разработки wayland-protocols не хватает быстрого цикла продвижения экспериментальных протоколов, который позволил бы проводить эксперименты, сразу получать обратную связь от пользователей и учитывать её при дальнейшей разработке.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61925

Компания Valve запустила проект Frog для ускорения продвижения новых протоколов Wayland

Разработчики из компании Valve представили проект frog-protocols, в рамах которого планируется развивать дополнительный набор протоколов для Wayland, дополняющих протоколы из набора wayland-protocols, поставляющего Wayland-расширения для построения композитных серверов и пользовательских окружений. Создание отдельного набора протоколов к Wayland объясняется слишком медленным и буксующим в бесконечных обсуждениях...
opennet

Обновление OpenWrt 23.05.5

Опубликовано обновление дистрибутива OpenWrt 23.05.5, ориентированного на применение в различных сетевых устройствах, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает множество различных платформ и архитектур и обладает системой сборки, позволяющей просто и удобно производить кросс-компиляцию, включая в состав сборки различные компоненты, что позволяет легко сформировать адаптированную под конкретные задачи готовую прошивку или образ диска с желаемым набором предустановленных пакетов. Сборки сформированы для 35 целевых платформ.

Основные изменения в OpenWrt 23.05.5:

- Решены проблемы в устройствах Zyxel EX5700, FritzBox 4040, UniFi U6, CMCC RAX3000M, JDCloud RE-CP-03, Aruba AP-303H, GL-AR750, Sercomm NA502s, TP-Link EAP613.
- Обеспечена совместимость с новыми редакциями плат Aruba.
- Внесены исправления, связанные с платформами mediatek, ath25, ath79, ipq40xx, octeon, ramips и realtek.
- В состав включены драйверы kmod-r8101, kmod-r8168, kmod-r8125 и kmod-r8126
- Внесены улучшения в lldpd, реализацию протокола LLDP (Link Layer Discovery Protocol).
- Из ядра 6.1.110 в пакет с ядром 5.15 портирован беспроводной стек mac80211. Решены проблемы, приводившие к снижению пропускной способности в беспроводном стеке.
- Обновлены версии ядра Linux 5.15.167, OpenSSL 3.0.15 и MbedTLS 2.28.9.



Источник: https://www.opennet.ru/opennews/art.shtml?num=61926

Обновление OpenWrt 23.05.5

Опубликовано обновление дистрибутива OpenWrt 23.05.5, ориентированного на применение в различных сетевых устройствах, таких как маршрутизаторы, коммутаторы и точки доступа. OpenWrt поддерживает множество различных платформ и архитектур и обладает системой сборки, позволяющей просто и удобно производить кросс-компиляцию, включая в состав сборки различные компоненты, что позволяет легко сформировать адаптированную под конкретные задачи готовую прошивку или образ диска с желаемым...
opennet

Опубликован исходный код мультимедийного проигрывателя Winamp

Компания Llama Group опубликовала исходный код мультимедийного проигрывателя Winamp. Код написан на языке C++ и использует в качестве зависимостей Qt, libvpx, libmpg123, OpenSSL и DirectX 9 SDK. Сборка десктоп-приложения поддерживается только для платформы Windows и требует наличие компилятора Visual Studio 2019 и библиотек Intel IPP 6.1.1.035. Код вариантов Winamp для macOS, Android и iOS остаётся закрытым.

К сожалению, несмотря на ранее высказанные намерения перевести проект на открытую модель разработки, код опубликован под проприетарной лицензией WCL (Winamp Collaborative License). Лицензия WCL накладывает несколько ограничений, привязывающих разработчиков к основному проекту. Например, сторонним разработчикам в лицензии предписано передавать изменения, улучшения и исправления только в официальный репозиторий основного проекта. Изменения без передачи в основной проект разрешено вносить только для личного использования. Создание форков и распространение модифицированных версий Winamp запрещено.

Распространение Winamp допускается только через официальные каналы. Примечательно, что основной репозиторий размещён на GitHub, но типичный для данной платформы процесс разработки, при котором вначале создаётся форк, после чего в форк вносятся изменения и передаются через pull-запрос в основной проект, формально нарушает отмеченные в лицензии запреты на создания форков и передачу изменений другим лицам.

Проект Winamp создан Джастином Франкелем и Дмитрием Болдыревым в 1997 году и является одним из самых долгоживущих мультимедийных проигрывателей, продолжающих активное развитие. Winamp изначально ориентирован на использование на платформе Windows и насчитывает около 83 млн пользователей. Благодаря самобытности и гибкости в области изменения оформления интерфейса через скины, под впечатлением от Winamp создано несколько открытых клонов для Linux, таких как XMMS, XMMS2, Beep Media Player, Audacious и Qmmp. В прошлом году из-за финансовых проблем компания Llama Group, которая в 2014 году выкупила у компании AOL связанную с Winamp интеллектуальную собственность, была вынуждена уволить основную команду разработчиков классического Windows-приложения Winamp и сосредоточить внимание на развитие одноимённого потокового web-сервиса и мобильных приложений.

https://honk.any-key.press/d/llpftR89WFK26LTd7s.png

Источник: https://www.opennet.ru/opennews/art.shtml?num=61927

Опубликован исходный код мультимедийного проигрывателя Winamp

Компания Llama Group опубликовала исходный код мультимедийного проигрывателя Winamp. Код написан на языке C++ и использует в качестве зависимостей Qt, libvpx, libmpg123, OpenSSL и DirectX 9 SDK. Сборка десктоп-приложения поддерживается только для платформы Windows и требует наличие компилятора Visual Studio 2019 и библиотек Intel IPP 6.1.1.035. Код вариантов Winamp для macOS, Android и iOS остаётся закрытым.
opennet

Компания Tesla открыла реализацию сетевого протокола TTPoE

Компания Тesla опубликовала наработки, связанные с сетевым протоколом TTPoE (Tesla Transport Protocol over Ethernet), разработанным для снижения задержек при передаче трафика в датацентрах и инфраструктурах, обеспечивающих работу систем машинного обучения. Компания Tesla намерена стандартизировать TTPoE и для достижения данной цели присоединилась к консорциуму UEC (Ultra Ethernet Consortium). Код реализации TTPoE написан на языке Си и открыт под лицензией GPLv2.

Протокол разработан для замены TCP в применениях, требующих низких задержек и высокой скорости передачи данных. Так же как TCP протокол TTPoE допускает отбрасывание пакетов и повторную передачу, полностью гарантируя при этом доставку всех отправленных данных. TTPoE рассчитан на использование в сетях с пропускной способностью выше 100Gbps и изначально был реализован на аппаратном уровне для обеспечения взаимодействия узлов в суперкомпьютере DOJO.

Внедрение TTPoE вместо существующих решений, таких как Infiniband, было нацелено на упрощение добавления новых узлов в кластер DOJO, рассчитанный на обработку визуальной информации при обучении AI-моделей, что требовало передачи очень больших объёмов данных между узлами при необходимости обеспечить минимальные задержки, не превышающие несколько десятков микросекунд. Среди требований к протоколу также отмечалась возможность относительно простой его реализации полностью на аппаратном уровне. В итоге был создан протокол TTPoE, работающий поверх обычного Ethernet и заменяющий уровень TCP в сетевом стеке на протокол TTP, реализуемый при помощи значительно более простого конечного автомата (state machine). Использование Ethernet дало возможность организовать работу кластера с использованием существующих Ethernet-коммутаторов.

https://honk.any-key.press/d/66pSBhFfS2gfLYsBP1.jpg

Для уменьшения задержек в TTP по сравнению с TCP исключено состояние ожидания закрытия соединения (TIME_WAIT) и уменьшено число шагов при согласовании закрытия соединения. В TCP закрытие соединения сводится к отправке FIN-пакета, ожиданию подтверждения получения FIN-пакета, отправке подтверждения на подтверждение и перевод сокета на какое-то время в состояние TIME_WAIT, на случай неупорядоченного поступления задержавшихся пакетов. В TTP для закрытия соединения достаточно отправки опкода закрытия и получения подтверждения о закрытии (CLOSE, CLOSE-ACK).

Похожим образом в TTP выполнена оптимизация открытия соединений - вместо свойственного TCP трёхэтапного согласования нового соединения (SYN, SYN-ACK, ACK) в TTP использовано два этапа (OPEN, OPEN-ACK). Внесённые в TTP упрощения также позволяют избавить программное обеспечение от необходимости явного открытия соединения - достаточно указать адрес для отправки или получения данных.

Для управления перегрузкой (Congestion Control) в TTP как и в TCP применяется отбрасывание пакетов, но без использования усложнённых алгоритмов контроля перегрузки на основе скользящего окна, которое меняет размер в зависимости от уровня потери пакетов. В TTP размер окна не меняется в зависимости от потери пакетов - пакеты прекращают отправляться после заполнения фиксированного буфера, записи удаляются из буфера после прихода подтверждения, а потери пакетов восполняются через повторную передачу данных, хранящихся в буфере. C одной стороны такой подход позволяет снизить задержки, но с другой стороны мешает эффективному использованию TTP в низкоскоростных и некачественных сетях с большой потерей пакетов.

Опубликованная программная реализация включает в себя модуль modttpoe.ko для ядра Linux, позволяющий организовать прямой канал связи между несколькими узлами в одном сегменте сети Ethernet, а также модуль modttpip.ko с реализацией TTP-шлюза (TTP-GW, Tesla Transport Protocol Gateway), позволяющего использовать штатный стек IPv4 поверх TTPoE без необходимости внесения изменений в приложения.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61920

Компания Tesla открыла реализацию сетевого протокола TTPoE

Компания Тesla опубликовала наработки, связанные с сетевым протоколом TTPoE (Tesla Transport Protocol over Ethernet), разработанным для снижения задержек при передаче трафика в датацентрах и инфраструктурах, обеспечивающих работу систем машинного обучения. Компания Tesla намерена стандартизировать TTPoE и для достижения данной цели присоединилась к консорциуму UEC (Ultra Ethernet Consortium). Код реализации TTPoE написан на языке Си и
opennet

Уязвимости в PCP и Nix, позволяющие поднять привилегии в системе

В инструментарии PCP (Performance Co-Pilot), применяемом для сбора статистики о производительности системы (например, используется в интерфейсе Cockpit), выявлены две уязвимости. Первая уязвимость (CVE-2024-45770) присутствует в утилите pmpost, предназначенной для отправки сообщений в лог и при определённых условиях запускаемой с повышенными привилегиями. Эксплуатация уязвимости позволяет добиться выполнения кода с правами root, но для совершения атаки необходимо иметь доступ к учётной записи PCP. Атака сводится к подмене символической ссылкой файла "/var/log/pcp/NOTICES", в который выполняется запись из процесса правами root без использования при открытии файла флага O_NOFOLLOW.

Вторая уязвимость в PCP (CVE-2024-45769) затрагивает фоновый процесс pcmd и приводит к обращению к памяти вне буфера при отправке специально оформленных данных. Опасность уязвимости снижает то, что по умолчанию в pcmd отключён приём сетевых запросов с других систем. Уязвимости устранены в выпуске PCP 6.3.1. Проблемы были выявлены в ходе аудита, проведённого разработчиками из проекта SUSE.

Кроме того, уязвимость (CVE-2024-45593) выявлена в пакетном менеджере Nix, применяемом в дистрибутиве NixOS. Уязвимость позволяет при распаковке специально оформленных файлов в формате NAR (Nix Archive) добиться записи в произвольные области файловой системы, насколько это позволяют права доступа, с которыми выполняется обработчик (при использовании фонового процесса Nix, распаковка выполняется с правами root). Проблема проявляется в ветке Nix 2.24 и устранена в выпуске 2.24.6.

Дополнительно можно упомянуть публикацию предупреждения о выявлении критической уязвимости, затрагивающей дистрибутивы GNU/Linux и позволяющей удалённо без прохождения аутентификации добиться выполнения кода в системе. В настоящее время не приводится никакой информации о сути проблемы и подсистемах, которые она затрагивает, указано лишь, что по согласованию с разработчиками дистрибутивов начальный отчёт о проблеме планируют опубликовать 30 сентября, а полный отчёт с деталями - 6 октября. CVE проблеме пока не присвоен. По заявлению выявившего проблему исследователя, компании Canonical и Red Hat присвоили уязвимости критический уровень опасности (9.9 из 10).

Источник: https://www.opennet.ru/opennews/art.shtml?num=61919

Уязвимости в PCP и Nix, позволяющие поднять привилегии в системе

В инструментарии PCP (Performance Co-Pilot), применяемом для сбора статистики о производительности системы (например, используется в интерфейсе Cockpit), выявлены две уязвимости. Первая уязвимость (CVE-2024-45770) присутствует в утилите pmpost, предназначенной для отправки сообщений в лог и при определённых условиях запускаемой с повышенными привилегиями. Эксплуатация уязвимости позволяет добиться выполнения кода с правами root, но...
opennet

Проект CentOS начал формирование консольной Live-сборки CentOS Stream MIN

Разработчики дистрибутива CentOS представили новую сборку "MIN", в рамках которой сформировано загрузочное Live-окружение CentOS Stream, работающее только в конcольном режиме. Для установки загруженной системы на диск предложена утилита "install_to_hard_drive", предоставляющая текстовый интерфейс. Размер сборки 1.2 ГБ. Кроме MIN проектом также формируются Live-сборки Cinnamon, GNOME, KDE, MATE, XFce и MAX (коллекция разных графических окружений).

Источник: https://www.opennet.ru/opennews/art.shtml?num=61918

Проект CentOS начал формирование консольной Live-сборки CentOS Stream MIN

Разработчики дистрибутива CentOS представили новую сборку "MIN", в рамках которой сформировано загрузочное Live-окружение CentOS Stream, работающее только в конcольном режиме. Для установки загруженной системы на диск предложена утилита "install_to_hard_drive", предоставляющая текстовый интерфейс. Размер
opennet

Релиз видеоплеера MPV 0.39

После пяти месяцев разработки сформирован выпуск открытого видеоплеера MPV 0.39, в 2013 году ответвившегося от кодовой базы проекта MPlayer2. В MPV основное внимание уделяется разработке новых возможностей, не заботясь о сохранении совместимости с MPlayer. Код MPV распространяется под лицензией LGPLv2.1+, некоторые части остаются под GPLv2, но процесс перехода на LGPL почти завершён и для отключения оставшегося GPL-кода можно использовать опцию "--enable-lgpl".

Среди изменений в новой версии:

- Добавлена поддержка мультитач.
- Добавлен скрипт select.lua, предоставляющий интерфейс для выбора файлов из списков воспроизведения, треков, устройств вывода и т.п.
- Реализована встроенная замена скрипту autoload.lua.
- В фильтре d3d11va предоставлена возможность масштабирования с использованием возможностей NVIDIA RTX и Intel VSR (Video Super Resolution).
- Для платформы Windows реализованы кнопки управления воспроизведением.
- Улучшен выбор треков.
- В скрипте stats.lua реализована страница с информацией о треке.
- Значительно улучшена совместимость с dmabuf-wayland.



Источник: https://www.opennet.ru/opennews/art.shtml?num=61917

Релиз видеоплеера MPV 0.39

После пяти месяцев разработки сформирован выпуск открытого видеоплеера MPV 0.39, в 2013 году ответвившегося от кодовой базы проекта MPlayer2. В MPV основное внимание уделяется разработке новых возможностей, не заботясь о сохранении совместимости с MPlayer. Код MPV распространяется
opennet

Итоги опроса более 400 мэйнтейнеров открытых проектов

Компания Tidelift опубликовала результаты опроса более 400 мэйнтейнеров открытых проектов. Наиболее интересные выводы:

- 60% мэйнтейнеров открытых проектов не получают оплаты за работу по сопровождению проектов, при этом из них 14% считают данное занятие хобби и не заинтересованы в получении за него денег, в то время как 44% были бы не против получить финансирование. У 24% мэйнтейнеров часть получаемого заработка связана с данной работой, а у 12% с сопровождением связан основной доход. 24% получают оплату в виде зарплаты у работодателя, а 32% получают средства от сторонних организаций или частных лиц (в 25% случаев это донаты через платформы, такие как GitHub Sponsors, Open Collective и Patreon, 5% - прямые переводы и 3% участие фондов). Получающие оплату мэйнтейнеры в 74% случаях имеют помощников, в то время как у тех кто не получает оплату помощники имеются в 39% случаев.
- 11% времени мэйнтейнеры тратят на задачи, связанные с обеспечением безопасности (в 2021 году этот показатель составлял 4%), 50% (в 2021 году 53%) на рутинную работу, 35% (в 2021 году 25%) на разработку новых возможностей. Получающие оплату мэйнтейнеры тратят на задачи, связанные с безопасностью, 13% времени, а не получающие - 10%.
- 71% (76% получающих оплату и 68% не получающих оплату) мэйнтейнеров применяют двухфакторную аутентификацию, 65% (75% / 59%) применяют инструменты для статического анализа кода, 60% (70% / 54%) занимаются созданием патчей для устранения уязвимостей, 36% (50% / 28%) заверяют релизы цифровой подписью, 29% (37% / 23%) применяют защищённый сборочный инструментарий.
- Используемые практики сопровождения: 53% (51% не получающих оплату) - повторяемые или верифицируемые сборки, 46% (34%) - правила по обеспечению обратной совместимости, 40% (24%) - формализованный процесс управления зависимостями, 37% (33%) - рецензирование кода несколькими участниками.
- Документирование в проектах: 93% документируют лицензию, 76% - документируют примечания к выпуску и рекомендации по обновлению, 61% - предоставляют руководства для участников разработки, 53% - создают кодекс поведения, 17% документируют правила разрешения конфликтов и 13% имеют план на случай ухода мэйнтейнера из проекта.
- 48% мэйнтейнеров ощущают свою работу недооценённой. 38% обдумывают возможность ухода с поста сопровождающего.
- После инцидента с бэкдором в библиотеке xz 66% опрошенных стали меньше доверять pull-запросам от разработчиков, не являющихся мэйнтейнерами, а 37% стали меньше доверять ко-мэйнтейнерам.
- 31% (9% - крайне положительно, 22% - сдержанно положительно) опрошенных положительно оценивают влияние AI-инструментов для написания кода, 45% (23% - крайне отрицательно, 22% - сдержанно отрицательно) - негативно, 24% - нейтрально.
- 27% опрошенных скорее всего не стали бы рецензировать и принимать в проект изменения, подготовленные AI-инструментами, 37% возможно не стали бы принимать такие изменения. Готовность принять изменения от AI выразили всего 3% (более вероятно) и 6% (возможно).
- 45% опрошенных не используют AI-инструменты разработки и не планируют использовать в будущем, 6% - не используют сейчас, но планируют начать использовать в будущем, 15% используют более одного раза в день, 13% используют более одного раза в неделю, 20% используют менее одного раза в неделю. Доли использующих хотя бы изредка AI-инструменты мэйнтейнеров: 71% - до 26 лет, 58% - 26-35 лет, 39% - 36-45 лет, 42% - старше 45 лет.
- 45% опрошенных занимаются сопровождение более 10 лет, 24% - 6-10 лет, 23% - 2-5 лет, 7% - 1-2 года, 2% - менее года.
- 48% мэйнтейнеров проживают в Европе, 38% в Северной Америке, 8% в Азии (в 2021 году из Азии было 24% мэйнтейнеров, 35% из Европы и 35% из Северной Америки).
- Наблюдается увеличение возраста мэйнтейнеров - по сравнению с 2021 годом удвоилось число мэйнтейнеров в возрастной категории от 46 до 65 лет (в 2021 году таких мэйнтейнеров было 11%, в 2023 году - 27%, а в 2024 году - 21%). Число мэйнтейнеров младше 26 лет снизилось с 25% в 2021 году до 12% в 2023 году и 10% в 2024 году.

https://honk.any-key.press/d/Ntrw8P6tXLZ1TDzt5f.png



Источник: https://www.opennet.ru/opennews/art.shtml?num=61916

Итоги опроса более 400 мэйнтейнеров открытых проектов

Компания Tidelift опубликовала результаты опроса более 400 мэйнтейнеров открытых проектов. Наиболее интересные выводы:

- 60% мэйнтейнеров открытых проектов не получают оплаты за работу по сопровождению проектов, при этом из них 14% считают данное занятие хобби и не заинтересованы в получении за него денег, в то время как 44% были бы не против получить финансирование. У 24% мэйнтейнеров часть получаемого заработка связана с данной работой, а у...

opennet

В JavaScript-платформе Bun добавлена поддержка вызова кода на языке Си

В платформе Bun, развиваемой в качестве альтернативы Node.js и предназначенной для обособленного выполнения приложений, написанных на языках JavaScript, JSX и TypeScript, реализована экспериментальная возможность компиляции и выполнения обработчиков, написанных на языке Си. Ранее для вызова низкоуровневого кода требовалось либо создавать N-API-плагины к движку V8, либо компилировать код в формат WebAssembly (WASM/WASI), что усложняло разработку и накладывало определённые ограничения. Теперь код на языке Си можно напрямую встраивать в JavaScript и компилировать на лету с использованием компилятора TinyCC, а также подключать динамически связываемые библиотеки.
   import { cc } from "bun:ffi";

   export const {
     symbols: { hello },
   } = cc({
     source: "./hello.c",
     symbols: {
       hello: {
         returns: "void",
         args: [],
       },
     },
   });

   hello();

Для работы с языком Си используется прослойка bun:ffi, которая компилирует исходный код в машинные инструкции, подставляет его в память при выполнении и обеспечивает автоматическую конвертацию типов данных между JavaScript и Си. Отмечается, что накладные расходы при обращении к скомпилированному Си-коду сведены к минимуму и приводят к задержке на уровне около 2 наносекунд на каждый вызов внешних Си-функций. В качестве примера показано как можно напрямую обращаться к библиотекам FFmpeg для преобразования коротких видео - за счёт исключения таких операций как ответвление отдельного процесса и выделения памяти для каждого видео, общее время выполнения тестового задания при использовании bun:ffi удалось сократить в три раза.

Более того, в выпуске Bun 1.1.29 для кода на языке Си добавлена поддержка N-API (napi), благодаря которому написанные на языке Си-обработчики могут возвращать объекты, строки, массивы и другие не примитивные значения JavaScript, помимо свойственных языку Си типов, таких как int и float. Механизм вызова обработчиков на языке Си действует и при динамической загрузке любых библиотек с C ABI, независимо от того, на каком языке они написаны изначально (C++, Rust, Zig и т.п.), что позволяет вызывать из JavaScript-кода предоставляемые данными библиотеками функции без отдельной стадии пересборки. Например, теперь можно обращаться из JavaScript к системным API.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61915

В JavaScript-платформе Bun добавлена поддержка вызова кода на языке Си

В платформе Bun, развиваемой в качестве альтернативы Node.js и предназначенной для обособленного выполнения приложений, написанных на языках JavaScript, JSX и TypeScript, реализована экспериментальная возможность компиляции и выполнения обработчиков, написанных на языке Си. Ранее для вызова низкоуровневого кода требовалось либо создавать N-API-плагины к движку V8, либо компилировать код в формат WebAssembly (WASM/WASI), что усложняло...
opennet

Первый выпуск редакции браузера Wolvic с движком Chromium

Представлен релиз браузера Wolvic Chromium 1.0, в котором вместо движка Mozilla Gecko и технологий Firefox, задействован движок Chromium. Браузер Wolvic (бывший Firefox Reality) предназначен для использования в системах дополненной и виртуальной реальности, предоставляет 3D-интерфейс для навигации по сайтам с использованием 3D-шлема, и, помимо традиционных плоских страниц, позволяет web-разработчикам при помощи API WebXR, WebAR и WebVR создавать трехмерные web-приложения для систем виртуальной реальности.

Навигация в браузерном интерфейсе осуществляется при помощи VR-контроллеров или через отслеживания движения глаз, а для ввода данных в web-формы применяется виртуальная клавиатура или система голосового ввода, дающая возможность заполнять формы и отправлять поисковые запросы с использованием развиваемого в Mozilla движка для распознавания речи. Возможен просмотр в браузере пространственных видео, снятых в режиме 360 градусов.

Готовые сборки формируются для платформы Android и поддерживают такие 3D-шлемы, как Huawei VR Glass, Huawei Vision Glass, VIVE Focus, Lynx R1, Lenovo A3, Magic Leap 2, Meta Quest 2/3/Pro, Oculus Quest и Pico 4/4E. В режиме тестирования возможен запуск на обычном Android-смартфоне без 3D-шлема.

По своим возможностям Wolvic Chromium 1.0 очень близок к Wolvic v1.7 на базе движка Mozilla Gecko, например, поддерживается навигация с использованием механизмов отслеживания движения глаз и доступен улучшенный полноэкранный режим. Из специфичных изменений отмечается добавление виджета для отображения заголовков и 18 новых виртуальных окружений, воссоздающих разнообразные ландшафты (окружения включаются через диалог Settings > Environment). Помимо этого проведена большая работа по повышению стабильности, поддержке свежих версий операционных систем и расширению функциональности, связанной с реализацией стандарта OpenXR.



Источник: https://www.opennet.ru/opennews/art.shtml?num=61914

Первый выпуск редакции браузера Wolvic с движком Chromium

Представлен релиз браузера Wolvic Chromium 1.0, в котором вместо движка Mozilla Gecko и технологий Firefox, задействован движок Chromium. Браузер Wolvic (бывший Firefox Reality) предназначен для использования в системах дополненной и виртуальной реальности, предоставляет 3D-интерфейс для навигации по сайтам с использованием 3D-шлема, и, помимо традиционных плоских страниц, позволяет web-разработчикам при помощи API WebXR, WebAR и WebVR создавать...
opennet

Выпуск web-браузера Chrome 129

Компания Google опубликовала релиз web-браузера Chrome 129. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google API и передачей при поиске RLZ-параметров. Для тех, кому необходимо больше времени на обновление, отдельно поддерживается ветка Extended Stable, сопровождаемая 8 недель. Следующий выпуск Chrome 130 запланирован на 15 октября.

Основные изменения в Chrome 129:

- Добавлена возможность настройки содержимого панели инструментов, позволяющая пользователю закреплять, откреплять и менять местами пиктограммы при помощи конфигуратора, отображаемого в боковой панели. Например, можно разместить на панели кнопки для вызова интерфейса для разработчиков, очистки данных о работе браузера, открытия режима для чтения, перехода в диспетчер задач, перехода в менеджер паролей и т.п. Для управления включением возможности закрепления пиктограмм добавлен параметр "chrome://flags/#toolbar-pinning". https://honk.any-key.press/d/K7Wn7Rz1MM5ymG98mQ.png
- Предложена функция сравнения вкладок, позволяющая использовать элементы машинного обучения для генерации сравнительного обзора товаров, страницы с информацией о которых открыты в разных вкладках. Возможность пока доступна только для пользователей из США. https://honk.any-key.press/d/5pf4Jj9wgGjLfs1PkS.png
- В версии для платформы Android реализовано перемещение неактивных вкладок в отдельную секцию (Inactive Tabs) интерфейса переключения между вкладками. Имеется возможность просмотра всех старых вкладок и из закрытия разом. По умолчанию новая возможность включена для 1% пользователей. Вкладки автоматически удаляются после нахождения в секции Inactive Tabs больше 60 дней.
- Добавлен экспериментальный режим совместного использования процессов, суть которого в том, что для разных вкладок, в которых открыт один и тот же сайт, будет использоваться один общий процесс отрисовки, вместо раздельных процессов. Изменение позволяет ускорить загрузку страниц и снизить потребление памяти. Для включения режиме добавлена настройка "chrome://flags/#enable-process-per-site-up-to-main-frame-threshold".
- Добавлена возможность предоставления сайтам одноразовых полномочий, действующих только в рамах текущего сеанса (например, можно предоставить доступ к камере и микрофону, который будет действовать до закрытия вкладки или перехода на другой сайт).
- Прекращена поддержка платформы macOS 10.15, сопровождение которой было прекращено компанией Apple в 2022 году.
- Для платформ Windows и macOS в конфигураторе реализован новый интерфейс управления сертификатами (ранее на данных платформах вызывались системные интерфейсы управления сертификатами).
- Включена блокировка доступа к IP 0.0.0.0 для предотвращения атак на локальные сервисы.
- Анонсирована предстоящая замена в TLS алгоритма обмена ключами Kyber768+X25519 на ML-KEM768+X25519 (недавно принятый стандарт ML-KEM основан на постквантовом алгоритме Кyber, но полностью не совместим с его прошлой реализацией).
- В API Scheduler добавлен метод "scheduler.yield()", позволяющий при выполнении длительных задач на время возвращать управление в основной поток браузера, что позволяет приостанавливать текущую длительную задачу для выполнения важных работ, таких как обработка ввода и отрисовка кадров. Идея в том, чтобы разбить длительно выполняемые задачи на более мелкие, периодически передавая управление в основной поток через вызов "await scheduler.yield();" в коде, что позволяет уменьшить негативное влияние длительно выполняемых задач на отзывчивость при работе с сайтом.

https://honk.any-key.press/d/D7243Gp1Qcg3WV5Pyl.png
- Добавлено CSS-свойство "interpolate-size", позволяющее выбирать размер анимации не в абсолютных величинах, а относительно значений, вычисленных при использовании свойств auto, min-content или fit-content. Для более точного управления размером предложена CSS-функция calc-size(), похожая на calc(), но поддерживающая операции с фактическим размером элементов, меняющимся в зависимости от содержимого.
- Внесены изменения в CSS-свойства для управления показом элементов, привязанных к местоположению других элементов (CSS Anchor Positioning), без использования JavaScript, например, для прикрепления к элементам всплывающих окон (popover), появляющихся по аналогии со всплывающими подсказками. В соответствии с рекомендацией рабочей группы, занимающейся стандартизацией СSS, CSS-свойство "inset-area" переименовано в "position-area", свойство "position-try-options" переименовано в "position-try-fallbacks", а в свойстве "position-try" убрана необходимость указания inset-area(), т.е. вместо "position-try-fallbacks: inset-area(top)" следует писать "position-try-fallbacks: top".
- В API Intl добавлен метод Intl.DurationFormat для форматирования данных о продолжительности во времени с учётом выбранной локали. Например:

   const l = "ru-RU";
   const d = {hours: 1, minutes: 46, seconds: 40};
   const opts = {style: "long"};
   new Intl.DurationFormat(l, opts).format(d);
   // "1 час, 46 минут 40 секунд"

- В API Web GPU реализована возможность использования всего диапазона яркости, поддерживаемого экраном, при выводе HDR-изображений.
- В API WebRTC добавлена поддержка отправки блобов при помощи метода RTCDataChannel.send(Blob) и получения данных с типом Blob при обработке события onMessage, если в атрибуте "binaryType" указано значение "blob" (ранее поддерживалась передача строк и ArrayBuffer). Размер блоба ограничен значением maxMessageSize.
- В API WebAuthn добавлены методы PublicKeyCredential.toJSON(), parseCreationOptionsFromJSON() и parseRequestOptionsFromJSON() для сериализации/десериализации WebAuthn-ответов c использованием формата JSON.
- В режиме "Origin trials" реализован API FileSystemObserver, позволяющий сайтам отслеживать изменения файлов и каталогов.
- В режиме "Origin trials" добавлен API Mesh2D Canvas для визуализации большого количества текстурированных треугольников. Из областей применения API упоминаются реализация расширенных методов текстурного маппинга и создания эффектов деформации в двумерном контексте.
- Расширены возможности инструментов для web-разработчиков.

Кроме нововведений и исправления ошибок в новой версии устранены 9 уязвимостей. Многие из уязвимостей выявлены в результате автоматизированного тестирования инструментами AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer и AFL. Одной проблеме присвоен высокий уровень опасности (неправильная обработка типов в движке V8). Критических проблем, которые позволяют обойти все уровни защиты браузера и выполнить код в системе за пределами sandbox-окружения, не выявлено. В рамках программы по выплате денежного вознаграждения за обнаружение уязвимостей для текущего релиза компания Google выплатила 5 премий на сумму 13 тысяч долларов США (по одной премии в $8000 и $2000, три премии по $1000). Размер одного вознаграждения пока не определён.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61912

Выпуск web-браузера Chrome 129

Компания Google опубликовала релиз web-браузера Chrome 129. Одновременно доступен стабильный выпуск свободного проекта Chromium, выступающего основой Chrome. Браузер Chrome отличается от Chromium использованием логотипов Google, наличием системы отправки уведомлений в случае краха, модулями для воспроизведения защищённого от копирования видеоконтента (DRM), системой автоматической установки обновлений, постоянным включением Sandbox-изоляции, поставкой ключей к Google...
opennet

В Vulkan-драйвер PanVK добавлена поддержка GPU ARM на базе архитектуры V10

Компания Collabora объявила о реализации поддержки GPU ARM Mali на базе микроархитектуры V10 в драйвере PanVK, обеспечивающем поддержку графического API Vulkan. Изменения, которые уже приняты в основную ветку проекта Mesa, позволяют использовать открытые драйверы на системах с GPU ARM Mali-G610 и Mali-G310. Тем не менее, отмечается, что поддержка ещё достаточно сырая, так как сам драйвер PanVK и добавленный для ARM V10 код не признаны готовыми для повсеместного использования (некоторые приложения могут не запускаться), а также ограничены поддержкой версии Vulkan 1.0.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61886

В Vulkan-драйвер PanVK добавлена поддержка GPU ARM на базе архитектуры V10

Компания Collabora объявила о реализации поддержки GPU ARM Mali на базе микроархитектуры V10 в драйвере PanVK, обеспечивающем поддержку графического API Vulkan. Изменения, которые уже приняты в основную ветку проекта Mesa, позволяют использовать открытые драйверы на системах с GPU ARM Mali-G610 и Mali-G310. Тем не менее, отмечается, что поддержка ещё достаточно сырая, так как сам драйвер PanVK и добавленный для ARM V10 код...
opennet

Релиз ядра Linux 6.11

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.11. Среди наиболее заметных изменений: поддержка операций атомарной записи на уровне блочных устройств, поддержка операций bind() и listen() в io_uring, новый механизм блокировок программных обработчиков прерываний, возможность записи в отзеркаленные в память исполняемые файлы, поддержка написания драйверов блочных устройств на языке Rust, оптимизация вызова getrandom(), новая реализация AES-GCM.

В новую версию принято 15130 исправлений от 2078 разработчиков, размер патча - 85 МБ (изменения затронули 13282 файлов, добавлено 985857 строк кода, удалено 268915 строк). В прошлом выпуске было 14564 исправлений от 1989 разработчиков, размер патча - 41 МБ (в два раза меньше, чем патч для ядра 6.11). Около 46% всех представленных в 6.11 изменений связаны с драйверами устройств, примерно 17% изменений имеют отношение к обновлению кода, специфичного для аппаратных архитектур, 10% связано с сетевым стеком, 5% - с файловыми системами и 3% c внутренними подсистемами ядра.

Основные новшества в ядре 6.11:

- Дисковая подсистема, ввод/вывод и файловые системы

- В подсистеме блочных устройств реализована поддержка атомарных операций записи, при которых на накопитель записывается либо весь указанный набор блоков, либо ни один из блоков, что позволяет защититься от ситуаций, когда после сбоя оборудования записывается лишь часть блоков, а в другой части остаётся старая информация. Для включения атомарного режима записи в системный вызов pwritev() добавлен флаг RWF_ATOMIC. Информацию о поддержке атомарной записи (atomic_write_unit_min, atomic_write_unit_max и atomic_write_segments_max) в привязке к отдельным файлам можно получить при помощи функции statx().
- Предоставлена поддержка записи в исполняемые файлы, связанные с работающими процессами. Ранее, как и в других Unix-подобных системах, ядро выводило ошибку при попытке записи в исполняемый файл запущенного процесса. Данное ограничение снято, так как оно лишено практического смысла.
- Реализована возможность разработки драйверов блочных устройств на языке Rust. В качестве примера в ядро добавлен драйвер rnull, представляющий собой аналог драйвера null_blk, написанный на языке Rust.
- В файловой системе Btrfs в опции монтирования "rescue=" реализована поддержка новых режимов "ignoremetacsums" и "ignoresuperflags", которые можно использовать для выноса некоторых проверок в пространство пользователя при восстановлении ФС после сбоя. Реализация операции динамического возвращения групп блоков переделана для исключения возникновения ситуации нехватки свободного пространства в условиях неполной заполненности ФС.
- В файловой системе ntfs3 реализована поддержка атрибутов "compressed" и "immutable", определяющих сжатые и неизменяемые файлы.
- В ФС F2FS и Ext4 обработка имён файлов без учёта регистра символов (casefold) упрощена через хранение имён в форме qstr-строк без лишних преобразований регистра.
- В ФС Ext4 реализация функции jbd2_transaction_committed оптимизирована для повышения производительности на очень быстрых накопителях (в тестах отмечен прирост обрабатываемых операций в секунду, достигающий 20%).
- В системном вызове statx() разрешена передача указателя NULL вместо пустой строки с файловым путём, в случае если выставлен флаг AT_EMPTY_PATH.
- В системном вызове open_by_handle_at() смягчены проверки прав доступа к файлу, в случае отсутствия полномочий CAP_DAC_READ_SEARCH для поиска в начальном пространстве имён. Ранее необходимость наличия полномочий CAP_DAC_READ_SEARCH к начальному пространству имён не позволяла использовать системный вызов open_by_handle_at() в контейнерах.
- Расширены возможности системных вызовов listmount() и statmount(). В listmount() добавлен флаг LISTMOUNT_REVERSE для вывода содержимого таблицы точек монтирования в обратном порядке (самые новые записи в верху). В statmount() реализован вывод опций, выставленных при монтировании ФС. В обоих системных вызовах разрешена работа при отсутствии доступа к начальному пространству имён (когда имеется только доступ к локальному или внешнему пространству имён).
- В ФС Bcachefs реализована поддержка автоматического прозрачного восстановления проблемных данных, используя коды восстановления ошибок - если при чтении возникает ошибка ввода/вывода или вычислено несоответствие контрольной суммы, проблемный блок данных автоматически перезаписывается при наличии избыточности для его восстановления.


- Память и системные сервисы

- В состав приняты патчи с реализацией нового механизма блокировок программных обработчиков прерываний (BH, bottom-half), который обеспечивает блокировку используемых структур данных, но при этом не вызывает блокирования параллельного выполнения не связанного с ними кода. Отмечается, что изменение позволило не только снизить задержки для ядер, работающих в режиме realtime, но и повысить производительность обычных ядер (например, для некоторых видов нагрузки наблюдается повышение производительности сетевой подсистемы на 14.5%).
- В подсистему асинхронного ввода/вывода io_uring добавлена поддержка операций для реализации функций bind() и listen(), используемых для создания принимающих соединения сетевых сокетов.
- Добавлен набор ioctl-операций для псевдо-ФС NSFS (NameSpace FS), используемой для работы с пространствами имён. Новые ioctl позволяют преобразовывать идентификаторы процессов и групп потоков между разными пространствами имён идентификаторов процессов (PID namespace). Похожие ioctl, позволяющие на основе pidfd-идентификаторов определять файловые дескрипторы процессов в отдельных пространствах имён, также добавлены в псевдо-ФС pidfd.
- Для BPF-программ добавлена поддержка нового итератора для работы с битовыми масками, который можно использовать, например, для перебора отдельных битов в областях памяти, таких как cpumask. Добавлен механизм для отправки процессам в пространстве пользователя уведомлений об отсоединении (detach/unregister) объекта struct_ops. Расширен спектр типов, которые можно использовать в массивах (например, можно объявлять массивы, имеющие элементы с типами kptr, bpf_rb_root и bpf_list_head). Предложен более надёжный механизм Split BTF (BPF Type Format), используемый для проверки типов в псевдокоде BPF.
- Добавлена подсистема, позволяющая организовать подачу питания на устройства в заданном порядке, на случай, когда одно устройство должно быть активировано раньше другого (например, при активации беспроводных чипов на платформах Qualcomm).
- Добавлен модуль "Sloppy logic analyzer", позволяющий создавать простые логические анализаторы сигнала, использующие GPIO и работающие на отдельном ядре CPU.
- Добавлена поддержка runtime-констант, которые могут использоваться вместо переменных, инициализируемых один раз. Например, runtime-константы могут применяться вместо переменных, хранящих указатель и размер для кэша dentry. Данные переменные выставляются во время загрузки и затем никогда не меняются. Идея в том, чтобы подставить значения подобных переменных напрямую в инструкции в коде, исключив накладные расходы, связанные с манипуляциями с указателями.
- Продолжен перенос изменений из ветки Rust-for-Linux, связанных с использованием языка Rust в качестве второго языка для разработки драйверов и модулей ядра (поддержка Rust не активна по умолчанию, и не приводит ко включению Rust в число обязательных сборочных зависимостей к ядру). Добавлена поддержка выпуска Rust 1.80 (в качестве минимальной версии по-прежнему поддерживается Rust 1.78). Помимо ранее отмеченных средств для разработки драйверов блочных устройств, в новой версии добавлены абстракции для загрузки прошивок, доступа к пространству пользователя (uaccess) и работы структурой "page".
- Для систем x86-64 реализован новый системный вызов uretprobe(), оптимизирующий работу механизма трассировки uretprobe, позволяющего отслеживать значения, возвращаемые функциями в приложениях пространства пользователя.
- Добавлены параметры командной строки ядра: "reserve_mem" для резервирования именованной области памяти во время загрузки и "ramoops.mem_name" для использования в pstore области памяти, созданной через reserve_mem.
- В контроллер памяти на базе cgroup в файл memory.reclaim, через который определяются настройки вытеснения памяти, добавлен параметр "swappiness", позволяющий изменить баланс между вытеснением анонимных страниц памяти в раздел подкачки и освобождением страниц памяти, занятых под файловый кэш.
- Добавлен ioctl-интерфейс PROCMAP_QUERY для более эффективного поиска виртуальных областей памяти (Virtual Memory Area) в /proc/PID/maps.
- В системный вызов mmap() добавлен флаг MAP_DROPPABLE для запроса памяти, которая никогда не будет сброшена в раздел подкачки, а в случае нехватки памяти может быть удалена.
- Для архитектуры ARM64 реализована поддержка горячего подключения (перевода в режимы online/offline) физических и виртуальных CPU на системах с ACPI.
- Для архитектуры RISC-V обеспечена поддержка горячего подключения памяти и добавлена поддержка поддержка GCC-плагина STACKLEAK (выполняет инициализацию всех хранимых в стеке переменных для предотвращения утечки информации из ядра через неинициализированные переменные, которые могут содержать остатки ранее сохранённых в стеке данных).
- Удалён механизм фиктивного маппинга памяти EFI (fake EFI memory map) на этапе загрузки. Данный механизм не использовался на практике и мешал разработкам в области конфиденциального выполнения виртуальных машин.
- Прекращена поддержка платформы PowerPC 40x.
- Повышены требования к версии GNU Make - для сборки ядра требуется как минимум выпуск GNU Make, опубликованный в 2013 году.


- Виртуализация и безопасность

- Интегрированы патчи, значительно (до 15 раз) ускоряющие получение случайных чисел через системный вызов getrandom(). Оптимизация основана на использовании механизма vDSO (virtual dynamic shared object), дающего возможность перенести обработчик системного вызова из ядра в пространство пользователя и избежать переключений контекста. Загрузка реализации системного вызова в адресное пространство процесса непосредственно ядром.
- Для систем x86-64 включена новая реализация алгоритма шифрования AES-GCM, поддерживающая использование векторных инструкций VAES, VPCLMULQDQ и AVX512/AVX10 для ускорения вычислений. В проведённых тестах прирост производительности после перехода на новую реализацию достигает 156%. Ассемблерная реализация AES-GCM полностью переписана с учётом корректности, производительности, размера и исчерпывающего документирования кода.
- Реализована возможность запуска ядра в качестве гостевой системы в виртуализированных окружениях, использующих процессорное расширение AMD SEV-SNP (Secure Nested Paging), предназначенное для обеспечения безопасной работы с вложенными таблицами страниц памяти. Для дополнительной изоляции доступа к ресурсам из виртуальных машин может применяться модуль SVSM (Linux Secure VM Service Module). В гипервизор KVM добавлена начальная поддержка запуска гостевых систем, защищённых при помощи AMD SEV-SNP.
- Добавлен отдельный bucket slab allocator, включаемый через параметр CONFIG_SLAB_BUCKETS и обеспечивающий защиту от атак с использованием техники "heap spraying".
- В гипервизор KVM добавлен ioctl-вызов для упреждающего выделения памяти гостевой системе до её фактического запуска.


- Сетевая подсистема

- Добавлен sysctl-параметр net.tcp_rto_min_us, через который можно настроить минимальный таймаут повторной передачи (retransmission timeout) для TCP-сокетов.
- В утилиту ethtool добавлена возможность тонкой настройки конфигурации обработчиков прерываний для сетевых интерфейсов, использующих интерфейс Net DIM.


- Оборудование

- В драйвер AMDGPU включена реализована начальная поддержка GPU AMD RDNA4 ("GFX12"). Добавлена поддержка технологий DCN 4.0.x, GC 12.0, GMC 12.0, SDMA 7.0, MES12 и MMHUB 4.1.
- Продолжена работа над drm-драйвером (Direct Rendering Manager) Xe для GPU на базе архитектуры Intel Xe, которая используется в видеокартах Intel семейства Arc и интегрированной графике, начиная с процессоров Tiger Lake. Улучшена поддержка GPU на базе микроархитектур Battlemage, Arrow Lake и Lunar Lake.
- В подсистеме DRM (Direct Rendering Manager) переписан обработчик выставляемых монитором параметров EDID (Extended Display Identification Data).
- В драйвере i915 добавлена поддержка GPU Battlemage Xe2 и включён по умолчанию режим CMRR (Content Match Refresh Rate).
- В DRM-драйвер msm (GPU Qualcomm Adreno) добавлена поддержка платформы SM7150 и GPU X185 и a505.
- Добавлена поддержка экранных панелей Lincoln Tech Sol LCD185-101CT, Microtips Technology 13-101HIEBCAF0-C, Microtips Technology MF-103HIEB0GA0, BOE nv110wum-l60, IVO t109nw41, WL-355608-A8, PrimeView PM070WL4, Lincoln Technologies LCD197, Ortustech COM35H3P70ULC, AUO G104STN01, K&d kd101ne3-40ti.
- В звуковой подсистеме добавлена поддержка чипов и кодеков Intel Panther Lake, Asahi Kasei AK4619, Cirrus Logic CS530x, Everest Semiconductors ES8311, NXP i.MX95, LPC32xx, Qualcomm LPASS v2.5, WCD937x, Realtek RT1318, RT1320 и Texas Instruments PCM5242.
- Внесена финальная порция изменений, обеспечивающих поддержку ARM SoC Snapdragon X Elite, в котором используется собственный 12-ядерный CPU Qualcomm Oryon и GPU Qualcomm Adreno. Чип нацелен на использование в ноутбуках и ПК, и опережает во многих тестах производительности чипы Apple M3 и Intel Core Ultra 155H. Добавленные в ядро 6.11 изменения связаны с поддержкой GPU Adreno X1-85 и управлением энергопотреблением. Из устройств на базе SoC Snapdragon X Elite заявлена поддержка ноутбуков ASUS Vivobook S15 и Lenovo Yoga Slim7x.

Одновременно латиноамериканский Фонд свободного ПО сформировал вариант полностью свободного ядра 6.11 - Linux-libre 6.10-gnu, очищенного от элементов прошивок и драйверов, содержащих несвободные компоненты или участки кода, область применения которых ограничена производителем. В выпуске 6.11 обновлён код чистки блобов в драйверах mdgpu, adreno, vgxy61, atomisp, btnxpuart, prueth и tas2781. Проведена чистка новых драйверов amdgpu isp, tn40, rtl8192du, cs40l50, rt1320 и pcie-rcar-gen4. Выполнена чистка имён блобов в dts-файлах (devicetree) для архитектуры Aarch64. Добавлена не выдающая предупреждения и запросов (nowait-nowarn) версия примитивов для загрузки прошивок. Добавлен код для определения примитивов загрузки прошивок в коде на языке Rust.

Источник: https://www.opennet.ru/opennews/art.shtml?num=61869

Релиз ядра Linux 6.11

После двух месяцев разработки Линус Торвальдс представил релиз ядра Linux 6.11. Среди наиболее заметных изменений: поддержка операций атомарной записи на уровне блочных устройств, поддержка операций bind() и listen() в io_uring, новый механизм блокировок программных обработчиков прерываний, возможность записи в отзеркаленные в память исполняемые файлы, поддержка написания драйверов блочных устройств на языке Rust, оптимизация вызова getrandom(), новая реализация AES-GCM.
opennet

Фонд Sovereign инвестирует 688 тысяч евро в развитие проекта Samba

Разработчики проекта Samba объявили о получении инвестиций в размере 688 тысяч евро от фонда STF (Sovereign Tech Fund), учреждённого в Германии для стимулирования развития открытой цифровой инфраструктуры и экосистем с открытым исходным кодом. Фонд создан на средства, предоставленные Министерством экономики и защиты климата Германии, и курируется Федеральным агентством подрывных инноваций SPRIND. Решение об инвестировании принято после отправки заявки компанией SerNet, которая управляет торговой маркой Samba на территории Германии от имени международного сообщества разработчиков и развивает продукт Samba+ для предприятий. Программа инвестирования предусматривает проведение работы в течение 18 месяцев (c 1 сентября 2024 года по 28 февраля 2026 года).

В течение 18 месяцев разработчики Samba, трудоустроенные в SerNet, выполнят 17 проектов, нацеленных на расширение в Samba возможностей, связанных с повышением безопасностью, улучшением масштабируемости и реализацией дополнительной функциональности. Вся работа будет производиться в открытой форме и с использованием процессов, применяемых при разработке Samba. Среди реализуемых проектов: обеспечение отказоустойчивости SMB3 через прозрачное переключение на запасной сервер; добавление Unix-расширений для SMB3; поддержка технологии SMB-Direct для ускорения передачи файлов; реализация протоколов для повышения производительности и безопасности, таких как "SMB over QUIC".

Источник: https://www.opennet.ru/opennews/art.shtml?num=61867

Фонд Sovereign инвестирует 688 тысяч евро в развитие проекта Samba

Разработчики проекта Samba объявили о получении инвестиций в размере 688 тысяч евро от фонда STF (Sovereign Tech Fund), учреждённого в Германии для стимулирования развития открытой цифровой инфраструктуры и экосистем с открытым исходным кодом. Фонд создан на средства, предоставленные Министерством экономики и защиты климата Германии, и курируется Федеральным агентством подрывных инноваций SPRIND. Решение об инвестировании
opennet

Выпуск Nextcloud Hub 9, платформы для организации совместной работы

Представлен выпуск платформы Nextcloud Hub 9, предоставляющей самодостаточное решение для организации совместной работы сотрудников предприятий и команд, развивающих различные проекты. Одновременно опубликована лежащая в основе Nextcloud Hub облачная платформа Nextcloud 30, позволяющая развернуть облачное хранилище с поддержкой синхронизации и обмена данными, предоставляющее возможность просмотра и редактирования данных с любого устройства в любой точке сети (при помощи web-интерфейса или WebDAV). Сервер Nextcloud можно развернуть на любом хостинге, поддерживающем выполнение PHP-скриптов и предоставляющем доступ к SQLite, MariaDB/MySQL или PostgreSQL. Исходные тексты Nextcloud распространяются под лицензией AGPL.

По решаемым задачам Nextcloud Hub напоминает Google Docs и Microsoft 365, но позволяет развернуть полностью контролируемую инфраструктуру совместной работы, функционирующую на своих серверах и не привязанную к внешним облачным сервисам. Nextcloud Hub объединяет в единую среду несколько открытых приложений-надстроек над облачной платформой Nextcloud, позволяющих совместно работать с офисными документами, файлами и информацией для планирования задач и мероприятий. Платформа также включает надстройки для доступа к электронной почте, обмена сообщениями, организации видеоконференций и чатов.

Аутентификация пользователей может производиться как по локальной базе, так и через интеграцию с LDAP / Active Directory, Kerberos, IMAP и Shibboleth / SAML 2.0, в том числе с применением двухфакторной аутентификации, SSO (Single-sign-on) и привязки новых систем к учётной записи по QR-коду. Версионный контроль изменений позволяет отслеживать изменения в файлах, комментариях, правилах совместного доступа и тегах.

Основные компоненты платформы Nextcloud Hub:

- Files - организация хранения, синхронизации, совместного доступа и обмена файлами. Доступ может быть осуществлён как через Web, так и при помощи клиентского ПО для настольных и мобильных систем. Предоставляются такие расширенные возможности, как полнотекстовый поиск, прикрепление файлов при отправке комментариев, выборочный контроль доступа, создание защищённых паролем ссылок для загрузки, интеграция с внешними хранилищами (FTP, CIFS/SMB, SharePoint, NFS, Amazon S3, Google Drive, Dropbox, и т.п.). https://honk.any-key.press/d/DjmL54Wc6qv82R7h2r.png
- WorkFlow - оптимизирует бизнес-процессы через автоматизацию выполнения типовых работ, таких как преобразование документов в PDF, отправка сообщений в чаты при загрузке новых файлов в определённые каталоги, автоматическое назначение тегов. Возможно создание собственных обработчиков, выполняющих действия в привязке к определённым событиям.
- Nextcloud Office - встроенные средства совместного редактирования документов, электронных таблиц и презентаций, развиваемые совместно с компанией Collabora. Предоставляется поддержка интеграции с пакетами OnlyOffice, Collabora Online, MS Office Online Server и Hancom office.
- Nextcloud Collectives - предоставляет интерфейс для управления, организации совместной работы и взаимодействия между участниками в командах, группах и сообществах. https://honk.any-key.press/d/WbzPPzB12tV57TpkxK.png
- Photos - галерея изображений, упрощающая поиск, обмен и навигацию по совместной коллекции фотографий и изображений. Поддерживается ранжирование фотографий по времени, месту, тегам и частоте просмотра.
- Calendar - календарь-планировщик, позволяющий координировать проведение встреч, планировать чаты и видеоконференции. Предоставляется интеграция с инструментами групповой работы на базе iOS, Android, macOS, Windows, Linux, Outlook и Thunderbird. Поддерживается загрузка событий с внешних ресурсов, работающих с протоколом WebCal.
- Mail - совместная адресная книга и web-интерфейс для работы с электронной почтой. Возможна привязка нескольких учётных записей к одному inbox. Поддерживается шифрование писем и прикрепление цифровых подписей на базе OpenPGP. Возможна синхронизация адресной книги при помощи CalDAV. https://honk.any-key.press/d/XMpFPX275LP82xWcJN.png
- Talk - система обмена сообщениями и проведения web-конференций (чат, аудио и видео). Имеется поддержка групп, возможность предоставления доступа к содержимому экрана и поддержка SIP-шлюзов для интеграции с обычной телефонией. https://honk.any-key.press/d/Cz4zd431pL5H2vsqby.png
- Nextcloud Backup - решение для децентрализованного хранения резервных копий.
- Nextcloud AI Assistant - интеллектуальный помощник в стиле ChatGPT, устанавливаемый на своём сервере и не требующий обращения к внешним сервисам. AI Assistant может использоваться для генерации текста по запросу на естественном языке, выделения основных идей из больших описаний, придумывания заголовков, переписывания текста другими словами или перевода на другой язык.




Ключевые новшества Nextcloud Hub 9:

- Проведена работа по модернизации оформления, затронувшая все компоненты платформы и приложения. Многие элементы, среди которых поля ввода, кнопки и ссылки, сделаны более компактными и занимающими меньше места на экране. В новом интерфейсе использовано закругление углов в кнопках и полях. Повышена эффективность использования экранного пространства. https://honk.any-key.press/d/TB24SWkHNGB82NkCyS.pnghttps://honk.any-key.press/d/PhS83759YS3KJ461sq.png
- Добавлена поддержка динамических фоновых изображений, подстраивающихся под параметры цветов в тёмных или светлых темах оформления. https://honk.any-key.press/d/VjGttwBZLDJyN41Kp1.png
- Представлено новое приложение Nextcloud Flow, предоставляющее интерфейс для разработки, управления и отслеживания рабочих процессов, создаваемых для автоматизации выполнения повторяющихся задач и объединяющих в себе приложения Nextcloud и связанные с ними ресурсы. Приложение базируется на движке автоматизации процессов Windmill, позволяющем, выстраивать цепочки действий. Например, можно извлечь данные из прикреплённого к письму PDF-файла и выполнить с ними такие операции, как обработка платежа, сохранение в таблице, отправка уведомления пользователю или создание и отправка по email нового PDF-документа. https://honk.any-key.press/d/76Q239K96qwqYs7yB9.png
- Добавлено приложение Nextcloud Whiteboard, позволяющее совместно создавать рисунки, наброски, заметки, планы и скетчи, параллельно проводя обсуждения и мозговые штурмы в Nextcloud Talk. https://honk.any-key.press/d/yCX5Jr62zYGFclt8xv.png
- Расширены возможности построения федеративной сети, охватывающей пользователей с других серверов Nextcloud. Помимо обмена файлами и чатов, поддержка федеративной сети добавлена в видеовызовы. Пользователь теперь может подключиться не только к групповым чатам на других серверах, используя облачных идентификатор (Federated Cloud ID), но и к аудио- и видеоконференциям. Работа осуществляется по аналогии с участием в конференции на своём сервере, используя собственную учётную запись. https://honk.any-key.press/d/RBfl1BxPz1R7Xh6rz7.png
- Фронтэнд переведён на использование инструментария Vite, позволившего значительно снизить размер JavaScript-приложений (в некоторых случаях до 5 раз) и ускорить их загрузку.
- Приложение Nextcloud Text переведено на новый высокопроизводительный бэкенд, написанный на языке Rust и ранее уже применяемый в приложении Nextcloud Files. Переход позволил заметно снизить нагрузку на сервер, ускорить отрисовку операций редактирования и повысить эффективность синхронизации при совместном редактировании.
- Внесены изменения в серверные компоненты, позволившие снизить нагрузку на CPU, сократить потребление памяти и ускорить проведение обновления.
- Продолжено развитие возможности для разделения больших БД Nextcloud на несколько более мелких экземпляров, обрабатываемых на разных серверах для распределения нагрузки.
- В дополнение к возможности применения синхронной репликации на нескольких серверах, ограниченной лимитом в 4 сервера, в новой версии добавлена поддержка подключения неограниченного числа узлов в режиме только для чтения, реплицируемых в асинхронном режиме.
- В интеллектуальный помощник Nextcloud AI Assistant добавлена возможность взаимодействия в форме чата и поддержка перевода текста для различных языков. https://honk.any-key.press/d/LKcJQ7GRl34B6r3qT7.png
- В Nextcloud Files добавлен мастер для запроса файлов у других пользователей. Реализована возможность фильтрации вывода файлов по типу, времени изменения и владельцу. Добавлен древовидный режим просмотра содержимого каталогов. https://honk.any-key.press/d/k28N8y13TjvR164t5v.png
- В Nextcloud Mail встроены инструменты для определения фишинга, реализована возможность сквозного шифрования при помощи Mailvelope и расширены средства фильтрации результатов поиска. https://honk.any-key.press/d/7tcvbh23h552R6Q4h5.png
- В Nextcloud Talk добавлена возможность совершения вызовов в виртуальном окружении, используя гарнитуру смешанной реальности Apple Vision Pro. Реализована поддержка бана нарушителей. В версии для Android появилась поддержка просмотра истории переписки при нахождении в offline-режиме. https://honk.any-key.press/d/44C9kYg131z6T7b27H.jpg
- В Nextcloud Office упрощено заполнение форм и добавлена поддержка шаблонов PDF-документов с формами. Данные, полученные через формы в документах, среди прочего можно использовать для построения диаграмм. https://honk.any-key.press/d/CGFP2q2F1q96xD2hX9.png



Источник: https://www.opennet.ru/opennews/art.shtml?num=61865

Выпуск Nextcloud Hub 9, платформы для организации совместной работы

Представлен выпуск платформы Nextcloud Hub 9, предоставляющей самодостаточное решение для организации совместной работы сотрудников предприятий и команд, развивающих различные проекты. Одновременно опубликована лежащая в основе Nextcloud Hub облачная платформа Nextcloud 30, позволяющая развернуть облачное хранилище с поддержкой синхронизации и обмена данными, предоставляющее возможность просмотра и редактирования данных с любого...
opennet

Выпуск проекта FPDoom 1.20240914, развивающего порты Doom-подобных игр для кнопочных телефонов

Продолжается развитие проекта FPDoom, позволяющего запускать классический Doom, дополнения к нему и другие похожие игры на распространённом на дешёвых кнопочных телефонах чипе Spreadtrum SC6531 и его модификациях. Чипсету уже около десяти лет, и телефоны выпускаются до сих пор. Новые достижения проекта:

- Протестировано на 42 устройствах.
- Реализована возможность запуска игр с SD-карты, для этого нужно при включении/перезагрузке телефона зажать определённую клавишу (разные для разных моделей). Для загрузки с SD-карты требуется добавление небольшой секции размером 4КБ в прошивку телефона. ОС телефона остаётся работоспособной.
- Сделано меню для выбора игр при загрузке с SD-карты.
- Добавлен порт эмулятора InfoNES (далеко не лучший эмулятор, но простой для портирования, работает ~50% игр).
- Добавлен порт игры Wolfenstein 3D.



<iframe src="https://www.youtube.com/embed/U1DmA8eQpz8?si=tAZeV1N_r4NyTzPS">

Источник: https://www.opennet.ru/opennews/art.shtml?num=61861

Выпуск проекта FPDoom 1.20240914, развивающего порты Doom-подобных игр для кнопочных телефонов

Продолжается развитие проекта FPDoom, позволяющего запускать классический Doom, дополнения к нему и другие похожие игры на распространённом на дешёвых кнопочных телефонах чипе Spreadtrum SC6531 и его модификациях. Чипсету уже около десяти лет, и телефоны выпускаются до сих пор. Новые достижения проекта:
opennet

Пятый бета-выпуск операционной системы Haiku R1

После полутора лет разработки опубликован пятый бета-выпуск операционной системы Haiku R1. Изначально проект был создан как реакция на закрытие ОС BeOS и развивался под именем OpenBeOS, но был переименован в 2004 году из-за претензий, связанных с использованием в названии торговой марки BeOS. Для оценки работы нового выпуска подготовлено несколько загрузочных Live-образов (x86, x86-64 1.4 ГБ). Исходные тексты большей части ОС Haiku распространяются под свободной лицензией MIT, исключение составляют некоторые библиотеки, медиа-кодеки и компоненты, заимствованные из других проектов.

ОС Haiku ориентирована на персональные компьютеры, использует собственное ядро, построенное на основе модульной архитектуры, оптимизированное для высокой отзывчивости на действия пользователя и эффективного выполнения многопоточных приложений. Для разработчиков представлен объектно-ориентированный API. Система напрямую базируется на технологиях BeOS 5 и нацелена на бинарную совместимость с приложениями для данной ОС. Минимальное требование к оборудованию: CPU Pentium II или AMD Athlon и 384 МБ ОЗУ (рекомендовано Intel Core i3 или AMD Phenom II и 2 ГБ ОЗУ).

В качестве файловой системы используется OpenBFS, поддерживающая расширенные атрибуты файлов, журналирование, 64-разрядные указатели, поддержку хранения мета-тэгов (для каждого файла можно сохранить атрибуты в форме ключ=значение, что делает ФС похожей на БД) и специальных индексов для ускорения выборки по ним. Для организации структуры директорий используются "B+ tree" деревья. Из кода BeOS в состав Haiku включён файловый менеджер Tracker и панель Deskbar, исходные тексты которых были открыты после ухода BeOS со сцены.

Основные новшества:

- В настройках внешнего вида упрощён интерфейс выбора цветов. Вместо 30 параметров по умолчанию теперь показывается три (фон панели, цвет статусной строки и цвет вкладок), а остальные вычисляются автоматически относительно выбранных трёх значений. При автоматическом выборе цвета учитывается выбор тёмной или светлой темы оформления (например, при активной тёмной теме выбираются светлые цвета для текста). Для возвращения показа полного набора всех параметров для ручного редактирования предусмотрена отдельная опция. https://honk.any-key.press/d/6DHqQ1Y5t3k1Q7Y1z3.png
- Внесена большая порция исправлений, нацеленный на улучшение поддержки работы при выборе тёмной темы оформления. https://honk.any-key.press/d/4Y811XK8xjbJ1M338x.png
- В редакторе пиктограмм Icon-O-Matic добавлена поддержка преобразования перспективы и показа эталонного изображения в качестве фона (для повторения контуров в пиктограмме). Значительно улучшены функции копирования и вставки. https://honk.any-key.press/d/2PY9y1KR3bp3K5P7bN.png
- При первом запуске, если определено наличие в системе аккумуляторов, обеспечена автоматическая установка в панель апплета PowerStatus, показывающего состояние заряда и параметры аккумулятора. Повышена точность информации об уровне заряда. Для информирования пользователя о низком уровне заряда добавлены звуковой сигнал и уведомление. https://honk.any-key.press/d/3Y7w92hwB7yXQqS1FN.png
- В файловом менеджере Tracker улучшена работа с каталогами и дисковыми разделами, доступными в режиме только для чтения, которые теперь наглядно выделяются более тёмным фоном (данный фон ранее использовался для виртуальных каталогов). Для доступных только для чтения элементов ФС также отключаются элементы меню, требующие доступа на запись. https://honk.any-key.press/d/K7LLs38Q9gV2R4NJT2.png
- Продолжено развитие портов сторонних приложений. Со времени прошлого выпуска портированы новые программы KDE, расширено число поддерживаемых GTK-программ, добавлен порт с отладчиком GDB 15 (ранее поставлялся GDB 6) и реализован экспериментальный порт платформы .NET Core 9. https://honk.any-key.press/d/Qhd9HcBpt7sKV9v5ZH.png
- Улучшена работа прослойки для обеспечения совместимости с X11/Xlib. Предоставлена возможность использования графического тулкита FLTK (из ограничений отмечается отсутствие поддержки функций, связанных с OpenGL). https://honk.any-key.press/d/814kKWL8N8tYYjs7h8.png
- Добавлена поддержка звуковых устройств с интерфейсом USB (автоматическое переключение вывода звука при подсоединении USB-устройства пока не работает, поэтому для переключения требуется перезапуск системных мультимедийных сервисов).
- Добавлен драйвер для сетевых интерфейсов TUN/TAP, который можно использовать для создания сетевых туннелей и организации работы VPN.
- В TCP-стек внесены оптимизации, заметно повысившие пропускную способность (производительность TCP-соединений возросла в 8-10 раз, а пропускная способность loopback-интерфейса (localhost) возросла на несколько порядков). Улучшено ведение счётчиков для накопления статистики. Сокращено число операций копирования буферов. Добавлена возможность выноса операций расчёта контрольных сумм пакетов на сторону сетевых карт.
- Расширены возможности эмулятора терминала, в котором добавлена поддержка экранированной вставки из буфера обмена на случай использования в переносимом тексте разрывов строк и спецсимволов. В настройки добавлена возможность изменения цветовой схемы.
- Проведён рефакторинг слоя TTY/PTY, унифицирован код TTY и PTY, добавлена поддержка расширений TTY, таких как TIOCOUTQ.
- Проведена оптимизация производительности ядра и драйверов, добавлена возможность пакетного выполнения операций ввода/вывода, оптимизировано использование блокировок при запуске программ, повышена эффективность маппинга файлов в память, снижена конкуренция между блокировками при маппинге страниц памяти, повышена производительность выделения временных буферов, добавлены оптимизации в систему ввода/вывода, в загрузчик исполняемых файлов в формате ELF добавлена поддержка DT_GNU_HASH.
- Переработана архитектура механизма блокировок user_mutex, близкого по своим возможностям к системе futex в Linux и используемого для реализации вызовов pthread_mutex и pthread_rwlock. Новая архитектура позволила решить ранее возникавшие проблемы с состоянием гонки и поднять производительность (например, скорость компиляции возросла на 25%).
- Драйвер для файловой системы FAT заменён на новый вариант, портированный из FreeBSD. Замена драйвера позволила решить проблемы с совместимостью с другими реализациями FAT.
- Добавлен драйвер для файловой системы UFS2 (Unix File System 2), используемой во FreeBSD. Драйвер пока работает только в режиме чтения.
- Реализована часть API мультиплексирования ввода-вывода kqueue.
- Расширены возможности трассировки и профилирования процессов при помощи утилит strace и profile
- Улучшена совместимость со спецификациями POSIX. Реализованы функции getentropy, arc4random, pthread_sigqueue, preadv и pwritev, а также добавлена поддержка Unix-сокетов (AF_UNIX) SOCK_DGRAM.
- Проведена большая работа по повышению стабильности работы всей системы. Устранены многие проблемы, приводившие к аварийным завершениям и сбоям в работе ядра и драйверов.



Источник: https://www.opennet.ru/opennews/art.shtml?num=61860

Пятый бета-выпуск операционной системы Haiku R1

После полутора лет разработки опубликован пятый бета-выпуск операционной системы Haiku R1. Изначально проект был создан как реакция на закрытие ОС BeOS и развивался под именем OpenBeOS, но был переименован в 2004 году из-за претензий, связанных с использованием в названии торговой марки BeOS. Для оценки работы нового выпуска
Наверх