Еще один год из жизни ReactOS

Здравствуйте, дорогие друзья!

Вот и заканчивается 2023 год. В этой статье я хочу продолжить начатую в 2021 году традицию вспоминать наиболее важные события из жизни ReactOS за год. В 2021 году публикация была в блоге проекта, а в 2022 году, из-за неактивности официального профиля, мне пришлось опубликовать статью в своем профиле. Но то, что статьи не появляются на Хабре, не значит что система мертва. Медленно, но верно, в ReactOS реализуются разные фичи и исправляются баги. И в данной статье мы рассмотрим что произошло в жизни системы в 2023 году.

События

CLT2023

ReactOS приняла участие в CLT2023. Вот несколько фотографий со стенда проекта, предоставленных @EmuandCo:

10dcd9db226c9524ca1593f19074802f.jpg5d2cddb28818c5686878748fdcdb1dc9.jpg65dc5c33cfd38141a8ce409a0f572541.jpg4b2fb8d60acbc5d1b39ba3e35ed7e718.jpg

Функции

«Выполнить» из адресной строки

3ecee168b61f13e811450f031297da18.jpg

В 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.

27fb1a9da35f927cfa8aab4303cde5bd.jpg

Поддержка новых системных звуков

В мае 2023 года участник сообщества под ником @TAN-Gaming реализовал в ReactOS поддержку новых звуковых уведомлений.

Аппаратное ускорение у DirectX

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

И вот, участники сообщества тестируют данную наработку (правда, пока в виртуалке).

Панель задач запоминает положение

508224025ef5426c613b055b65061c19.jpg

Благодаря закрытому пулл-реквесту и последующему коммиту в начале июля 2023 г. от участника сообщества @cbialorucki ReactOS запоминает положение панели задач и ее закрепление даже после перезагрузки.

Дописывание GUI-интерфейса первого этапа установки системы

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

cdb8d5d98b3e8e8bf25c47d0e1678030.jpg

Доступен опытный образ с наработками (от 19 декабря 2023 г.).

Перевод первого отчета о работе разработчика доступен в нашем vk-сообществе.

Windows 7-подобная панель задач

Благодаря участнику сообщества @cbialorucki в ReactOS были реализованы большие значки на панели задач, что делает ее похожей на панель Windows 7.

Параметры переключаются в настройках панели задач.

Группировка значков пока не реализована.

2eaf2a9f8ddfe5334b628105d9e6cba4.png60f78f1c3d5111e1c7f5e5cef3c8bfb6.png

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

1c53b1536deeefeb421327712da926b7.jpg

В проводнике ReactOS добавили функции настройки отображения полного пути в заголовке и адресной строке. Теперь можно либо скрыть полный путь в адресной строке (отображая только текущий каталог) либо напротив, показать полный путь в заголовке вместо текущего каталога.

Загрузка с NTFS

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

Аварийное завершение работы

5dcca9d782d70a37de04f69b27006f34.jpg

В Windows Server 2003 есть функция аварийного завершения работы/выхода из системы. Она запускается из Диалогового окна безопасности Ctrl-Alt-Del, при удержании клавиши CTRL и выборе параметра «Завершение работы»/«Завершение сеанса». При выборе аварийного завершения работы/сеанса компьютер перезагружается/завершает сеанс немедленно, без каких-либо попыток сохранить пользовательские данные.

Такая функция была реализована в компоненте Winlogon в ReactOS в конце августа 2023 г.

Исправление и проверка реестра

19 ноября 2023 года в основную ветку были объединены наработки нашего разработчика Джорджа Бисока, по исправлению и проверке реестра. Это важная веха на пути к повышению стабильности ReactOS и движения в сторону беты.

Принудительное выключение ReactOS (после зависания, BSoD или перезагрузки виртуальной машины) при следующей перезагрузке, могло привести к BSoD или непроходимому экрану входа в систему (Ctrl-Alt-Del). Данная проблема возникала из-за повреждения реестра, поскольку проверка и исправление реестра не были реализованы.

Теперь большинство этих случаев теперь станут историей!

Драйвера сетевых карт для виртуальных машин от MS

В октябре 2023 г. в ReactOS был добавлен драйвер для сетевых карт серии 21×40 написанный @disean.

В аппаратном исполнении такую карту уже довольно сложно найти, но знаменита она тем, что используется в качестве эмулируемого сетевого адаптера в виртуальных машинах Connectix / Microsoft VirtualPC / HyperV.

Теперь драйвер не нужно искать и скачивать, он установится сам, полностью автоматически!

Вот скриншот, демонстрирующий это:

75158d2a04110116504d079d956c4c44.jpg

ARM

Хотя работы над ARM в ReactOS идут не так уж активно, есть некоторые подвижки.

Загрузчик ReactOS ARM на реальном оборудовании

06706dd5f0c87e1dc9ba7b4d24dbda85.jpg

Участникам сообщества получилось запустить FreeLoader (загрузчик ReactOS) на Lumia 950XL.

Приложения ReactOS портированные на ARM64 и запущенные на планшете с Windows 10

Несмотря на то, что на ARM еще не портированы многие системные компоненты и драйвера, пользовательские приложения компилируются для ARM и работают в Windows для данной архитектуры.

539efd519e27c343417007796131df8d.jpg

Серверы

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!

Это довольно быстро для клиента, но на сервере обновление интерфейса происходит медленно.

a861f11eebcc2c661ccc4ba712b24184.jpg

16 виртуальных машин с ReactOS с Minecraft-серверами

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

Поддержка архитектуры x64

Участники сообщества продолжают тестировать сборки ReactOS для x64 архитектуры. И несмотря на то, что WOW64 в системе пока нет, список приложений, которые уже можно проверить в работе, весьма велик.

NewMoon

0633716ab29de52a4daca8a495d81733.jpg

SumatraPDF

a736709c3a3aef3a973b16676ef3ab34.jpg

PeaZip

7c85615f3658877316af5ef74298cba3.jpg

Putty

26fd80b31d7ec2654792864b612ce0d0.jpg

Notepad++

f833d430a23a87f3b320ff48992e5639.jpg

Emule

00d406beaa341425c8b6ee628d2fb88a.jpg

Firefox

7fdc4ebdc7e60f5321da24f606626f7a.jpg

Gimp 2.8

47a9a8a3857652139ea7737cb5f0a5db.jpg

ClassicCube 1.3.x

Тесты сообщества

Longhorn Aero в ReactOS

c3f3cb85a62f884ac36a14cf39330c26.jpg

Участник 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.

152bab5abf40ffec7b9f9bcef84c4315.jpg

Тестирование на реальном железе

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

Xbox

SteamDeck

Результат теста от @The_DarkFire:

ReactOS на Steam deck.

effe7ff2b8bd5c9df66d3716d370ff75.jpg

Как пишет автор теста:

Благодаря прогрессу в разработке 64-битного порта и некоторым работам по UEFI, мы теперь можем загружать ReactOS на разном современном странном оборудовании.

Вот Steam deck под управлением ReactOS!

Очень минимален и, к сожалению, не имеет эмуляции PS/2. Но это первый звук нашего будущего!

Старенький ПК

d3acd9ff02324b058439440dfea02935.jpg

ReactOS на ПК с процессором Intel Pentium II 233 MMX и 64 МБ ОЗУ. Загружается за 5 минут.

Тесты NTVDM

Участник сообщества @simonelombardo провел тесты с NTVDM в ReactOS.

55debf66642a7d8dd30ef5539bc37ea7.jpg6f32d0beea6b3be951331608500a0b4f.jpgfb5ccd2b642b49446b21cdcc651474b7.jpgf72d81074861a614a790fefbf16feb3d.jpg77cdcb274fcee7ce0e13e4c43eaed5b4.jpg

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

147b4076ca0efabe918a3064c9565636.jpg

ПО на x86

Chromium

ef348c59fef8f25510d492a86f0f6c9f.jpg

После масштабной работы с подсистемой безопасности в ядре с 2021 года (Chromium очень много работает с токенами безопасности), благодаря нашему разработчику Джорджу Бисоку, в ReactOS работает Chromium 49 (скомпилированный для Windows XP/Server 2003)!

Но, требуется параметр »--no-sandbox», и залипает мышь. И то, и другое — наши ошибки недоработки. Тест провел: reactosfanboy

Сборки Chromium под XP — https://github.com/Alex313031/chromium-xp/releases

Adobe Photoshop 7

f85e18574f00b88f5ab4279170d5ad9f.jpg

WinRAR 5.6

92f498eff3bf547ecbd807eb88292300.jpg

Bryce 4

30e1b3885b7554977728e89cc570061f.jpg291ad71701e05da85d504e0795454ec0.jpgf0182d1e52fe198db5c975afecb9aba3.jpg2946b4d283fe6ff0a17609efe3af2110.jpg

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

LMMS 1.2

926cbc04e9e7ab739414f876aa563a10.jpg

SoftMaker FreeOffice

0bf4ce0fd0a47969486e35c47501706b.jpg

Timeline Maker Pro

434808dedf5c63556405c71d0c7f7c36.jpg

Timeline Maker Pro — инструмент визуального анализа с временным критерием и инструмент презентации. Программа создаёт диаграммы из заданных тем для построения разнообразных графиков для печати, распространения и презентации.

Игры на x86

Quake 2, 3 и Nerf Arena

Serious Sam Alpha и Half-Life

SubwaySurf

Icy Tower

c4d8a4803858121857fc9d6642568e00.jpg

Гарри Поттер и Философский камень

Avatar The Last Airbender — The Path of Zuko

418f02650c7d6d31626e00507137f6f2.jpg

Samurai II — Vengeance

2a5e6b5c0aa75fd90ac8dec4b525c636.jpg

UFO: Alien Invasion

9b7ee0b6d332176ace1e8cddae01c5fb.jpg

The Simpsons

Pro Evolution Soccer 2013

9f6dba09a082ec65d699148e403656c9.jpg

Rayman Origins Demo

MarbleBlast Ultra

WorldOfWarcraft

MageKnight Apocalypse

FNAF

1697e1a2cafa58151fe4b31169222270.jpg73dc27fe9aff76f71b31f2ca18d503f9.jpg248c10cc238e8736b4fa1d82ba167f25.jpg

ExiledKingdoms

Заключение

И вот, собственно, на этом я и хочу завершить «годовой отчет» ReactOS.

Желаю вам всем успехов на работе и дома!

До новых встреч и счастливого нового года!

Ссылки

© Habrahabr.ru