ReactOS 0.4.8: Мы переманили доктора Ватсона

    Привет, Хабр! В момент разгара битвы бабла со злом, мы объявляем о выпуске очередной версии нашей операционной системы. Совпадение? Не думаем!

    В этом выпуске — поддержка новых API, возвращение доктора Ватсона, баги с фантастическими историями.



    Скачать установочные образы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий

    Итак, начнем с главного! Именно в релизе 0.4.8 впервые официально активирована экспериментальная возможность запуска приложений, написанных для платформы NT6+ (Vista, Windows 7, 8, 10). Поддержка реализована путем дальнейшего развития специальной прослойки для обеспечения совместимости и внесения дополнительных изменений в Kernel32, NTDLL и LDR, в том числе речь идет о механизме подмены корневого манифеста и маскировки доступности API. Навороченные программы вы, конечно, врядли запустите, но список поддерживаемых приложений значительно расширился!

    И еще хотим раскрыть небольшой большой секрет, что в ближайшее время (мы надеемся) проект начнет выпуск работоспособных 64–битных сборок операционной системы.

    image

    С этого момента в состав дистрибутива включён инструмент, аналогичный DrWatson32, позволяющий в случае краха приложения, сохранить файл с логом состояния на рабочий стол. В логе отражены данные, полезные для диагностики критических ошибок, например, списки загруженных модулей и потоков, трассировки стека, дампы и сведения о состоянии регистров. Это упростит тестерам отправку баг-репортов связанных с критическими сбоями приложений.

    image

    Пьером Швейцером было устранено несколько проблем в системе управления кэшем Common Cache (один из обнаруженных в процессе и устраненных багов был внесен аж 17 лет назад) и загрузчике Freeloader, что позволило вновь обеспечить загрузку на системах с 96 Mb RAM.
    Так же в системе управления кэшем Пьером была добавлена поддержка упреждающего чтения (Read Ahead) и отложенной записи (Lazy Writing).

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

    image

    В комплект базовой поставки добавлены виртуальные драйверы CD–ROM и флоппи–привода. И наконец-то устранены проблемы, которые мешали загрузке ReactOS на очень старом оборудовании и в виртуальных машинах с подключенным пустым флоппи–приводом.

    Драйвер CDFS (CD–ROM file system) был заменён на оригинальную реализацию от Microsoft, код которой был открыт под лицензией MS–PL. В ходе рецензирования произошел уникальный случай — разработчики ReactOS нашли ошибку в коде Microsoft и выслали исправление. Теперь код ReactOS будет в коде Microsoft.

    Добавлен новый драйвер NTFS с начальной поддержкой записи (поддержка записи все еще недоработана, но для тестирования может быть включена через реестр). Разработка этого драйвера была начата также Пьером Швейцером, а функционал записи создавался Тревором Томпсоном в течение двух летних сезонов GSoC 2016 и 2017 годов.

    Внесены различные улучшения оболочки Explorer — автоскрытие и блокировка панели задач, уведомления системного лотка, мониторинг иконок активных приложений в системном лотке, отлажены операции удаления и переименования папок, выделения множества файлов на рабочем столе.
    image

    Как обычно, осуществлена синхронизация с со свежей кодовой базой Wine 3.0 и обновлены версии сторонних компонентов: Freetype 2.9, Ext2 0.69, uniata v0.46e5, libxml2 2.9.7, libmpg123 1.25.8, libtiff 4.0.9, libxslt 1.1.32, libjpeg 9c, libpng 1.6.34.

    Немного скриншотов из твиттера:
    1.Оргазм перфекциониста

    2. Запуск на реальном железе

    3. Японский опыт и Otter-браузер

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

    Ждем ваших впечатлений и баг-репортов, друзья! Также не забывайте, что вы можете помочь проекту, просто поставив ему звездочку на гитхабе!
    Фонд ReactOS 227,14
    Операционная система
    Поделиться публикацией
    Похожие публикации
    Ой, у вас баннер убежал!

    Ну. И что?
    Реклама
    Комментарии 76
    • +7
      И еще хотим раскрыть небольшой большой секрет, что в ближайшее время (мы надеемся) проект начнет выпуск работоспособных 64–битных сборок операционной системы.

      Ура! Я на это ещё пару лет назад 5баксов задонатил.
      • 0
        надеюсь это всё-таки ирония
        • +6
          Нет, я на самом деле донатил им 5 баксов после того как Jeditobe отписал про донат, а я про 64 бита.
      • 0
        С этого момента в состав дистрибутива включён инструмент, аналогичный DrWatson32

        А как вы его назвали, если не секрет?

      • +8
        Эх, а для меня Холмс и Ватсон — это исключительно Ливанов и Соломин… После них все прочие выглядят чуть ли не пародиями.

        Сорри за оффтоп и поздравления с очередным релизом!
        • –4
          Какие планы по развитию дизайна системы?

          Говорю про оформление. Я понимаю, что дизайн — это все лишь обложка, и важнее суть, функционал.

          Но для неискушенного пользователя интерфейс из эпохи 2000 — это что-то сильно устаревшее. Что-то, с чем не хотелось бы связываться.

          Я к чему это. Вероятно, в современно мире глючная программа с хорошим дизайном имеет больше шансов на успех, чем безупречно рабочая программа с плохим дизайном. При условии, конечно, что глючная программа глючит, но пользоваться ею можно.

          С хорошим современным дизайном отношение к ОС, по моему мнению, может измениться с «отстающей» на «догоняющую».

          Дизайн ОС — это наверняка сложная тема, но вам не обязательно выдумывать что-то свое. Вы можете взять дизайн у Windows 10 (если правовых ограничений нет, разумеется). Это будет логичным развитием.

          Прошу без шуток про нескучные обои.
          • +7
            Material design, а-ля Win 10, вы считаете развитием дизайна?

            И да, на первых двух скриншотах в статье используется тема окон Lautus, встроенная в ReactOS.
            • +2
              Material design это стихия Android.
              • 0
                Я считаю, что продукты с хорошим дизайном продаются лучше.
              • +4
                Сейчас бы 10ку как дизайн советовать — да вы мазохист батенька…
                • –1

                  Лучше чем почти ничего

                  • +3
                    А может, наоборот?
                    • 0
                      Вот ReactOS с дизайном от Windows 10. Полегчало? :)

                      image
                      • 0
                        Отступы не те! Нету удовлетворения! :)</Перфекционист_мод>
                        Думаю, можно в самой теме попатчить отступы для кнопок «свернуть»/«развернуть»/«закрыть», благо системная.метрика была, и к ней был даже ui (вкоадка «офопмление» свойств экрана)
                        • +6
                          Вот да, ReactOS патологически не умеет в отступы, издревле. Берешь любой скриншот, а там такое:
                          Ffffffuuuu...
                        • –11
                          Ой мляааа, я только поел, зачем такую мерзость без спойлера кидать? Да и за само упоминание о 10ке приличные люди лицо бьют, больно.
                          • +1

                            А просвятите, чем плоха эта неприличная ОС(кроме известных багов/фич с апдейтами и телеметрией)?
                            И чем ее предлагается заменить(если предлагается) инженерам, некоторым ученым и прочему люду, слабо связанному с разработкой ПО?

                            • –9
                              10ка как минимум жрет дохрена, пилится для хомячков-геймеров (ощущение от новостей и рассылок именно такое) и как максимум (раз уж человек поднял тему оформления как должности нынче (и он так то прав, ибо сейчас в основном хомячки на обертку как сороки и ведутся)), то дизайн у 10ки полное и тошнотворное говно, могли б практически идеальное аэро допилить логически — я 7й шЫндой на планшете на раз пользуюсь прекрасно. Материал изначально убог — при нынешних то граф.мощностях, а то логика: слабые видяхи и достаточно увесистое аэро, но красивое и удобное и мощные видяхи с еще более прожорливым интерфейсом, но при этом гадким и непонятно вообще, чего оно с однотонными квадратиками столько жрет. Я для себя вообще на линукс переехал, ибо ХР убили, 7ку добивают, а 8+ убожество.
                              • +2
                                В приличном обществе лицо бьют за такие комментарии, а не за упоминание 10.

                                Нечего навязывать людям свое мнение и вешать ярлыки.

                                PS. Пользуюсь Windows 10, Arch Linux, macOS. Каждой свое применение.
                                • 0
                                  10ка как минимум жрет дохрена, пилится для хомячков-геймеров

                                  У вас прямо в самом начале взаимоисключающие параграфы.

                                • +2
                                  Диск дергает постоянно и неконтролируемо. Отключение суперфетчей и прочих индексирований не помогает. Мопед не мой, друг мучился-мучился и в итоге типа решил проблему, купив ссд стоимостью в половину ноута.

                                  Прошу не обвинять в ретроградстве типа «жесткие диски устарели». Может быть, и устарели, но нет объективной причины для того, чтобы голая ОС, установленная пять минут назад, не умещала свой барахло в 16 гб памяти и продолжала что-то там ковырять на дисках.
                                  • 0

                                    А Вы уверены, что дело именно в ОС, а не в больном диске? Часто наблюдал такое на сыплющихся HDD.

                                    • 0
                                      голая ОС, установленная пять минут назад

                                      Как раз тогда она и насилует диск своими оптимизациями. Через пару дней проходит, говорят. Но да, без SSD десятка мало юзабельна.
                                  • 0
                                    Вы не с теми общаетесь…
                                  • –1
                                    Намного лучше. Почему не ставить эту тему по умолчанию?
                                    • 0
                                      Потому что она основана на проприетарном и запатентованном интерфейсе Windows 10. И если на левого темодела всем плевать, то к ReactOS обязательно придерутся.
                                  • +4
                                    Красота в простоте.
                                    • +1
                                      Не всегда и не для всех.
                                      • +2
                                        Дизайн десятки мне лично нравится больше, за исключением кнопок которые выглядят как текст, и текста который выглядит как кнопка.
                                        • +2
                                          Меня больше всего в ней раздражает это и ещё отсутствие границ и разделителей между разными областями и компонентами. Например, стандартный листбокс с заголовком стал выглядеть вот так. Попробуй догадайся, что первая строчка — это заголовок!

                                          Вообще, из всех вариантов оформления лично мне больше всего нравится семёрочная Aero. К сожалению, MS предпочитает считать, что вкусы у людей обязаны быть одинаковыми, и вместо того, чтобы давать возможность самому выбрать внешний вид, принудительно навязывает то, что на данный момент считает самым крутым и прогрессивным. Ишь чего вздумали, вкусовщину разводить!
                                          • +2
                                            А мне вот 8.1 нравится, а 10-ка — нет…
                                  • +5
                                    Если в планах ReactOS нет поддержки планшетов, то лучше уж пусть ориентируются на дизайн Windows 7. В десятке от «мобилизации» десктопному пользователю одни неудобства(
                                    • –1
                                      Даладна — на планшет 7ку поставил и прекрасно пальцем управляется.
                                    • +4

                                      Я мне как раз оформление Win2000 кажется самым удачным. Ничего лишнего, все аккуратненько. Именно по этой причине для *nix мне нравится XFCE, хоть он и развивается медленно. Жаль, что прошло время Material Desing.

                                      • +3
                                        Что-что, а оформление Windows 95 (в WinME и Win2K по сути оно же) получилось у них на удивление удачным: строгим, удобным, при этом по-своему красивым и нераздражающим. Иногда я даже подумываю переодеть все иксовые гуи-тулкиты в темы вроде каких-нибудь Chicago/Redmond95 (а FLTK-приложения и так как родные выглядят).
                                      • +1
                                        Ну и нахрена нужно две 10тки.
                                        А вот на дизайн от 2К или XP(особенно) я очень надеюсь, потому что всё что было после XP лично мне не очень нравится.
                                        • 0
                                          не нужно путать эпоху 2000-х со своим годом рождения. О каком таком шикарном юзабилити-интерфейсе может идти речь, если даже Windows XP выпустили в 2001-м году?
                                          • 0
                                            До ХренРаботает юзабилити интерфейса не было?
                                        • 0
                                          Пытался тут запустить пару своих проектиков на ReactOS. MB_GetString возвращает мусор. Глянул вглубь и понял, что не скоро еще будет нормальная поддержка Windows приложений. :-)

                                          Сейчас глянул еще раз: тоже самое.
                                          • +13
                                            А может стоит прислать баг-репорт, а не просто ждать?
                                          • 0
                                            Прошу не обижаться, но не хочу каждый раз так проводить ревизию кода. При этом еще проходить нетривиальную регистрацию. Мне кажется, тестирование должно происходить чуть лучше, чем «скомпилировалось, значит работает».
                                            Есть API, которые не прогонишь простым вызовом функции, но тут уж такое! Баг, кстати, интересный и в LoadStringW (не такая уж и редкоиспользуемая функция), а не в MB_GetString: используется малоизвестная особенность этой функции, когда buflen нулевой.
                                            • +5
                                              Прошу не обижаться, но не хочу каждый раз так проводить ревизию кода.

                                              В смысле, каждый раз? Релизы — они конечно выходят раз в три месяца, но разве кто-то отменяет ежедневную проверку системы? Сборочный бот делает «ночные» сборки после каждого коммита в главный репозиторий.

                                              При этом еще проходить нетривиальную регистрацию.

                                              В чём сложность зарегистрироваться на форуме, а потом с этим же логином и паролем войти в баг трекер JIRA? Регистрация — это одноразовая процедура.

                                              Мне кажется, тестирование должно происходить чуть лучше, чем «скомпилировалось, значит работает».

                                              Похоже вы даже не в курсе, что у нас есть огромная структурированная куча API-тестов, которые также прогоняются ботами после каждого коммита, после чего генерируются подробные отчёты.

                                              Подходя к основной части моего ответа, по поводу функции LoadStringW, если вы знаете о ней что-то, чего не знают разработчики, или даже не знает MSDN, и в репозитории нет соответствующего API-теста… не поленитесь написать API-тест, который будет проверять данное поведение функции. Если всё будет сделано правильно, то тест выдаст положительный результат на Microsoft Windows 2003, и отрицательный результат в ReactOS.

                                              Реализованный API-тест я настоятельно рекомендую оформить в виде пулл-реквеста в репозиторий ReactOS. После этого можно будет приступить к исправлению самой функции.
                                              • 0
                                                Напишите, пожалуйста, в личку, алгоритм пулреквестов, я напишу. Мне не хочется написать реквестов по глупостям "*(LPWSTR*) var) = xxxx" и ждать по много времени.

                                                Я WinAPI использую по полной и тесты проваливаются, к сожалению, во многом.
                                            • +2
                                              Можете в личку скинуть сбоящий пример кода? Заранее спасибо
                                            • +1
                                              Уря уря уря!!!
                                              • 0
                                                Я б запустил на своем компе, благо все дрова под ХР есть. Оно железо не убьёт?
                                                • +1
                                                  Нет, но все данные нужно бэкапить.
                                                  • 0
                                                    Где б пустой винт найти…
                                                • –14

                                                  Замечательная новость… для 2003го года.

                                                  • 0
                                                    Сборка Live опробована и выдает IO1 Init fault(fail) (0х0..069)
                                                    В режиме дебаг останавливается на SWENUM.SYS

                                                    Тест на двух разных машинках 32 и 32_64, относительно старых, без уефи.
                                                    Загрузка с флешки груб дос.
                                                    • +1
                                                      С флешки официальные образы и не загрузятся, только образы от Вадима могут, но и там пока проблемы.
                                                    • 0
                                                      «The procedure entry point InitializeCriticalSectionEx could not be located in the dynamic link libraty KERNEL32.dll»

                                                      Увы, но даже попытаться использовать ReactOS не получается пока что…
                                                      Но установилось в VirtualBox с первого раза, поставились GuestAdditional, всего один раз упав в синий экран, но после перезагрузки включилось всё.
                                                      • 0
                                                        Вижу на скриншотах, что для текста в интерфейсах используется шрифт Tahoma. Есть ли у вас информация о том, как его лицензировали для такого использования?
                                                        • +1
                                                          В ReactOS используется свободный заменитель данного шрифта, и на скриншотах по-моему именно он.
                                                        • +4

                                                          Позавчера погонял Reactos. В принципе запускается, даже видео проигрывает (без звука, т.к. дрова на звуковуху не встали). Что приятно — отображаются линуксовые (ext2) разделы.


                                                          Теперь вопросы:


                                                          1. Почему USB-мышь не работает (светодиод гаснет при загрузке реактоси)? При этом USB-клава робит.
                                                          2. Почему русские буквы крякозяблами в именах файлов FAT32 и в F9-меню Far, если его на русский переключить?
                                                          3. Почему грузится только в режиме LiveCD-screen?
                                                          • +1
                                                            1. USB стек ещё не доделан (в релизе 0.4.8 всё ещё используется старый, который не от Вадима).
                                                            2. По этому случаю надо бы отправить баг репорт.
                                                            3. Какой-нибудь баг в PnP менеджере или где-то ещё (тут нужны отладочные логи).
                                                          • +2
                                                            В ходе рецензирования произошел уникальный случай — разработчики ReactOS нашли ошибку в коде Microsoft и выслали исправление. Теперь код ReactOS есть в коде Microsoft.

                                                            С такими высказываниями лучше сразу давать ссылку на PR.

                                                            А вообще круто, исправление багов в винде — польза дла миллионов пользователей.
                                                            • +1
                                                              Спасибо за замечние, добавил.
                                                            • –10
                                                              Думал вы бросили эту затею но нет. Хуже ОС в 2010-их еще поискать.
                                                              • +8
                                                                Спасибо за вашу поддержку!
                                                                • –2
                                                                  поддержку за что? это Ваше хобби. у него нет будущего.
                                                                  • +1
                                                                    Вы, кажется, не догоняете, кто целевая аудитория. ReactOS — это бесплатная ось в которой пойдут игры, которые мы любим.
                                                                    • +1
                                                                      Вы, кажется, не догоняете, кто целевая аудитория. ReactOS — это бесплатная ось в которой пойдут игры, которые мы любим.
                                                                      Возможно, плохо объясняете?
                                                                      А если так:
                                                                      Целевая аудитория ReactOS — игроки желающие поиграть в шедевры игровой индустрии. Сейчас это осложнено отсутствия развития и поддержки Windows XP, еще более актуальной эта ОС станет после прекращения поддержки Windows 7.
                                                                      Так же она может быть интересна в будущем при использовании специального ПО и ПО написанного для специального оборудования которое работает только на Windows XP.
                                                                      Специальное оборудование это конвеера, станки, мед.приборы(МРТ, УЗИ) срок службы которых в разы дольше чем срок поддержки.
                                                                      • 0
                                                                        Да, Ваше определение более полное.
                                                              • +4
                                                                А вы не думали о взаимовыгодном сотрудничестве с Гейбом Ньюэллом?

                                                                Проект ReactOS получил бы серьёзное финансирование и смог бы развиваться быстрее. Гейб получил бы операционную систему для запуска Steam'а с играми и перестал бы бояться что Miscrosoft однажды разрешит устанавливать игры только из своего магазина. Пользователи получили бы бесплатную Windows и вендекапец бы наступил :-)
                                                                • +1
                                                                  А потом в ReactOS будут запускаться игры только из Steam'а.
                                                                  • 0
                                                                    А у вас есть прямой выход на него? Потому, что «кривые» выходы мы уже давно испробовали =)
                                                                • 0
                                                                  Завис на скрине из первого Diablo, снова поиграть захотелось
                                                                  • 0
                                                                    Кто-нибудь запускал Космических Рейнджеров?

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

                                                                    Самое читаемое