Components
Материал из Русский WINE
Компоненты системы
Данная статья частично является переводом официальной вики.
Текущее состояние компонентов
Название | Текущий статус | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Общее | |||||||||||||
Локализация системы | Зависит от языка. Спросите сопровождающего вашего языка. | ||||||||||||
Программная совместимость | Вы можете помочь проекту, поделившись результатами своих тестов или отправив отчеты об ошибках. | ||||||||||||
Win32-подсистема | |||||||||||||
Win32 DLLs | См. отчеты Testman | ||||||||||||
Win32k |
| ||||||||||||
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. |