ReactOS 0.4.10 — теперь со вкусом BTRFS и весёлыми иконками для папок

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

    Прошло всего каких-то пять месяцев со дня прошлого релиза 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 уже идет полным ходом, и этот релиз действительно будет стоить того, чтобы его ждать!

    Фонд ReactOS

    194,00

    Операционная система

    Поделиться публикацией
    Комментарии 74
      +2
      А WinBtrfs нормально же заводится на windows? Можно ли накатить комбинацию Freeloader+Windows 10+WinBtrfs?
        +7
        Freeloader пока не совместим с Windows 10, а вот с XP можно попробовать. WinBtrfs неплохо работает. Но лучше подождать выхода WinBtrfs 1.0.3 — там куча патчей и улучшений от нашего коллектива разработчиков.
          +6
          Спасибо за ответ. И удачи в работе.
        +23

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

          0

          Just for Fun

          +1
          Даешь поддержку ZFS :)
            +3
            Подключайтесь к решению этой задачи :)
              0
              Эта штука в виртуалбоксе после установки не воспринимает host+del как ctrl+alt+del
              даже посыл от/с панели virtualbox не проходит… а войти никак без аутентичного ctrl+alt+del

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

                Вообще хорошо бы баг-репорт оформить, чтоб разобраться в ситуации.
                  –9
                  Так то да, но опять же регистрироваться ради 1го баг репорта в jira ради продукта для посмотреть… Такое себе удовольствие. Проверяю каждый релиз — и каждый релиз почти не рабочий в virtualbox stable…
                    +22
                    Регистрация занимает 1 минуту.

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

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

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

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

                    Что-то у вас не так установилось, скорее всего. Переставить попробуйте.
                +1
                В результате стал возможен корректный запуск популярного мультипротокольного мессенджера Miranda IM.
                Популярный — это Miranda NG, а Miranda IM фактически скончалась уже давно.
                  +9
                  В контексте ReactOS популярным можно называть всё, что было популярным в 00-е.
                  А так Miranda уже давно не пользуется популярностью среди IT'шников. Если бы была поддержка современных протоколов, то всё могло бы быть иначе.
                    +1
                    Telegram, Skype и Tox поддерживаются в Miranda NG. Ну и XMPP еще не похоронили.
                  0

                  У меня сайт 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     *        *        *     Превышен интервал ожидания для запроса.
                    +9
                    Это самодеятельность РосКомПозора и рукожопость отдельно взятого оператора связи.

                    Могу только посоветовать всем для таких случаев держать дестктопный браузер Opera c активированной функцией VPN.
                      0
                      Спасибо.
                      +3
                      Да… русскоязычное сообщество ReactOS уже давно страдает от этой проблемы, которую нам обеспечил РКН.

                      image

                      Вроде как даже писали им пару раз, чтобы в белый список добавили, но ответа нет.
                        +10
                        178.63.204.104 забанен, т.к. вы выбрали уровень сложности «Россия».
                        habr.com/post/419567
                        +1
                        Наверное, самое сложное будет дожить не до беты, а дожить до сертификации ФСТЭК.
                          +1
                          Мы пока все же делаем ставку больше на энтузиастов и ранних последователей, поэтому это будет не так уж томительно…
                          +1
                          Вот розовый ПУ-12 видеть не приходилось…
                            +2
                            А что с case-чувствительностью и спецсимволами на BTRFS в windows-подобном окружении? Можно ли создать рядом папки Test, TEST и test и переживёт ли это проводник, консоль и прочее? Можно ли создать файл с именем ^ или *? Ну и так далее?
                              +3
                              Спецификации ФС это позволяют, но на уровне настроек драйвера выбрано поведение типичное для Windows
                                0
                                А если подмонтировать внешнюю ФС, где есть два файла в одном месте с одинаковой последовательностью символов, но в разном регистре, каких проблем стоит ожидать?
                                  +2
                                  Подозреваю, что в проводнике они будут выглядеть, как два файла, но при попытке открытия открываться всегда будет лишь один из них.
                                0
                                Так NTFS в принципе тоже позволяет подобное (Вы можете загрузиться в GNU/Linux, создать на NTFS-partition'е папки с такими названиями и посмотреть, как отреагируют классические проводник, консоль и прочее — я когда-то случайно такое сделал).
                                  0
                                  Так их и из-под винды создать можно, ежели с флагом FILE_FLAG_POSIX_SEMANTICS
                                    0
                                    В каждой отдельной папке NTFS под Windows можно включить опцию регистрозависимости.
                                  –9
                                  Я полагаю у вас хорошо пойдёт, если на ней можно будет получить какие-то преимущества или приложение для майнинга криптовалюты.
                                    0
                                    IDE на ReactOS кто-то пробовал запускать? Ну там VS, Delphi, Lazarus?
                                      +3
                                      Lazarus говорят, что работает.
                                        +4
                                        ok могу подтвердить, что Lazarus 1.8.4 на ReactOS 0.4.10:
                                        • Инсталлируется
                                        • Запускается
                                        • Компилирует полностью свои библиотеки (LCL) из исходников
                                        • Компилирует программу «Hello World» с окошками
                                        • Скомпилированную программу можно запустить из-под IDE:

                                        image
                                        И даже можно что-то дебажить: ставить брекпоинты, просматривать внутренности объектов при отладке программы:
                                        image
                                        Из найденных проблем: не жалейте оперативной памяти на VirtualBox, хотя бы 1 Гб. Иначе при начальной сборке LCL у меня Lazarus зависал, после «жёсткой» перегрузки виртуалки ReactOS уже не грузился.
                                          0
                                          после «жёсткой» перегрузки виртуалки ReactOS уже не грузился.
                                          баг-репорт отправили? :)
                                            0
                                            У меня и Windows 7 в VirtualBox в синий экран вылетала, если ей ресурсов не отжалеть. Не знаю, стоит ли беспокоить разработчиков из-за этого.
                                              0
                                              Я про проблему с невозможностью запустить ранее рабочую ОС после жесткой перезагрузки. Такое, вне зависимости от наличия ресурсов, не нормально.
                                        +3

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

                                        +1
                                        Блин, надо пробовать! На выходных попробую сначала в виртуалке, а потом может быть на одном из старых ноутов.
                                          0
                                          ///«Захотели поставить ReactOS первый раз в своей жизни? Обязательно просмотрите этот мануал.»///

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

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

                                              +4
                                              А как обстоит дело с обновлением версий?
                                              Вот поставил я себе 0.4.10, сижу работаю, себе… и тут, БАЦ! Вышел ReactOS 0.4.11!
                                              А у меня уже и иконки папкам поназначены, и обои настроены, и программы установлены и настроены, как мне без потерь всего моего скарба обновиться?
                                                0
                                                Если оно появится, то это будет уже (пре)релиз.
                                                  +2
                                                  ISO-установщик умеет обновлять файлы установленной ОС. Из под самой ReactOS обновление пока не поддерживается, хотя идёт активная работа над этим, в частности к релизу 0.4.11 (работа над GUI-установщиком 1 этапа).
                                                  +4
                                                  Основной замут проекта в том, чтобы работали драйвера от производителей. Как там сейчас с этим? На какие категории железа можно просто подсунуть .sys и .inf от производителя, и всё заведётся? Раньше так только на сеть можно было, а сейчас?
                                                    +1
                                                    Видеокарты и звук так можно ставить. В 0.4.11 по драйверам видеокарт nVidia ожидается серьезная подвижка.
                                                      0
                                                      А как вытаскиваются нужные .inf и .sys (и ещё пачка .dll наверняка) из монструозных дистров какого-нибудь catalyst? Есть манулы? Про нвидию очень приятно слышать, на этой территории, пожалуй, есть шансы (ну, в эмбедде и всяких банкоматах-терминалах-кассах ещё, разумеется), по крайней мере, пока нвидия продолжает на отженись относиться к линуксовой экосистеме.

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

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


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

                                                        Но все гораздо проще, уже сейчас в ночных сборках работает Snappy Driver Installer. Больше ничего не нужно искать и раскурочивать, все драйвера в одном наборе. Это попадет в релиз 0.4.11
                                                        0
                                                        Что-нибудь слышно про поддержку нескольких ядер?
                                                    +2
                                                    А поддержка многопроцессорности не появилась?
                                                    Или может какие то новости/планы насчет нее?
                                                      +2
                                                      Хотелось бы также 64-битную версию.
                                                        +1
                                                        64-битная версия на подходе, готовность 90-95%. С многоядерностью пока нет четких прогнозов
                                                      +2
                                                      Желаю разработчиком только бобра! И выиграть/получить хороший таки грант от нашего гос-ва, что-бы хорошенько подстегнуть разработку. Про ОС, я в восторге, а то малость уже привык что наши НИИ и др. только могут пилить ОСи только на ядре линукса, а породить что-то самостоятельное это уже за гранью.
                                                        –8
                                                        Потому и пилят, что за гранты от гос-ва.
                                                        Нефиг, пусть коммерческих инвесторов ищут.
                                                          0
                                                          Приведите, пожалуйста, факты получения проектом грантов от государства.
                                                            0
                                                            НИИ и др. только могут пилить ОСи
                                                              0
                                                              Не правильно вас понял. В некоторых НИИ не оси пилят, а те самые гранты.
                                                          0
                                                          Попрошу не унижать ОСь фразой «пилить ОСи только на ядре линукс». Слишком общая формулировка — если бы перепиливали from scratch, например, то под данную фразу это тоже бы подходило, но при этом предъявить им за это нельзя было бы. Они же форкают дебиан за деньги налогоплательщиков — частный случай, за который действительно стыдно.
                                                          0
                                                          Все клева, только интерфейс удручает, как-то винтажно на 2018.
                                                          Иконки, тоже прошлый век.
                                                          Я это к тому, что кастомизация и внешний вид играют далеко не последнюю роль
                                                            +2
                                                            Все клева, только интерфейс удручает, как-то винтажно на 2018.
                                                            Иконки, тоже прошлый век.

                                                            Так разве это плохо? Наоборот преимущество.
                                                              +1
                                                              Пользователь сам может скачать любую тему оформления и установить.
                                                                +3
                                                                Имхо, очень приятный интерфейс. Без свистоперделок, которые якобы повышают удобство.
                                                                +1
                                                                А USB уже заработало?
                                                                  0
                                                                  В экспериментальных сборках от Вадима Галятна.

                                                                  Версия 0.4.11 (а ночные сборки уже прямо сейчас) сможет устанавливаться по сети на машины без оптических приводов, поэтому без полноценного USB еще можно будет жить какое-то время.
                                                                    +1
                                                                    Ходят слухи, что некоторые люди USB юзают не только для наката операционных систем
                                                                      0
                                                                      Мышки и клавиатуры в большинстве своем работают уже сейчас.
                                                                  0
                                                                  Будет ли работать CorelDraw более-менее последних версий? Насколько помню, с ним была самая большая проблема у всех.
                                                                    0
                                                                    Это нужно экспериментальным путем проверять.

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

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