Здравствуйте, дорогие друзья!
Вот и заканчивается 2023 год. В этой статье я хочу продолжить начатую в 2021 году традицию вспоминать наиболее важные события из жизни ReactOS за год. То, что статьи не появляются на Хабре, не значит что система мертва. Медленно, но верно, в ReactOS реализуются разные фичи и исправляются баги. И в данной статье мы рассмотрим что произошло в жизни системы в 2023 году.
События
CLT2023
ReactOS приняла участие в CLT2023. Вот несколько фотографий со стенда проекта, предоставленных @EmuandCo:




Функции
"Выполнить" из адресной строки

В ReactOS добавили функцию запуска приложений из адресной строки подобно пункту выполнить. Теперь Вы можете запустить приложение введя команду в адресной строке, типа calc или winver.
Повышение стабильности работы сети
В основную ветку Дугом Лайонсом было добавлено исправление в драйвер TCP/IP, позволяющее использовать 0xFFFF в качестве корректного номера порта. Это дает исправление BSoD, который ранее возникал после нескольких часов/дней использования сети.
После исправления участник @KCSoftwaresсообщает о более чем 30 днях работы в сети без сбоев!
Азиатский ввод
Наш разработчик Katayama Hirofumi MZ реализует IME (Input Method Editor) - поддержку ввода азиатских языков.
IME у ReactOS настолько совместим с Windows-стандартом, что поддерживает сторонние методы ввода. Участник сообщества @Spz2022 присылал скриншот с демонстрацией работы одного из таких IME - Sogou Wubi Input Method 2.0.

Поддержка новых системных звуков
В мае 2023 года участник сообщества под ником @TAN-Gaming реализовал в ReactOS поддержку новых звуковых уведомлений.
Аппаратное ускорение у DirectX
В конце июня в master-ветвь добавили патчи Олега Дубинского в win32k по DirectX и это значит, что теперь на реальном железе поддерживается аппаратное ускорение графики (с заменой следующих компонентов от XP/2003: ddraw.dll, d3d8.dll, d3d9.dll, dxg.sys).
И вот, участники сообщества тестируют данную наработку (правда, пока в виртуалке).
Панель задач запоминает положение

Благодаря закрытому пулл-реквесту и последующему коммиту в начале июля 2023 г. от участника сообщества @cbialorucki ReactOS запоминает положение панели задач и ее закрепление даже после перезагрузки.
Дописывание GUI-интерфейса первого этапа установки системы
Со 2 сентября 2023 года наш разработчик Hermes Belusca был нанят на 5 месяцев на завершение реализации GUI-интерфейса первого этапа установки. По завершении данного контракта должна получиться возможность установки системы из GUI-интерфейса в т.ч. с LiveCD.

Доступен опытный образ с наработками (от 19 декабря 2023 г.).
Перевод первого отчета о работе разработчика доступен в нашем vk-сообществе.
Windows 7-подобная панель задач
Благодаря участнику сообщества @cbialorucki в ReactOS были реализованы большие значки на панели задач, что делает ее похожей на панель Windows 7.
Параметры переключаются в настройках панели задач.
Группировка значков пока не реализована.


Новые функции внешнего вида папок

В проводнике ReactOS добавили функции настройки отображения полного пути в заголовке и адресной строке. Теперь можно либо скрыть полный путь в адресной строке (отображая только текущий каталог) либо напротив, показать полный путь в заголовке вместо текущего каталога.
Загрузка с NTFS
В конце августа в ReactOS был реализован загрузочный сектор NTFS, который загружает загрузчик системы - FreeLdr - из раздела NTFS. Но стабильного драйвера NTFS в ReactOS пока нет и без специальных танцев с установкой драйвера NTFS от Microsoft, копированием файлов и ручной установки загрузчика протестировать эту функцию пока не получится.
Аварийное завершение работы

В Windows Server 2003 есть функция аварийного завершения работы/выхода из системы. Она запускается из Диалогового окна безопасности Ctrl-Alt-Del, при удержании клавиши CTRL и выборе параметра «Завершение работы»/«Завершение сеанса». При выборе аварийного завершения работы/сеанса компьютер перезагружается/завершает сеанс немедленно, без каких-либо попыток сохранить пользовательские данные.
Такая функция была реализована в компоненте Winlogon в ReactOS в конце августа 2023 г.
Исправление и проверка реестра
19 ноября 2023 года в основную ветку были объединены наработки нашего разработчика Джорджа Бисока, по исправлению и проверке реестра. Это важная веха на пути к повышению стабильности ReactOS и движения в сторону беты.
Принудительное выключение ReactOS (после зависания, BSoD или перезагрузки виртуальной машины) при следующей перезагрузке, могло привести к BSoD или непроходимому экрану входа в систему (Ctrl-Alt-Del). Данная проблема возникала из-за повреждения реестра, поскольку проверка и исправление реестра не были реализованы.
Теперь большинство этих случаев теперь станут историей!
Драйвера сетевых карт для виртуальных машин от MS
В октябре 2023 г. в ReactOS был добавлен драйвер для сетевых карт серии 21x40 написанный @disean.
В аппаратном исполнении такую карту уже довольно сложно найти, но знаменита она тем, что используется в качестве эмулируемого сетевого адаптера в виртуальных машинах Connectix / Microsoft VirtualPC / HyperV.
Теперь драйвер не нужно искать и скачивать, он установится сам, полностью автоматически!
Вот скриншот, демонстрирующий это:

ARM
Хотя работы над ARM в ReactOS идут не так уж активно, есть некоторые подвижки.
Загрузчик ReactOS ARM на реальном оборудовании

Участникам сообщества получилось запустить FreeLoader (загрузчик ReactOS) на Lumia 950XL.
Приложения ReactOS портированные на ARM64 и запущенные на планшете с Windows 10
Несмотря на то, что на ARM еще не портированы многие системные компоненты и драйвера, пользовательские приложения компилируются для ARM и работают в Windows для данной архитектуры.

Серверы
Web и FTP сервера
Участник сообщества Артём Миляев запустил в ReactOS веб- и FTP- сервера.
Использовались программы:
-
Xitami 2.5c2 для запуска веб и FTP сервера
-
Wine Internet Explorer для просмотра страниц
-
FTPCommander 5.85 для просмотра FTP.
Minecraft Spigot Server
Участник сообщества @React0S запустил в системе Minecraft Spigot Server 1.16.5 на ReactOS x64 с 8 ГБ памяти, выделенной для JVM!
Это довольно быстро для клиента, но на сервере обновление интерфейса происходит медленно.

16 виртуальных машин с ReactOS с Minecraft-серверами
Участник сообщества @ThunderClapLP запустил в Proxmox 16 виртуальных машин с ReactOS, на каждой из которых был запущен сервер Minecraft.
Поддержка архитектуры x64
Участники сообщества продолжают тестировать сборки ReactOS для x64 архитектуры. И несмотря на то, что WOW64 в системе пока нет, список приложений, которые уже можно проверить в работе, весьма велик.
NewMoon

SumatraPDF

PeaZip

Putty

Notepad++

Emule

Firefox

Gimp 2.8

ClassicCube 1.3.x
Тесты сообщества
Longhorn Aero в ReactOS

Участник ReactOS-сообщества @The_DarkFireпровел интересный тест.
Благодаря замене win32ss и некоторых других файлов на файлы из Windows Longhorn 5048, а также благодаря хорошему пониманию устройства работы WDDM в аспекте пользовательского режима @The_DarkFire запустил в ReactOS Aero.
Эффекты работают на встроенном программном рендерере.
Были заменены следующие компоненты:
-
csrsrv.dll
-
d3d9
-
dxg
-
win32k
-
user32
-
winsrv
-
gdi32
-
uDWM
-
DWMAPI
-
MILCORE
Демонстрация возможностей режима совместимости
Игру CrispyDoom запустили в ReactOS x64 в режиме совместимости NT6.
Так же предоставлен скриншот с результатом запуска этой же версии CrispyDoom на Windows XP x64.

Тестирование на реальном железе
В этом году было много тестов на реальном железе, но я вам покажу наиболее экзотические.
Xbox
SteamDeck
Результат теста от @The_DarkFire:
ReactOS на Steam deck.

Как пишет автор теста:
Благодаря прогрессу в разработке 64-битного порта и некоторым работам по UEFI, мы теперь можем загружать ReactOS на разном современном странном оборудовании.
Вот Steam deck под управлением ReactOS!
Очень минимален и, к сожалению, не имеет эмуляции PS/2. Но это первый звук нашего будущего!
Старенький ПК

ReactOS на ПК с процессором Intel Pentium II 233 MMX и 64 МБ ОЗУ. Загружается за 5 минут.
Тесты NTVDM
Участник сообщества @simonelombardo провел тесты с NTVDM в ReactOS.





А участник @SigmaTel71 протестировал DynaBlaster (BomberMan):

ПО на x86
Chromium

После масштабной работы с подсистемой безопасности в ядре с 2021 года (Chromium очень много работает с токенами безопасности), благодаря нашему разработчику Джорджу Бисоку, в ReactOS работает Chromium 49 (скомпилированный для Windows XP/Server 2003)!
Но, требуется параметр «--no-sandbox», и залипает мышь. И то, и другое — наши ошибки недоработки. Тест провел: reactosfanboy
Сборки Chromium под XP - https://github.com/Alex313031/chromium-xp/releases
Adobe Photoshop 7

WinRAR 5.6

Bryce 4




Bryce - программа для 3D моделирования. Последняя версия, 7, вышла в 2010 году. Протестированная версия, 4, вышла в 1999.
LMMS 1.2

SoftMaker FreeOffice

Timeline Maker Pro

Timeline Maker Pro - инструмент визуального анализа с временным критерием и инструмент презентации. Программа создаёт диаграммы из заданных тем для построения разнообразных графиков для печати, распространения и презентации.
Игры на x86
Quake 2, 3 и Nerf Arena
Serious Sam Alpha и Half-Life
SubwaySurf
Icy Tower

Гарри Поттер и Философский камень
Avatar The Last Airbender - The Path of Zuko

Samurai II - Vengeance

UFO: Alien Invasion

The Simpsons
Pro Evolution Soccer 2013

Rayman Origins Demo
MarbleBlast Ultra
WorldOfWarcraft
MageKnight Apocalypse
FNAF



ExiledKingdoms
Заключение
И вот, собственно, на этом я и хочу завершить "годовой отчет" ReactOS.
Желаю вам всем успехов на работе и дома!
До новых встреч и счастливого нового года!
Ссылки
Автор: Ахламов Петр