Дорогие хабравчане и все участники русского сообщества, кто следит за проектом ReactOS!
Представляю вам свой перевод вчерашней новости с официального сайта о выпуске новой версии.
Здравствуйте, дорогие друзья!
29 августа, после полутора лет разработки, проект ReactOS представил новый релиз системы и в данной статье мы рассмотрим его новшества.
Из основных нововведений можно выделить следующие:
новый графический установщик;
универсальный образ загрузочного CD и LiveCD;
улучшения в работе с видео, аудио, сетью и хранилищем;
новый тип установки;
а также синхронизация кода сторонних разработчиков.
Графический установщик и загрузочный CD «все в одном».
Исторически так сложилось, что ReactOS предлагал для загрузки два образа: LiveCD, позволяющий протестировать ReactOS в режиме только для чтения, и BootCD, позволяющий установить ReactOS на жесткий диск с помощью текстового установщика. Благодаря усилиям разработчика Гермеса Белуски (Hermès Bélusca‑Maïto), ReactOS 0.4.16 получил новый графический установщик и комбинированный загрузочный CD и LiveCD. Теперь вы можете протестировать и установить ReactOS, используя один и тот же образ.



Видео
В ходе разработки версии 0.4.15 основной разработчик Эрве Пуссино (Hervé Poussineau, hpoussin) заложил основу для поддержки нескольких мониторов и переключения на VGA‑драйвер, если драйверы дисплея не загружаются. Эта основа позволила разработчикам продолжить работу над улучшением совместимости видеодрайверов в версии 0.4.16.
На протяжении многих лет ReactOS страдает от различных проблем, связанных с драйверами видеокарт от всех основных производителей. В частности, графические процессоры Nvidia страдали от проблемы замедления работы, которую исследовали многие талантливые разработчики и специалисты. В конце концов, Джастин Миллер (Justin Miller, The_DarkFire_) понял, что ядро испытывает нехватку записей в таблице страниц системы (PTE) при загрузке драйверов сторонних разработчиков.
Это ограничение наиболее очевидно в случае с графическими драйверами, которые выделяют больше памяти, чем большинство других драйверов. Джастин изменил схему размещения памяти, используемую нашим менеджером памяти, чтобы увеличить количество системных таблиц записи (PTE). Это исправило трудно поддающуюся отладке ошибку, приводящую к замедлению работы видеокарт Nvidia.
При использовании видеодрайверов AMD окно OpenGL оставалось пустым. Эта проблема была решена путем переписывания ExtEscape, вдохновлённый патчем от покойного основного разработчика Джеймса Табора (James Tabor, jimtabor), который скончался в 2023 году.
Эти улучшения повысили стабильность, улучшили управление ресурсами новых устройств и исправили множество ошибок, возникающих в нашем драйвереwin32k.sys. Мы благодарим наших участников сообщества и разработчиков за уделенное время, поскольку для внесения этих исправлений потребовалось невероятное количество исследований.
Аудио
До версии 0.4.16 поддержка звука высокой четкости (HD‑аудио) в ReactOS была неполной. Драйверы HD‑аудио зависят от драйвера шины (hdaudbus.sys), включая драйверы от AMD, IDT, Nvidia, Realtek и SigmaTel. Наша первоначальная реализация была написана давным‑давно Йоханнесом Андервальдом (Johannes Anderwald, janderwald). Эта реализация так и не была завершена и часто вызывала ошибки при попытке установить драйверы контроллера HD Audio. Основной разработчик Олег Дубинский импортировал sklhdaudbus, новый драйвер для шины HD‑аудио, взамен нашей старой реализации.
Контроллеры HD‑аудио, совместимые с Windows XP и Windows Server 2003, теперь должны работать в ReactOS 0.4.16. Вот видео, демонстрирующее работу аудиоконтроллера Realtek HD на ReactOS 0.4.16:
Новый драйвер шины HD Audio зависит от Kernel Mode Driver Framework (KMDF). Компания Microsoft открыла исходный код KMDF в рамках репозитория Windows‑Driver‑Frameworks. Джастин импортировал KMDF для нового драйвера шины HD Audio, и теперь мы можем использовать KMDF для импорта или разработки других драйверов.
Олег также исправил ползунки громкости и баланса в свойствах звука (mmsys.cpl) и микшер громкости звука (sndvol32.exe). Теперь уровни громкости и баланса сохраняются и восстанавливаются при перезагрузке при использовании аудиокодека HD. Кроме того, Олег обновил код перечисления аудиоустройств для поддержки большего количества звуковых карт. Так же, Олег улучшил бинарную совместимость со стеком аудио Windows благодаря некоторым исправлениям, которые он внес в наш стек Plug and Play (PnP) и SetupAPI.
Хранилище
Начиная с 2009 года, ReactOS использует драйвер хранилища UniATA для реализации поддержки SATA, AHCI и разделов размером более 8 ГБ. В свое время, это очень помогло ReactOS, но сегодня UniATA является причиной медленной загрузки и сбоев при загрузке на многих устройствах, что приводит к печально известной ошибке INACCESSIBLE_BOOT_DEVICE( 0x7B).
В ReactOS 0.4.16 представлен новый драйвер ATA, разработанный участником проекта Дмитрием Борисовым (disean). Этот новый драйвер ATA позволяет ReactOS загружаться в гораздо большем количестве сред, в том числе внутри Hyper‑V первого поколения.
В 2021 году мы импортировали и активировали драйвер Microsoft FastFAT с открытым исходным кодом. К сожалению, это нарушило нашу возможность восстанавливать разделы FAT с помощью chkdsk. Основной разработчик Дуг Лайонс (Doug Lyons, Doug‑Lyons) исправил наши процедуры проверки файловой системы FAT с помощью chkdsk, чтобы они работали с драйвером Microsoft FastFAT.
Основной разработчик Марк Янсен (Mark Jansen, learn‑more) добавил утилиту для очистки диска в ReactOS 0.4.16. Утилита очистки диска совместима с расширениями для утилиты очистки диска Windows, что позволяет сторонним программам очищать не только операционную систему, но и использование дискового пространства.


Сеть
В ходе разработки ReactOS 0.4.15 Дмитрий представил новый драйвер сетевого адаптера DC21×4 для улучшения совместимости с оборудованием. Этот драйвер используется на устройствах с сетевыми адаптерами на базе DECchip 21×4, а также в виртуальных машинах у Microsoft Virtual PC 2007 и Hyper‑V первого поколения. Теперь ReactOS 0.4.16 может загружаться и получать доступ к интернету на обоих эмуляторах.
В ReactOS 0.4.16 также добавлена поддержка асинхронного соединения. Это повышает производительность сети, позволяя приложениям выполнять сетевые операции без задержек. Это также улучшает совместимость приложений, поскольку многие программы предполагают, что эти асинхронные API‑интерфейсы для подключения всегда доступны.
ReactOS Server Core
ReactOS поддерживает два типа установки: рабочая станция и сервер. В установке для рабочих станций по умолчанию включены более сложные графические параметры по сравнению с установкой для серверов. Кроме того, в настоящее время папки пользователей в параметре для рабочих станций находятся в папке «Мои документы», хотя в Windows Vista и более новых версиях эти папки были перемещены из папки «Документы» как в параметрах для серверов, так и для рабочих станций.
Заинтересовавшись более широким использованием ReactOS в серверных и встроенных средах, разработчик Карл Бялоруцки (Carl Bialorucki, cbialorucki) добавил тип установки Server Core. Этот тип установки отключает графическую оболочку проводника, но в остальном загружает полную подсистему Win32. ReactOS Server Core работает аналогично Windows Server Core, который был представлен в Windows Server 2008.



Синхронизация кода со сторонними проектами
В своей кодовой базе ReactOS использует несколько других проектов с открытым исходным кодом. Один из крупнейших таких проектов — это Wine, переработанная версия нескольких API Windows для Unix‑подобных операционных систем. ReactOS использует форк Wine, который взаимодействует напрямую с ядром, подобным Windows, вместо того, чтобы преобразовывать вызовы в ядро, подобное Unix.
В течение многих лет ReactOS был ограничен версиями Wine 2.x и 3.x из‑за проблем с совместимостью, связанных с использованием API, более новых, чем те, что были доступны в Windows Server 2003. Ближе к концу цикла разработки версии 0.4.15 мы отказались от строгого соблюдения совместимости с Windows Server 2003, что позволило нам постепенно обновить нашу версию Wine до Wine 10.0. Работа над этим обновлением еще не завершена, но значительная часть этой работы уже включена в версию 0.4.16. Мы ожидаем, что благодаря этим усилиям по обновлению до Wine 10.0 обновление до этой версии станет значительно проще.
В настоящее время образ ReactOS по‑прежнему скомпилирован только с экспортом для Windows Server 2003, поскольку существует несколько программ, которые ожидают наличия всех экспортируемых компонентов Windows Vista и более новых версий, даже если доступны лишь некоторые из них. Если вы хотите поэкспериментировать с поддержкой приложений в Windows Vista и более новых версиях, соберите ReactOS, используя при сборке флаг-DDLL_EXPORT_VERSION.
Впервые в образы релизов ReactOS будет включен WineVDM, что повышает совместимость с 16-битными приложениями Windows. WineVDM — это проект пользователя otya128, доступный здесь.
Заключительные мысли
Миссия ReactOS — «запускать ваши любимые приложения и драйверы Windows в среде с открытым исходным кодом, которой вы можете доверять». С каждым релизом мы приближаемся к достижению этой цели. Мы с нетерпением ждём возможности поделиться с вами дальнейшими новостями и достижениями.
Мы выражаем глубочайшую благодарность нашему сообществу, спонсорам и жертвователям. Без помощи участников нашего сообщества мы не смогли бы добиться такого прогресса в разработке. Без поддержки наших жертвователей мы не смогли бы финансировать инфраструктуру для тестирования и размещения программного обеспечения, а также контракты на разработку, необходимые для ускорения прогресса. А без нашего сообщества никто бы и не узнал о нашем существовании. Спасибо за то, что сделали ReactOS возможным!
Если вы заинтересованы в присоединении к нашему сообществу, участии в проекте ReactOS или пожертвованиях, посетите нашу главную страницу, где вы найдете страницу для пожертвований, ссылки на социальные сети и наш GitHub.
Искренне,
Команда ReactOS
Статистика
Решено задач в Jira: 381
Коммитов: 2808
Самая старая решенная задача в Jira: CORE-3804 от 3 февраля 2009 г.
Ветка releases/0.4.16 была создана путем форка из основной ветки 28 апреля 2026 года после коммита bac97c5.
mikhail_roslov
Без иронии, интересно, кто на сегодня целевые пользователи ReactOS?
x86corez
Тестировщики, те у кого есть возможность проверять и отлаживать.
413x
Какие могут быть пользователи к проекта, который в разработке? Пока пользователи чисто те, кто любит ковырятся в железе, в перспективе все те, кого не устраивает сегодняшнее развитие Windows. В последнее время у ReactOS большие успехи и похоже не за горами уже момент когда ReactOS сможет заменить Windows.
mikhail_roslov
проект в разработке недавно отметил 30 лет судя по дайджесту на официальном сайте, есть немного сомнения, что не за горами...
n0isy
LLM допилят теперь. Не хуже мастдая получится /s
413x
30 лет говорят о том, что пройден большой путь, а последние новости по проекту говорят что происходят поворотные моменты, клон виндовс штука сложная
alexs89
Разве все, кого не устраивает развитие Windows, ещё не перешли на Linux? Ничего не имею против разработчика ReactOS, но им придётся всегда быть на позиции догоняющих, пытаясь воспроизвести работу Windows. Сомневаюсь, что этот проект когда-нибудь станет массовым.
mSnus
Для большинства перечисленных есть Linux + Wine + VM
Разве что какие-то драйвера может где-то когда-то встанет, где не встают в ВМ.