Components

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

Компоненты системы

Данная статья частично является переводом официальной вики.


Текущее состояние компонентов

Название Текущий статус
Общее
Локализация системы Зависит от языка. Спросите сопровождающего вашего языка.
Программная совместимость Вы можете помочь проекту, поделившись результатами своих тестов или отправив отчеты об ошибках.
Win32-подсистема
Win32 DLLs См. отчеты Testman
Win32k
Поддержка драйверов принтера в пользовательском режиме: нереализовано.
Текст/шрифт системы: необходимо полностью переписать.
код DIB: в основном, реализован, необходима оптимизация в некоторых местах.
Указатель мыши: отсутствует поддержка alpha.
Поддержка регионов: необходимо улучшение интерфейса, ROS-специфичные структуры устарели.
Ручки: отсутствует поддержка геометрических ручек.
Кисти: отсутствует поддержка драйверов, управляющих штрихами кистей.
GDI handle manager: переписан в r51470.
User handle manager: необходимо исправить, для работы эквивалентной Windows.
Bitmap code: секция DIB очень испорчена и нуждается в большом количестве исправлений.
Отрисовка линий: необходимо полностью переписать.
Coordinate transfomation: возможно перенести в режим пользователя.
Core
Загрузчик В довольно хорошей форме, нуждается в дальнейшем развитии, с точки зрения добавления некоторых дополнительных функций и исправлении ошибок в существующих. Разработчики перешли к NT-совместимому методу начальной загрузки с r43273. Старый метод был удален в r52491.
Ядро
Диспетчер (менеджер) памяти В процессе мягкого переписывания, в результате которого должен получиться по функционалу эквивалентным NT (Windows Server 2003) диспетчеру памяти, без ROS-специфичных реализаций и допущений.
Диспетчер объектов Почти идеален. Функционально эквивалентен диспетчеру объектов Windows Server 2003. Код протестирован, работает очень хорошо.
Common Cache (CC) Адаптируется к изменяющемуся диспетчеру памяти. Существует три переписывания: No-Cc (версия ядра, которая не производит кэширование вообще, очень медленная); arty-cc от Art Yerkes, полностью новый Cc с хорошей, отдельной от Mm архитектурой, и находящийся в разработке.
Поддержка файловых систем Файловые системы
FAT32 Требуется переписать драйвер (с использованием fastfat), и протестировать его в Windows 2003. Начато в r38693
NTFS На текущий момент, Пьером Швейцером добавлена поддержка NTFS, пока readonly.
Ext2 Переписан, с использованием ext2fsd.
Поддержка драйверов
PNP-manager Поддерживает все операции над драйверами. Однако, функциональная логика не всегда такая же, как в Windows. Реализация так же по-прежнему отличается от Windows PNP. В будущем, планируется полная перезапись части ядра.
2D/3D графика
GDI В целом, в хорошей форме, отсутствует поддержка метафайлов. Сильно зависит от win32k.
GDI+ Полностью основана на реализации Wine, основана на GDI.
OpenGL По-умолчанию, использует программный рендеринг через драйвер Mesa3D ICD. API полностью совместимо, только отсутствуют несколько wgl*-функций. Может загружать различные ICD-драйвера, а так же нормально работает в WinXP.
ReactX API-интерфейсы D3D9, D3D8 & DDraw поддерживаются через WineD3D – обертку, транслирующую функции DirectX в OpenGL.
Звук
Portcls Класс драйвера для драйвера аудиосистемы. Поддержка MIDI отсутствует. Необходимо HW-тестирование для реализации драйвера порта (IPortWavePci & IPortWaveRT). Для WaveIn (запись аудио) также необходимо протестировать и исправить ошибки Portcls/sysaudio.
Sysaudio Обработчик доступа аудио драйверов для управления интерфейсом устройства. Необходимо совместить несколько аудиопотоков в один с помощью kmixer. Portcls/sysaudio так же необходимо протестировать и исправить в них ошибки для WaveIn (записи аудио).
Wdmaud Компонент режима ядра wdmaud.drv. Реализует API Wave / Mixer / MIDI. Необходимо написать реализацию MIDI APIs и поддержку WaveIn + Mixer.
Kmixer Выполняет смешивание / преобразование потоков. В настоящий момент реализован очень плохо. Перед исправлением kmixer, необходимо реализовать поддержку Kernel FPU float saving.
ReactOS
Search.png
Доклады
О ReactOSARWINSSЧастовстречаемые заблуждения о ReactOS
Информация Новости Выпуски новостейПереводы блоговНовости проектаВидео про ReactOSReactOS на ХабреUSB от Вадима Галянта
Разработка Руководство по программированиюОтсутствующая функциональностьВетви разработкиКомпоненты системыReactOS и WineПлан работРазработчикиСовместимость с dll WindowsНаиболее значимые изменения за годИспользуемые проектыGoogle Summer of CodeИзвестные проблемы
Порты AMD64ARMXboxPowerPC
Компоненты Файловые системыРежим совместимостиОтчеты об ошибкахПечатьUSBЯдро
Загрузчик Восстановление MBRЗагрузка из GRUBПараметры загрузки
Прочее ARWINSSПриложения в ReactOSОформление ReactOS
Другое КоординаторыТипы ядерFreeWin95"Пасхальные яйца" в ReactOS
Помощь
RAM-диск ReactOS по PXEс жесткого диска
Разработка Стиль написания кодаСтандарты RC-файловРабота с документациейВенгерская нотацияGNU Indent • [ Subversion : ветвислияниеиспользование TortoiseSVN ] • Основы переводаОтправка патчей
Репорты Отладка в VirtualBoxОтладка на экранДобавление программы в менеджер приложенийОтправка отчетов
Отладка Com0comGDBKdbgRossym.gdbRoswin.gdbWinDBGРуководство по WinDBGВключение трассировки ядраКоды DPRINTУдалённый отладчик ReactOS
Сборка CMakeRBuildФайлы RBuildАвтоматическое копирование файловСборка MINGW-w64Сборка модулейСреда сборки
Тестирование VirtualBoxVMwareQEMUHyper-VНеобходимый объём дискаПеренос файлов на виртуальный дискУстановка ReactOSУстановка драйверов
Сеть Общие папкиSambaNFS
Игры Установка DirectPlay
Обновление ReactOSЗагрузочная флешкаЧем можно помочь проектуСоздание нового пользователяЗвук и сеть в VirtualBoxСъемка и публикация видеоIRC-каналСторонние компоненты
Обзоры ОболочкаNTVDMWOWCommunity Edition