Привет, Хабр!

Прошло всего каких-то пять месяцев со дня прошлого релиза ReactOS, а мы уже выкатываем новый! И какой! Как обычно, у нас для вас фирменный коктейль из киллер-фич и адового тюнинга незначительных компонентов системы.

В этом выпуске — внедрение BTRFS, еще одна дополнительная порция стабильности и куча прикольных свистелок-дуделок, которые делают пользование операционной системой более приятным, если конечно она уже не падает в BSOD.

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


Фото честно украдено из фотоальбома юзера flickr.com

BTRFS


Главная новинка ReactOS версии 0.4.10 — полноценное внедрение поддержки файловой системы BTRFS! На самом деле, минимальная поддержка Btrfs была добавлена ещё в прошлом году на базе свободного драйвера WinBtrfs, но теперь в рамках GSOC 2018 был модифицированы коды инсталлятора и загрузчика Freeloader для обеспечения доступа к содержимому разделов с Btrfs при старте или установке системы.

image

В процессе разработки ReactOS 0.4.10 в драйвер WinBtrfs были внесены исправления и отправлены в апстрим (обратно основному разработчику драйвера). Поэтому в следующей версии ОС под номером 0.4.11 нас будут ждать дальнейшие улучшения в этом направлении. Поддержка BTRFS позволяет обойти ограничения на размер и количество файлов на диске, которые накладывают файловые системы семейства FAT. WinBtrfs был выбран потому, что оказался наиболее стабильным и своевременно обновляемым драйвером из всех существующих вариантов альтернативных файловых систем для платформы Windows NT.

Напомню, что в ReactOS также полностью поддерживаются файловые системы FAT12/16/32, Ext2, Ext3, Ext4, NFS, и еще несколько с доступом только на чтение — NTFS, ReiserFS, FFS и UDFS.

С — Стабильность


Стабильность системы, как правило, трудно поддается количественной оценке, поскольку она зачастую очень субъективна. Довод, с которым вы все вероятно согласитесь — дополнительным плюсом в зачет в колонку стабильности пойдет все, что предотвращает крах самой операционной системы или приложения, работающего в ней. Поэтому, хоть улучшения в стеке управления памятью (см. полный список изменений), сделанные Тимо Крейцером и Пьером Швейцером, и могут показаться незначительными или неочевидными, они все равно играют важную роль в росте стабильности ReactOS.

Одновременно с этим, момент, когда полезное и популярное приложение достигает полной работоспособности на ReactOS, также представляет собой маленькую победу. Вклад Станислава Мотылькова в библиотеку ReactOS C Runtime library позволил системе контроля версий Git, используемой в нашем проекте, наконец работать правильно и непосредственно в ReactOS. Наверное, и тут вы не станете спорить, что это хорошее продолжение прошлого успеха с достижением состояния селф-хостинга.

И я уверен, что никто здесь не является истинным поклонником BSODов, даже если они и вызывают некоторое чувство ностальгии. Синим экранам лучше оставаться чем-то из наших воспоминаний, чем быть постоянной частью ежедневного пользовательского опыта. К счастью для ReactOS, Марку Дженсену удалось устранить причину еще одного такого краха, касавшуюся работы библиотеки шрифтового движка FreeType.

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

image

Отдельного упоминания заслуживает также и вклад Томаса Фабера, который разобрался с проблемой высокой нагрузки на процессор вовремя просмотра видео плеером VLC, запуска эмулятора DosBox 0.74 и игр Anno1602 и Diablo II.

Щепотка красоты тут, щепотка красоты там...


А это то, что лучше один раз увидеть, чем 10 раз об этом прочитать. Когда кто-то пользуется операционной системой ReactOS, интерфейсом для этого взаимодействия обычно выступает оболочка рабочего стола Explorer. Основой для функциональности оболочки «под капотом» служит библиотека shell32, чьи улучшения часто оказываются наиболее заметными для конечных пользователей. За несколько прошедших месяцев Katayama Hirofumi, давний контрибутор проекта, добавил в эту библиотеку несколько новых функций, «причесав» при этом и некоторые другие, уже существовавшие ранее.

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

image
А иконки для папок можно назначать по своему усмотрению, сделав структуру папок менее скучной.

image
Серьезная работа была проведена над правильным отображением шрифтов и графических элементов в диалогах MSI-инсталляторов различных программ.

image
Станиславом Мотыльковым был также добавлен код для корректного извлечения информации о системе из BIOS, которая теперь используется в выводе утилиты dxdiag.

И это все?


Это, разумеется, не все, а только наиболее заметные и знаковые изменения в ReactOS. Хотите увидеть еще немного больше? Тогда посмотрите видео с демонстрацией новинок, которое подготовили волонтеры проекта:


Захотели поставить ReactOS первый раз в своей жизни? Обязательно просмотрите этот мануал.

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

UPD от 21 ноября 2018 — Вадим Галянт опубликовал модифицированный вариант дистрибутива с экспериментальным стеком USB

P.S. Подготовка релиза 0.4.11 уже идет полным ходом, и этот релиз действительно будет стоить того, чтобы его ждать!

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


  1. loltrol
    19.11.2018 13:59

    А WinBtrfs нормально же заводится на windows? Можно ли накатить комбинацию Freeloader+Windows 10+WinBtrfs?


    1. Jeditobe Автор
      19.11.2018 14:02
      +1

      Freeloader пока не совместим с Windows 10, а вот с XP можно попробовать. WinBtrfs неплохо работает. Но лучше подождать выхода WinBtrfs 1.0.3 — там куча патчей и улучшений от нашего коллектива разработчиков.


      1. loltrol
        19.11.2018 14:18
        +2

        Спасибо за ответ. И удачи в работе.


  1. alan008
    19.11.2018 14:02
    +9

    Каким-то чудом проект живёт! Так и хочется сказать "не благодаря, а вопреки". Но упорству (или упоротости) разработчиков стоит отдать должное! :)


    1. trdm
      21.11.2018 19:21

      Just for Fun


  1. ClearAirTurbulence
    19.11.2018 14:30

    Даешь поддержку ZFS :)


    1. Jeditobe Автор
      19.11.2018 14:31

      Подключайтесь к решению этой задачи :)


      1. denaspireone
        19.11.2018 14:34

        Эта штука в виртуалбоксе после установки не воспринимает host+del как ctrl+alt+del
        даже посыл от/с панели virtualbox не проходит… а войти никак без аутентичного ctrl+alt+del

        беда беда…

        скрин
        1. Jeditobe Автор
          19.11.2018 14:38

          Там с панели инструментов виртуальной машины вроде как можно послать сочетание ctrl+alt+del в виртуалку.

          Вообще хорошо бы баг-репорт оформить, чтоб разобраться в ситуации.


          1. denaspireone
            19.11.2018 14:43

            Так то да, но опять же регистрироваться ради 1го баг репорта в jira ради продукта для посмотреть… Такое себе удовольствие. Проверяю каждый релиз — и каждый релиз почти не рабочий в virtualbox stable…


            1. Jeditobe Автор
              19.11.2018 15:05
              +4

              Регистрация занимает 1 минуту.

              Сложно рассчитывать на исправление ошибки, о которой вы не сообщаете. Разработчики пока еще не наделены телепатическими способностями. Кроме того, это может и не быть багом именно в ReactOS.


          1. rstepanov
            19.11.2018 15:26

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


            1. Jeditobe Автор
              19.11.2018 15:30

              В виртуалбоксе оно еще и тормозит дичайше на топовом железе
              Здесь весьма вероятна проблема на стороне VirtualBox или режима виртуализации.

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


              1. trdm
                20.11.2018 17:16
                +2

                Проблема известная, пока что лучше переключать щелчком по значку в трее.

                я выкупил как переключать языки клавиатурой. надо между нажатием на Alt и последующим нажатием на Shift делать паузу >~1.5 секунды.
                если пауза будет маленькая — язык не переключится.
                сам на этом погорел, т.к. переключаюсь быстро.
                Это надо исправить. Очень неудобно.


        1. x86corez
          19.11.2018 16:26
          +1

          Я сейчас протестировал, у меня это окно не возникает вообще, что с паролем, что без пароля.

          Что-то у вас не так установилось, скорее всего. Переставить попробуйте.


  1. mistergrim
    19.11.2018 15:11

    В результате стал возможен корректный запуск популярного мультипротокольного мессенджера Miranda IM.
    Популярный — это Miranda NG, а Miranda IM фактически скончалась уже давно.


    1. Nexon
      19.11.2018 16:31
      +3

      В контексте ReactOS популярным можно называть всё, что было популярным в 00-е.
      А так Miranda уже давно не пользуется популярностью среди IT'шников. Если бы была поддержка современных протоколов, то всё могло бы быть иначе.


      1. iDm1
        19.11.2018 22:37
        +1

        Telegram, Skype и Tox поддерживаются в Miranda NG. Ну и XMPP еще не похоронили.


  1. dpisarenko
    19.11.2018 15:35

    У меня сайт ReactOS (1 и 2) открывается только через Тор. Нахожусь в Москве.


    tracert reactos.org выдает следующее:


    Трассировка маршрута к reactos.org [178.63.204.104]
    с максимальным числом прыжков 30:
    
      1     *        2 ms     1 ms  192.168.1.254
      2     3 ms     3 ms     3 ms  10.132.0.1
      3     4 ms     4 ms     4 ms  10.109.11.6
      4     *        *        *     Превышен интервал ожидания для запроса.
      5     *        *        *     Превышен интервал ожидания для запроса.
      6     *        *        *     Превышен интервал ожидания для запроса.
      7     *        *        *     Превышен интервал ожидания для запроса.
      8     *        *        *     Превышен интервал ожидания для запроса.


    1. Jeditobe Автор
      19.11.2018 15:39
      +2

      Это самодеятельность РосКомПозора и рукожопость отдельно взятого оператора связи.

      Могу только посоветовать всем для таких случаев держать дестктопный браузер Opera c активированной функцией VPN.


      1. dpisarenko
        19.11.2018 15:42
        -1

        Спасибо.


    1. x86corez
      19.11.2018 16:33

      Да… русскоязычное сообщество ReactOS уже давно страдает от этой проблемы, которую нам обеспечил РКН.

      image

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


    1. Nexon
      19.11.2018 16:35
      +2

      178.63.204.104 забанен, т.к. вы выбрали уровень сложности «Россия».
      habr.com/post/419567


  1. Nexon
    19.11.2018 16:39

    Наверное, самое сложное будет дожить не до беты, а дожить до сертификации ФСТЭК.


    1. Jeditobe Автор
      19.11.2018 16:45

      Мы пока все же делаем ставку больше на энтузиастов и ранних последователей, поэтому это будет не так уж томительно…


  1. Zenitchik
    19.11.2018 17:42

    Вот розовый ПУ-12 видеть не приходилось…


  1. Z0K
    19.11.2018 19:50
    +2

    А что с case-чувствительностью и спецсимволами на BTRFS в windows-подобном окружении? Можно ли создать рядом папки Test, TEST и test и переживёт ли это проводник, консоль и прочее? Можно ли создать файл с именем ^ или *? Ну и так далее?


    1. Jeditobe Автор
      19.11.2018 21:10
      +3

      Спецификации ФС это позволяют, но на уровне настроек драйвера выбрано поведение типичное для Windows


      1. F0iL
        20.11.2018 12:31

        А если подмонтировать внешнюю ФС, где есть два файла в одном месте с одинаковой последовательностью символов, но в разном регистре, каких проблем стоит ожидать?


        1. x86corez
          20.11.2018 14:56
          +2

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


    1. sasha1024
      20.11.2018 10:23

      Так NTFS в принципе тоже позволяет подобное (Вы можете загрузиться в GNU/Linux, создать на NTFS-partition'е папки с такими названиями и посмотреть, как отреагируют классические проводник, консоль и прочее — я когда-то случайно такое сделал).


      1. mayorovp
        20.11.2018 10:47

        Так их и из-под винды создать можно, ежели с флагом FILE_FLAG_POSIX_SEMANTICS


      1. enabokov
        21.11.2018 11:56

        В каждой отдельной папке NTFS под Windows можно включить опцию регистрозависимости.


  1. AntoShik
    19.11.2018 21:08
    -5

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


  1. kryvichh
    19.11.2018 21:33
    +1

    IDE на ReactOS кто-то пробовал запускать? Ну там VS, Delphi, Lazarus?


    1. Jeditobe Автор
      19.11.2018 22:29
      +3

      Lazarus говорят, что работает.


      1. kryvichh
        20.11.2018 00:21
        +4

        ok могу подтвердить, что Lazarus 1.8.4 на ReactOS 0.4.10:

        • Инсталлируется
        • Запускается
        • Компилирует полностью свои библиотеки (LCL) из исходников
        • Компилирует программу «Hello World» с окошками
        • Скомпилированную программу можно запустить из-под IDE:

        image
        И даже можно что-то дебажить: ставить брекпоинты, просматривать внутренности объектов при отладке программы:
        image
        Из найденных проблем: не жалейте оперативной памяти на VirtualBox, хотя бы 1 Гб. Иначе при начальной сборке LCL у меня Lazarus зависал, после «жёсткой» перегрузки виртуалки ReactOS уже не грузился.


        1. F0iL
          20.11.2018 12:32

          после «жёсткой» перегрузки виртуалки ReactOS уже не грузился.
          баг-репорт отправили? :)


          1. kryvichh
            20.11.2018 16:04

            У меня и Windows 7 в VirtualBox в синий экран вылетала, если ей ресурсов не отжалеть. Не знаю, стоит ли беспокоить разработчиков из-за этого.


            1. F0iL
              21.11.2018 13:02

              Я про проблему с невозможностью запустить ранее рабочую ОС после жесткой перезагрузки. Такое, вне зависимости от наличия ресурсов, не нормально.


    1. trdm
      19.11.2018 22:34
      +2

      Code::Blocks устанавливается и что-то собирает.
      http://prntscr.com/lkdqyk


  1. boblenin
    19.11.2018 22:59
    +1

    Блин, надо пробовать! На выходных попробую сначала в виртуалке, а потом может быть на одном из старых ноутов.


  1. crazy_mama
    20.11.2018 01:37

    ///«Захотели поставить ReactOS первый раз в своей жизни? Обязательно просмотрите этот мануал.»///

    Инструкция на английском или я просто не нашёл куда нажать, чтобы переключить язык?


    1. Jeditobe Автор
      20.11.2018 01:37

      Самый свежий вариант только на английском. Гугл транслейт вполне должен выручить.


  1. Yeah
    20.11.2018 02:37

    Эх, вот если бы ReactOS поддерживал бы Docker нативно — вот это была бы реально killer-фича перед обычной виндой


  1. odiemius
    20.11.2018 02:59
    +1

    А как обстоит дело с обновлением версий?
    Вот поставил я себе 0.4.10, сижу работаю, себе… и тут, БАЦ! Вышел ReactOS 0.4.11!
    А у меня уже и иконки папкам поназначены, и обои настроены, и программы установлены и настроены, как мне без потерь всего моего скарба обновиться?


    1. Wedmer
      20.11.2018 09:29

      Если оно появится, то это будет уже (пре)релиз.


    1. STALKER_2010
      20.11.2018 10:55

      ISO-установщик умеет обновлять файлы установленной ОС. Из под самой ReactOS обновление пока не поддерживается, хотя идёт активная работа над этим, в частности к релизу 0.4.11 (работа над GUI-установщиком 1 этапа).


  1. unxed
    20.11.2018 04:08

    Основной замут проекта в том, чтобы работали драйвера от производителей. Как там сейчас с этим? На какие категории железа можно просто подсунуть .sys и .inf от производителя, и всё заведётся? Раньше так только на сеть можно было, а сейчас?


    1. Jeditobe Автор
      20.11.2018 10:56

      Видеокарты и звук так можно ставить. В 0.4.11 по драйверам видеокарт nVidia ожидается серьезная подвижка.


      1. unxed
        20.11.2018 18:17

        А как вытаскиваются нужные .inf и .sys (и ещё пачка .dll наверняка) из монструозных дистров какого-нибудь catalyst? Есть манулы? Про нвидию очень приятно слышать, на этой территории, пожалуй, есть шансы (ну, в эмбедде и всяких банкоматах-терминалах-кассах ещё, разумеется), по крайней мере, пока нвидия продолжает на отженись относиться к линуксовой экосистеме.

        CUDA реально на нвидии будет завести?

        PS: Сам не дождался и ушёл на mint, увы. Но свои ниши ось найдёт, хотя в качестве ОС будущего я сейчас вижу скорее redox — с адекватным по производительности микроядром и на memory-safe языке с zero-cost abstractions. Но это ещё когда будет, конечно :)


        1. Jeditobe Автор
          20.11.2018 18:50

          А как вытаскиваются нужные .inf и .sys


          Вообще они обычно в одной папочке даже там лежат.

          Но все гораздо проще, уже сейчас в ночных сборках работает Snappy Driver Installer. Больше ничего не нужно искать и раскурочивать, все драйвера в одном наборе. Это попадет в релиз 0.4.11


  1. QuakeMan
    20.11.2018 04:35

    А поддержка многопроцессорности не появилась?
    Или может какие то новости/планы насчет нее?


    1. DelphiCowboy
      20.11.2018 10:13

      Хотелось бы также 64-битную версию.


      1. Jeditobe Автор
        20.11.2018 11:35

        64-битная версия на подходе, готовность 90-95%. С многоядерностью пока нет четких прогнозов


  1. djiggalag
    20.11.2018 07:35
    +1

    Желаю разработчиком только бобра! И выиграть/получить хороший таки грант от нашего гос-ва, что-бы хорошенько подстегнуть разработку. Про ОС, я в восторге, а то малость уже привык что наши НИИ и др. только могут пилить ОСи только на ядре линукса, а породить что-то самостоятельное это уже за гранью.


    1. musuk
      20.11.2018 09:39
      -1

      Потому и пилят, что за гранты от гос-ва.
      Нефиг, пусть коммерческих инвесторов ищут.


      1. Wedmer
        20.11.2018 10:01

        Приведите, пожалуйста, факты получения проектом грантов от государства.


        1. musuk
          20.11.2018 10:16

          НИИ и др. только могут пилить ОСи


          1. Wedmer
            20.11.2018 10:42

            Не правильно вас понял. В некоторых НИИ не оси пилят, а те самые гранты.


    1. tchspprt
      20.11.2018 12:23

      Попрошу не унижать ОСь фразой «пилить ОСи только на ядре линукс». Слишком общая формулировка — если бы перепиливали from scratch, например, то под данную фразу это тоже бы подходило, но при этом предъявить им за это нельзя было бы. Они же форкают дебиан за деньги налогоплательщиков — частный случай, за который действительно стыдно.


  1. anonymous
    20.11.2018 09:57

    Все клева, только интерфейс удручает, как-то винтажно на 2018.
    Иконки, тоже прошлый век.
    Я это к тому, что кастомизация и внешний вид играют далеко не последнюю роль


    1. NeoCode
      20.11.2018 10:36
      +1

      Все клева, только интерфейс удручает, как-то винтажно на 2018.
      Иконки, тоже прошлый век.

      Так разве это плохо? Наоборот преимущество.


    1. Jeditobe Автор
      20.11.2018 10:57

      Пользователь сам может скачать любую тему оформления и установить.


    1. Ksiw
      20.11.2018 12:50

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


  1. shpaker
    20.11.2018 11:24

    А USB уже заработало?


    1. Jeditobe Автор
      20.11.2018 11:39

      В экспериментальных сборках от Вадима Галятна.

      Версия 0.4.11 (а ночные сборки уже прямо сейчас) сможет устанавливаться по сети на машины без оптических приводов, поэтому без полноценного USB еще можно будет жить какое-то время.


      1. shpaker
        20.11.2018 12:44

        Ходят слухи, что некоторые люди USB юзают не только для наката операционных систем


        1. Jeditobe Автор
          20.11.2018 13:32

          Мышки и клавиатуры в большинстве своем работают уже сейчас.


  1. vlad49
    20.11.2018 13:15

    Будет ли работать CorelDraw более-менее последних версий? Насколько помню, с ним была самая большая проблема у всех.


    1. Jeditobe Автор
      20.11.2018 13:34

      Это нужно экспериментальным путем проверять.