ROS Newsletter53

Материал из Русский WINE
Перейти к: навигация, поиск

Выпуск новостей ReactOS №53

ReactOS 0.3.8

Версия 0.3.8 была выпущена 4-го Февраля. Разработчики сделали большую работу по подготовке выпуска в довольно сжатые сроки для того, чтобы Эндрю Гринвуд (Andrew Greenwood) успел записать все компакт-диски, которые они возьмут с собой на FOSDEM. Версия 0.3.8 продолжает делать упор на стабильность и удобство в использовании, но в целом системе предстоит пройти долгий путь, прежде чем эти цели будут достигнуты.

FOSDEM

В конференции FOSDEM проект представляло несколько разработчиков. Более детальный отчёт будет выпущен позже, однако уже сейчас можно сказать, что все разработчики остались довольны проведённым там временем. Они смогли встретиться со многими интересными людьми, как FOSS-энтузиастами вообще, так и представителями компаний и других проектов.

RosBE

Даниэль Реймер (Daniel Reimer) выпустил обновлённую версию среды сборки ReactOS Build Environment, использованную для создания релиза версии 0.3.8. Двумя самыми большими обновлениями стали завершение портирования PowerShell и обновление binutils. Для тех, кто не в курсе, среда сборки – это на самом деле лишь набор скриптов, представляющих собой предопределённые параметры и флаги для компилятора, так что пользователю не нужно запоминать и прописывать их самостоятельно. Учитывая сколь громоздки были скрипты в пакетных файлах, новые PS-скрипты должны в будущем упростить архитектуру среды сборки. Но поскольку PS доступен лишь в Windows XP и более поздних версиях ОС, в Windows 2000 поддержка сборки при помощи пакетных файлов будет продолжена, по крайней мере ещё какое-то время. Сборка на операционных системах семейства 9x нами более не поддерживается.

Другое важное обновление коснулось пакета binutils и позволило разрешить несколько проблем с тестами из Wine. Разработчики ReactOS постоянно натыкались на баг в binutils, из-за которого неправильно экспортировались функции в динамических библиотеках. В частности, проблема состояла в добавлении @# в окончаниях имён функций в файлах, определяемых экспортируемые функции. В binutils была был параметр, отвечающий за удаление знаков @# в процессе чтения этого файла. Проблема состояла в том, что некоторые DLL, например MSVCRT, экспортировали функции дважды, один раз со знаками @#, а другой раз – без них. Одним из способов обхода этой проблемы разработчиками было использование @# дважды, так что получалось что-то вроде @#@#. К сожалению binutils удалял обе пары знаков, хотя должен был удалять только последнюю. Поэтому разработчикам binutils был направлен соответствующий отчёт об ошибке, и вскоре она была исправлена. Обновлённый binutils в новой среде сборки включает в себя это исправление, что позволяет тестам Wine для этих компонентов успешно запускаться.

Ещё новости про Win32

Подсистема Win32 продолжает совершенствоваться, на этот раз стараниями Грегора Шнайдера (Gregor Schneider). В последнее время он работал над реализацией системной функции stretchblt, которая занимается изменением размера изображений при их прорисовке. Изменение размера само по себе обычно незамысловато, однако всё становится куда сложнее, если попытаться изменить размер лишь части изображения. Эта функциональность в ReactOS вообще отсутствовала, приводя к большому числу ошибок при прорисовке, например изображения перекрывали управляющие элементы, и даже приводила к падению Firefox при загрузке Google Maps. Грегор реализовал всю необходимую функциональность в win32k и хотя она всё ещё не идеальна, по крайней мере её уже можно использовать.

Разработка поддержки звука

Много воды утекло со времени последних новостей о поддержке звука, но люди, наблюдающие за SVN, заметили, что Йоханнес Андервальд (Johannes Anderwald) сделал ряд коммитов, касающихся поддержки звука. Эндрю Гринвуд также продолжает участвовать, однако он в основном сосредоточился на работах в пользовательском режиме. Йоханнес работал над тремя компонентами: kernel streaming, sysaudio, prtcls и wdmaud. Wdmaud – интерфейс пользовательского режима, откуда берутся все аудиоданные и управляющие элементы, которые затем отсылаются в sysaudio. Итак, Эндрю работал над компонентами, функционирующими в пользовательском режиме, в то время как Йоханнес работал над компонентами режима ядра. Sysaudio определяет, передавать ли аудиоданные с помощью kernel streaming, или микшировать их при помощи kmixer. Portcls выступает как обёртка для аудиодрайверов и содержит несколько функций, призванных помочь разработчикам драйверов. В данный момент ROS не делает никакого микширования, т.к. это требует немало расчётов. Нынешняя цель – довести аудиопоток непосредственно до аудиоустройства. Для этого драйверы, занимающиеся обработкой аудио, должны запускаться как службы. Йоханнес исправил проблему с их инициализацией, но что-то ещё не даёт им корректно зарегистрироваться. Если драйверы не зарегистрированы, то ломается вся цепочка операций, предназначенная для формирования аудиопотока. Йоханнес продолжает заниматься этой проблемой, и, мы надеемся, скоро найдёт её решение.

Newsletters
30-39 #30#31#32#33#34#35#36#37#38#39
40-49 #40#41#42#43#44#45#46#47#48#49
50-59 #50#51#52#53#54#55#56#57#58#59
60-69 #60#61#62#63#64#65#66#67#68#69
70-79 #70#71#72#73#74#75#76#77#78#79
80-89 #80#81#82#83#84#85#86#87#88#89
90-99 #90#91#92#93#94#95#96#97#98#99