В этом выпуске — поддержка новых API, возвращение доктора Ватсона, баги с фантастическими историями.
Скачать установочные образы | Пресс–релиз | Список изменений | TL;DR | Тесты и список регрессий
Итак, начнем с главного! Именно в релизе 0.4.8 впервые официально активирована экспериментальная возможность запуска приложений, написанных для платформы NT6+ (Vista, Windows 7, 8, 10). Поддержка реализована путем дальнейшего развития специальной прослойки для обеспечения совместимости и внесения дополнительных изменений в Kernel32, NTDLL и LDR, в том числе речь идет о механизме подмены корневого манифеста и маскировки доступности API. Навороченные программы вы, конечно, врядли запустите, но список поддерживаемых приложений значительно расширился!
И еще хотим раскрыть небольшой большой секрет, что в ближайшее время (мы надеемся) проект начнет выпуск работоспособных 64–битных сборок операционной системы.
С этого момента в состав дистрибутива включён инструмент, аналогичный DrWatson32, позволяющий в случае краха приложения, сохранить файл с логом состояния на рабочий стол. В логе отражены данные, полезные для диагностики критических ошибок, например, списки загруженных модулей и потоков, трассировки стека, дампы и сведения о состоянии регистров. Это упростит тестерам отправку баг-репортов связанных с критическими сбоями приложений.
Пьером Швейцером было устранено несколько проблем в системе управления кэшем Common Cache (один из обнаруженных в процессе и устраненных багов был внесен аж 17 лет назад) и загрузчике Freeloader, что позволило вновь обеспечить загрузку на системах с 96 Mb RAM.
Так же в системе управления кэшем Пьером была добавлена поддержка упреждающего чтения (Read Ahead) и отложенной записи (Lazy Writing).
Были решены проблемы с инициализацией в некоторых играх, проявляющиеся при использовании родных графических драйверов. Также устранены искажения цветов в приложениях, использующих DirectX.
В комплект базовой поставки добавлены виртуальные драйверы CD–ROM и флоппи–привода. И наконец-то устранены проблемы, которые мешали загрузке ReactOS на очень старом оборудовании и в виртуальных машинах с подключенным пустым флоппи–приводом.
Драйвер CDFS (CD–ROM file system) был заменён на оригинальную реализацию от Microsoft, код которой был открыт под лицензией MS–PL. В ходе рецензирования произошел уникальный случай — разработчики ReactOS нашли ошибку в коде Microsoft и выслали исправление. Теперь код ReactOS будет в коде Microsoft.
Добавлен новый драйвер NTFS с начальной поддержкой записи (поддержка записи все еще недоработана, но для тестирования может быть включена через реестр). Разработка этого драйвера была начата также Пьером Швейцером, а функционал записи создавался Тревором Томпсоном в течение двух летних сезонов GSoC 2016 и 2017 годов.
Внесены различные улучшения оболочки Explorer — автоскрытие и блокировка панели задач, уведомления системного лотка, мониторинг иконок активных приложений в системном лотке, отлажены операции удаления и переименования папок, выделения множества файлов на рабочем столе.
Как обычно, осуществлена синхронизация с со свежей кодовой базой 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)
staticlab
18.04.2018 21:26С этого момента в состав дистрибутива включён инструмент, аналогичный DrWatson32
А как вы его назвали, если не секрет?
CaptainFlint
18.04.2018 22:29Эх, а для меня Холмс и Ватсон — это исключительно Ливанов и Соломин… После них все прочие выглядят чуть ли не пародиями.
Сорри за оффтоп и поздравления с очередным релизом!
grimalschi
18.04.2018 22:41+1Какие планы по развитию дизайна системы?
Говорю про оформление. Я понимаю, что дизайн — это все лишь обложка, и важнее суть, функционал.
Но для неискушенного пользователя интерфейс из эпохи 2000 — это что-то сильно устаревшее. Что-то, с чем не хотелось бы связываться.
Я к чему это. Вероятно, в современно мире глючная программа с хорошим дизайном имеет больше шансов на успех, чем безупречно рабочая программа с плохим дизайном. При условии, конечно, что глючная программа глючит, но пользоваться ею можно.
С хорошим современным дизайном отношение к ОС, по моему мнению, может измениться с «отстающей» на «догоняющую».
Дизайн ОС — это наверняка сложная тема, но вам не обязательно выдумывать что-то свое. Вы можете взять дизайн у Windows 10 (если правовых ограничений нет, разумеется). Это будет логичным развитием.
Прошу без шуток про нескучные обои.x86corez
18.04.2018 23:21+1Material design, а-ля Win 10, вы считаете развитием дизайна?
И да, на первых двух скриншотах в статье используется тема окон Lautus, встроенная в ReactOS.
dark_snow
19.04.2018 00:12Сейчас бы 10ку как дизайн советовать — да вы мазохист батенька…
ExTalosDx
19.04.2018 01:28Лучше чем почти ничего
x86corez
19.04.2018 01:47+1Вот ReactOS с дизайном от Windows 10. Полегчало? :)
Fails
19.04.2018 02:00Отступы не те! Нету удовлетворения! :)</Перфекционист_мод>
Думаю, можно в самой теме попатчить отступы для кнопок «свернуть»/«развернуть»/«закрыть», благо системная.метрика была, и к ней был даже ui (вкоадка «офопмление» свойств экрана)danfe
19.04.2018 08:14+1Вот да, ReactOS патологически не умеет в отступы, издревле. Берешь любой скриншот, а там такое:
Ffffffuuuu...dark_snow
19.04.2018 02:29-2Ой мляааа, я только поел, зачем такую мерзость без спойлера кидать? Да и за само упоминание о 10ке приличные люди лицо бьют, больно.
x67
19.04.2018 03:14А просвятите, чем плоха эта неприличная ОС(кроме известных багов/фич с апдейтами и телеметрией)?
И чем ее предлагается заменить(если предлагается) инженерам, некоторым ученым и прочему люду, слабо связанному с разработкой ПО?dark_snow
19.04.2018 03:43-210ка как минимум жрет дохрена, пилится для хомячков-геймеров (ощущение от новостей и рассылок именно такое) и как максимум (раз уж человек поднял тему оформления как должности нынче (и он так то прав, ибо сейчас в основном хомячки на обертку как сороки и ведутся)), то дизайн у 10ки полное и тошнотворное говно, могли б практически идеальное аэро допилить логически — я 7й шЫндой на планшете на раз пользуюсь прекрасно. Материал изначально убог — при нынешних то граф.мощностях, а то логика: слабые видяхи и достаточно увесистое аэро, но красивое и удобное и мощные видяхи с еще более прожорливым интерфейсом, но при этом гадким и непонятно вообще, чего оно с однотонными квадратиками столько жрет. Я для себя вообще на линукс переехал, ибо ХР убили, 7ку добивают, а 8+ убожество.
GoldJee
19.04.2018 16:22В приличном обществе лицо бьют за такие комментарии, а не за упоминание 10.
Нечего навязывать людям свое мнение и вешать ярлыки.
PS. Пользуюсь Windows 10, Arch Linux, macOS. Каждой свое применение.
Ayahuaska
20.04.2018 10:1310ка как минимум жрет дохрена, пилится для хомячков-геймеров
У вас прямо в самом начале взаимоисключающие параграфы.
Disbeleiver
19.04.2018 18:02Диск дергает постоянно и неконтролируемо. Отключение суперфетчей и прочих индексирований не помогает. Мопед не мой, друг мучился-мучился и в итоге типа решил проблему, купив ссд стоимостью в половину ноута.
Прошу не обвинять в ретроградстве типа «жесткие диски устарели». Может быть, и устарели, но нет объективной причины для того, чтобы голая ОС, установленная пять минут назад, не умещала свой барахло в 16 гб памяти и продолжала что-то там ковырять на дисках.perlestius
19.04.2018 18:09А Вы уверены, что дело именно в ОС, а не в больном диске? Часто наблюдал такое на сыплющихся HDD.
sumanai
19.04.2018 21:21голая ОС, установленная пять минут назад
Как раз тогда она и насилует диск своими оптимизациями. Через пару дней проходит, говорят. Но да, без SSD десятка мало юзабельна.
grimalschi
19.04.2018 18:24-1Намного лучше. Почему не ставить эту тему по умолчанию?
sumanai
19.04.2018 21:23Потому что она основана на проприетарном и запатентованном интерфейсе Windows 10. И если на левого темодела всем плевать, то к ReactOS обязательно придерутся.
Suvitruf
19.04.2018 07:55Красота в простоте.
CaptainFlint
19.04.2018 11:35Не всегда и не для всех.
PsyHaSTe
19.04.2018 11:44Дизайн десятки мне лично нравится больше, за исключением кнопок которые выглядят как текст, и текста который выглядит как кнопка.
CaptainFlint
19.04.2018 12:43Меня больше всего в ней раздражает это и ещё отсутствие границ и разделителей между разными областями и компонентами. Например, стандартный листбокс с заголовком стал выглядеть вот так. Попробуй догадайся, что первая строчка — это заголовок!
Вообще, из всех вариантов оформления лично мне больше всего нравится семёрочная Aero. К сожалению, MS предпочитает считать, что вкусы у людей обязаны быть одинаковыми, и вместо того, чтобы давать возможность самому выбрать внешний вид, принудительно навязывает то, что на данный момент считает самым крутым и прогрессивным. Ишь чего вздумали, вкусовщину разводить!
SlimShaggy
19.04.2018 01:28+3Если в планах ReactOS нет поддержки планшетов, то лучше уж пусть ориентируются на дизайн Windows 7. В десятке от «мобилизации» десктопному пользователю одни неудобства(
pensnarik
19.04.2018 07:35Я мне как раз оформление Win2000 кажется самым удачным. Ничего лишнего, все аккуратненько. Именно по этой причине для *nix мне нравится XFCE, хоть он и развивается медленно. Жаль, что прошло время Material Desing.
danfe
19.04.2018 12:15Что-что, а оформление Windows 95 (в WinME и Win2K по сути оно же) получилось у них на удивление удачным: строгим, удобным, при этом по-своему красивым и нераздражающим. Иногда я даже подумываю переодеть все иксовые гуи-тулкиты в темы вроде каких-нибудь Chicago/Redmond95 (а FLTK-приложения и так как родные выглядят).
VBKesha
19.04.2018 11:59Ну и нахрена нужно две 10тки.
А вот на дизайн от 2К или XP(особенно) я очень надеюсь, потому что всё что было после XP лично мне не очень нравится.
loginsin
18.04.2018 23:04Пытался тут запустить пару своих проектиков на ReactOS. MB_GetString возвращает мусор. Глянул вглубь и понял, что не скоро еще будет нормальная поддержка Windows приложений. :-)
Сейчас глянул еще раз: тоже самое.
loginsin
18.04.2018 23:25Прошу не обижаться, но не хочу каждый раз так проводить ревизию кода. При этом еще проходить нетривиальную регистрацию. Мне кажется, тестирование должно происходить чуть лучше, чем «скомпилировалось, значит работает».
Есть API, которые не прогонишь простым вызовом функции, но тут уж такое! Баг, кстати, интересный и в LoadStringW (не такая уж и редкоиспользуемая функция), а не в MB_GetString: используется малоизвестная особенность этой функции, когда buflen нулевой.x86corez
19.04.2018 01:30+1Прошу не обижаться, но не хочу каждый раз так проводить ревизию кода.
В смысле, каждый раз? Релизы — они конечно выходят раз в три месяца, но разве кто-то отменяет ежедневную проверку системы? Сборочный бот делает «ночные» сборки после каждого коммита в главный репозиторий.
При этом еще проходить нетривиальную регистрацию.
В чём сложность зарегистрироваться на форуме, а потом с этим же логином и паролем войти в баг трекер JIRA? Регистрация — это одноразовая процедура.
Мне кажется, тестирование должно происходить чуть лучше, чем «скомпилировалось, значит работает».
Похоже вы даже не в курсе, что у нас есть огромная структурированная куча API-тестов, которые также прогоняются ботами после каждого коммита, после чего генерируются подробные отчёты.
Подходя к основной части моего ответа, по поводу функции LoadStringW, если вы знаете о ней что-то, чего не знают разработчики, или даже не знает MSDN, и в репозитории нет соответствующего API-теста… не поленитесь написать API-тест, который будет проверять данное поведение функции. Если всё будет сделано правильно, то тест выдаст положительный результат на Microsoft Windows 2003, и отрицательный результат в ReactOS.
Реализованный API-тест я настоятельно рекомендую оформить в виде пулл-реквеста в репозиторий ReactOS. После этого можно будет приступить к исправлению самой функции.loginsin
19.04.2018 01:40Напишите, пожалуйста, в личку, алгоритм пулреквестов, я напишу. Мне не хочется написать реквестов по глупостям "*(LPWSTR*) var) = xxxx" и ждать по много времени.
Я WinAPI использую по полной и тесты проваливаются, к сожалению, во многом.x86corez
19.04.2018 01:46WinAPI вы используете, а про пулл-реквесты не знаете. Честно говоря не ожидал такого от вас.
help.github.com/articles/creating-a-pull-requestloginsin
19.04.2018 01:53Не связанные вещи.
x86corez
19.04.2018 01:59Если что, вот тут есть пошаговая инструкция, для тех, кто ещё не знал про GitHub:
reactos.org/wiki/Commiting_Changes
Надеюсь, у вас всё получится.
TrllServ
19.04.2018 09:48Сборка Live опробована и выдает IO1 Init fault(fail) (0х0..069)
В режиме дебаг останавливается на SWENUM.SYS
Тест на двух разных машинках 32 и 32_64, относительно старых, без уефи.
Загрузка с флешки груб дос.Jeditobe Автор
19.04.2018 12:50С флешки официальные образы и не загрузятся, только образы от Вадима могут, но и там пока проблемы.
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, всего один раз упав в синий экран, но после перезагрузки включилось всё.
markmariner
19.04.2018 10:03Вижу на скриншотах, что для текста в интерфейсах используется шрифт Tahoma. Есть ли у вас информация о том, как его лицензировали для такого использования?
x86corez
19.04.2018 13:10В ReactOS используется свободный заменитель данного шрифта, и на скриншотах по-моему именно он.
robux
19.04.2018 10:11+1Позавчера погонял Reactos. В принципе запускается, даже видео проигрывает (без звука, т.к. дрова на звуковуху не встали). Что приятно — отображаются линуксовые (ext2) разделы.
Теперь вопросы:
- Почему USB-мышь не работает (светодиод гаснет при загрузке реактоси)? При этом USB-клава робит.
- Почему русские буквы крякозяблами в именах файлов FAT32 и в F9-меню Far, если его на русский переключить?
- Почему грузится только в режиме LiveCD-screen?
x86corez
19.04.2018 13:121. USB стек ещё не доделан (в релизе 0.4.8 всё ещё используется старый, который не от Вадима).
2. По этому случаю надо бы отправить баг репорт.
3. Какой-нибудь баг в PnP менеджере или где-то ещё (тут нужны отладочные логи).
PsyHaSTe
19.04.2018 11:42+1В ходе рецензирования произошел уникальный случай — разработчики ReactOS нашли ошибку в коде Microsoft и выслали исправление. Теперь код ReactOS есть в коде Microsoft.
С такими высказываниями лучше сразу давать ссылку на PR.
А вообще круто, исправление багов в винде — польза дла миллионов пользователей.
Klestofer
19.04.2018 16:02А вы не думали о взаимовыгодном сотрудничестве с Гейбом Ньюэллом?
Проект ReactOS получил бы серьёзное финансирование и смог бы развиваться быстрее. Гейб получил бы операционную систему для запуска Steam'а с играми и перестал бы бояться что Miscrosoft однажды разрешит устанавливать игры только из своего магазина. Пользователи получили бы бесплатную Windows и вендекапец бы наступил :-)Jeditobe Автор
20.04.2018 09:46А у вас есть прямой выход на него? Потому, что «кривые» выходы мы уже давно испробовали =)
staticlab
20.04.2018 11:33На всякий случай спрошу: http://www.valvesoftware.com/email.php и gaben@valvesoftware.com пробовали?
sumanai
Ура! Я на это ещё пару лет назад 5баксов задонатил.
Grogina
надеюсь это всё-таки ирония
sumanai
Нет, я на самом деле донатил им 5 баксов после того как Jeditobe отписал про донат, а я про 64 бита.