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

В этом выпуске — поддержка новых 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–стеком.

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

Комментарии (68)


  1. sumanai
    18.04.2018 20:00
    +1

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

    Ура! Я на это ещё пару лет назад 5баксов задонатил.


    1. Grogina
      18.04.2018 23:04

      надеюсь это всё-таки ирония


      1. sumanai
        18.04.2018 23:36
        +2

        Нет, я на самом деле донатил им 5 баксов после того как Jeditobe отписал про донат, а я про 64 бита.


  1. staticlab
    18.04.2018 21:26

    С этого момента в состав дистрибутива включён инструмент, аналогичный DrWatson32

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


    1. x86corez
      18.04.2018 21:44

      ReactOS Crash Reporter (он вот здесь)


  1. CaptainFlint
    18.04.2018 22:29

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

    Сорри за оффтоп и поздравления с очередным релизом!


  1. grimalschi
    18.04.2018 22:41
    +1

    Какие планы по развитию дизайна системы?

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

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

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

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

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

    Прошу без шуток про нескучные обои.


    1. x86corez
      18.04.2018 23:21
      +1

      Material design, а-ля Win 10, вы считаете развитием дизайна?

      И да, на первых двух скриншотах в статье используется тема окон Lautus, встроенная в ReactOS.


      1. yarosroman
        19.04.2018 00:48
        +1

        Material design это стихия Android.


      1. grimalschi
        19.04.2018 18:23

        Я считаю, что продукты с хорошим дизайном продаются лучше.


    1. dark_snow
      19.04.2018 00:12

      Сейчас бы 10ку как дизайн советовать — да вы мазохист батенька…


      1. ExTalosDx
        19.04.2018 01:28

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


        1. Zenitchik
          19.04.2018 01:38
          +3

          А может, наоборот?


        1. x86corez
          19.04.2018 01:47
          +1

          Вот ReactOS с дизайном от Windows 10. Полегчало? :)

          image


          1. Fails
            19.04.2018 02:00

            Отступы не те! Нету удовлетворения! :)</Перфекционист_мод>
            Думаю, можно в самой теме попатчить отступы для кнопок «свернуть»/«развернуть»/«закрыть», благо системная.метрика была, и к ней был даже ui (вкоадка «офопмление» свойств экрана)


            1. danfe
              19.04.2018 08:14
              +1

              Вот да, ReactOS патологически не умеет в отступы, издревле. Берешь любой скриншот, а там такое:

              Ffffffuuuu...


          1. dark_snow
            19.04.2018 02:29
            -2

            Ой мляааа, я только поел, зачем такую мерзость без спойлера кидать? Да и за само упоминание о 10ке приличные люди лицо бьют, больно.


            1. x67
              19.04.2018 03:14

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


              1. dark_snow
                19.04.2018 03:43
                -2

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


                1. GoldJee
                  19.04.2018 16:22

                  В приличном обществе лицо бьют за такие комментарии, а не за упоминание 10.

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

                  PS. Пользуюсь Windows 10, Arch Linux, macOS. Каждой свое применение.


                1. Ayahuaska
                  20.04.2018 10:13

                  10ка как минимум жрет дохрена, пилится для хомячков-геймеров

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


              1. Disbeleiver
                19.04.2018 18:02

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

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


                1. perlestius
                  19.04.2018 18:09

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


                1. sumanai
                  19.04.2018 21:21

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

                  Как раз тогда она и насилует диск своими оптимизациями. Через пару дней проходит, говорят. Но да, без SSD десятка мало юзабельна.


            1. DanielJ
              20.04.2018 09:45

              Вы не с теми общаетесь…


          1. grimalschi
            19.04.2018 18:24
            -1

            Намного лучше. Почему не ставить эту тему по умолчанию?


            1. sumanai
              19.04.2018 21:23

              Потому что она основана на проприетарном и запатентованном интерфейсе Windows 10. И если на левого темодела всем плевать, то к ReactOS обязательно придерутся.


        1. Suvitruf
          19.04.2018 07:55

          Красота в простоте.


          1. CaptainFlint
            19.04.2018 11:35

            Не всегда и не для всех.


            1. PsyHaSTe
              19.04.2018 11:44

              Дизайн десятки мне лично нравится больше, за исключением кнопок которые выглядят как текст, и текста который выглядит как кнопка.


              1. CaptainFlint
                19.04.2018 12:43

                Меня больше всего в ней раздражает это и ещё отсутствие границ и разделителей между разными областями и компонентами. Например, стандартный листбокс с заголовком стал выглядеть вот так. Попробуй догадайся, что первая строчка — это заголовок!

                Вообще, из всех вариантов оформления лично мне больше всего нравится семёрочная Aero. К сожалению, MS предпочитает считать, что вкусы у людей обязаны быть одинаковыми, и вместо того, чтобы давать возможность самому выбрать внешний вид, принудительно навязывает то, что на данный момент считает самым крутым и прогрессивным. Ишь чего вздумали, вкусовщину разводить!


              1. Am0ralist
                19.04.2018 12:45

                А мне вот 8.1 нравится, а 10-ка — нет…


    1. SlimShaggy
      19.04.2018 01:28
      +3

      Если в планах ReactOS нет поддержки планшетов, то лучше уж пусть ориентируются на дизайн Windows 7. В десятке от «мобилизации» десктопному пользователю одни неудобства(


      1. dark_snow
        19.04.2018 02:48
        -1

        Даладна — на планшет 7ку поставил и прекрасно пальцем управляется.


    1. pensnarik
      19.04.2018 07:35

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


      1. danfe
        19.04.2018 12:15

        Что-что, а оформление Windows 95 (в WinME и Win2K по сути оно же) получилось у них на удивление удачным: строгим, удобным, при этом по-своему красивым и нераздражающим. Иногда я даже подумываю переодеть все иксовые гуи-тулкиты в темы вроде каких-нибудь Chicago/Redmond95 (а FLTK-приложения и так как родные выглядят).


    1. VBKesha
      19.04.2018 11:59

      Ну и нахрена нужно две 10тки.
      А вот на дизайн от 2К или XP(особенно) я очень надеюсь, потому что всё что было после XP лично мне не очень нравится.


  1. loginsin
    18.04.2018 23:04

    Пытался тут запустить пару своих проектиков на ReactOS. MB_GetString возвращает мусор. Глянул вглубь и понял, что не скоро еще будет нормальная поддержка Windows приложений. :-)

    Сейчас глянул еще раз: тоже самое.


    1. Jeditobe Автор
      18.04.2018 23:05
      +3

      А может стоит прислать баг-репорт, а не просто ждать?


  1. loginsin
    18.04.2018 23:25

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


    1. x86corez
      19.04.2018 01:30
      +1

      Прошу не обижаться, но не хочу каждый раз так проводить ревизию кода.

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

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

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

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

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

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

      Реализованный API-тест я настоятельно рекомендую оформить в виде пулл-реквеста в репозиторий ReactOS. После этого можно будет приступить к исправлению самой функции.


      1. loginsin
        19.04.2018 01:40

        Напишите, пожалуйста, в личку, алгоритм пулреквестов, я напишу. Мне не хочется написать реквестов по глупостям "*(LPWSTR*) var) = xxxx" и ждать по много времени.

        Я WinAPI использую по полной и тесты проваливаются, к сожалению, во многом.


        1. x86corez
          19.04.2018 01:46

          WinAPI вы используете, а про пулл-реквесты не знаете. Честно говоря не ожидал такого от вас.

          help.github.com/articles/creating-a-pull-request


          1. loginsin
            19.04.2018 01:53

            Не связанные вещи.


            1. x86corez
              19.04.2018 01:59

              Если что, вот тут есть пошаговая инструкция, для тех, кто ещё не знал про GitHub:

              reactos.org/wiki/Commiting_Changes

              Надеюсь, у вас всё получится.


    1. Fails
      19.04.2018 02:01
      +1

      Можете в личку скинуть сбоящий пример кода? Заранее спасибо


  1. dark_snow
    19.04.2018 00:07

    Уря уря уря!!!


  1. zanac
    19.04.2018 01:28

    Я б запустил на своем компе, благо все дрова под ХР есть. Оно железо не убьёт?


    1. Jeditobe Автор
      19.04.2018 01:29

      Нет, но все данные нужно бэкапить.


      1. zanac
        19.04.2018 22:43

        Где б пустой винт найти…


  1. RainbowJose
    19.04.2018 01:29
    -2

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


  1. TrllServ
    19.04.2018 09:48

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

    Тест на двух разных машинках 32 и 32_64, относительно старых, без уефи.
    Загрузка с флешки груб дос.


    1. Jeditobe Автор
      19.04.2018 12:50

      С флешки официальные образы и не загрузятся, только образы от Вадима могут, но и там пока проблемы.


  1. maaGames
    19.04.2018 10:00

    «The procedure entry point InitializeCriticalSectionEx could not be located in the dynamic link libraty KERNEL32.dll»

    Увы, но даже попытаться использовать ReactOS не получается пока что…
    Но установилось в VirtualBox с первого раза, поставились GuestAdditional, всего один раз упав в синий экран, но после перезагрузки включилось всё.


  1. markmariner
    19.04.2018 10:03

    Вижу на скриншотах, что для текста в интерфейсах используется шрифт Tahoma. Есть ли у вас информация о том, как его лицензировали для такого использования?


    1. x86corez
      19.04.2018 13:10

      В ReactOS используется свободный заменитель данного шрифта, и на скриншотах по-моему именно он.


  1. robux
    19.04.2018 10:11
    +1

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


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


    1. Почему USB-мышь не работает (светодиод гаснет при загрузке реактоси)? При этом USB-клава робит.
    2. Почему русские буквы крякозяблами в именах файлов FAT32 и в F9-меню Far, если его на русский переключить?
    3. Почему грузится только в режиме LiveCD-screen?


    1. x86corez
      19.04.2018 13:12

      1. USB стек ещё не доделан (в релизе 0.4.8 всё ещё используется старый, который не от Вадима).
      2. По этому случаю надо бы отправить баг репорт.
      3. Какой-нибудь баг в PnP менеджере или где-то ещё (тут нужны отладочные логи).


  1. PsyHaSTe
    19.04.2018 11:42
    +1

    В ходе рецензирования произошел уникальный случай — разработчики ReactOS нашли ошибку в коде Microsoft и выслали исправление. Теперь код ReactOS есть в коде Microsoft.

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

    А вообще круто, исправление багов в винде — польза дла миллионов пользователей.


    1. Jeditobe Автор
      19.04.2018 12:49

      Спасибо за замечние, добавил.


  1. NewDevDay
    19.04.2018 12:47

    Думал вы бросили эту затею но нет. Хуже ОС в 2010-их еще поискать.


    1. x86corez
      19.04.2018 13:14
      +1

      Спасибо за вашу поддержку!


  1. Klestofer
    19.04.2018 16:02

    А вы не думали о взаимовыгодном сотрудничестве с Гейбом Ньюэллом?

    Проект ReactOS получил бы серьёзное финансирование и смог бы развиваться быстрее. Гейб получил бы операционную систему для запуска Steam'а с играми и перестал бы бояться что Miscrosoft однажды разрешит устанавливать игры только из своего магазина. Пользователи получили бы бесплатную Windows и вендекапец бы наступил :-)


    1. Zenitchik
      19.04.2018 16:44

      А потом в ReactOS будут запускаться игры только из Steam'а.


    1. Jeditobe Автор
      20.04.2018 09:46

      А у вас есть прямой выход на него? Потому, что «кривые» выходы мы уже давно испробовали =)


      1. Klestofer
        20.04.2018 10:02

        У меня нет.


      1. staticlab
        20.04.2018 11:33

        На всякий случай спрошу: http://www.valvesoftware.com/email.php и gaben@valvesoftware.com пробовали?


  1. Vehfl
    21.04.2018 09:49

    Завис на скрине из первого Diablo, снова поиграть захотелось