Components
Материал из Русский WINE
Версия от 22:50, 7 марта 2016; Petr-akhlamov (обсуждение | вклад)
Компоненты системы
Данная статья частично является переводом официальной вики.
Текущее состояние компонентов
Название | Текущий статус | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Общее | |||||||||||||
Локализация системы | Зависит от языка. Спросите сопровождающего вашего языка. | ||||||||||||
Программная совместимость | Вы можете помочь проекту, поделившись результатами своих тестов или отправив отчеты об ошибках. | ||||||||||||
Win32-подсистема | |||||||||||||
Win32 DLLs | См. отчеты Testman | ||||||||||||
Win32k |
| ||||||||||||
Core | |||||||||||||
Загрузчик | В довольно хорошей форме, нуждается в дальнейшем развитии, с точки зрения добавления некоторых дополнительных функций и исправлении ошибок в существующих. Разработчики перешли к NT-совместимому методу начальной загрузки с r43273. Старый метод был удален в r52491. | ||||||||||||
Ядро | |||||||||||||
Диспетчер (менеджер) памяти | В процессе мягкого переписывания, в результате которого должен получиться по функционалу эквивалентным NT (Windows Server 2003) диспетчеру памяти, без ROS-специфичных реализаций и допущений. | ||||||||||||
Диспетчер объектов | Почти идеален. Функционально эквивалентен диспетчеру объектов Windows Server 2003. Код протестирован, работает очень хорошо. | ||||||||||||
Common Cache (CC) | Stays as it is for now, adapting to the changing memory manager. There exist three rewrites: No-Cc (a version of the kernel which does no caching at all, very slow); arty-cc by Art Yerkes, totally new Cc with a good, separated from Mm architecture, WIP. | ||||||||||||
Поддержка файловых систем – Файловые системы | |||||||||||||
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 | Is a class driver for the audio driver subsystem. MIDI support is missing. HW testing needed for port driver implementation (IPortWavePci & IPortWaveRT). Portcls / sysaudio also need testing & bugfixing for WaveIn (audio recording). | ||||||||||||
Sysaudio | Handles access to the audio port drivers by managing the device interfaces. Needs to map multiple audiostream to a virtual audio pin in kmixer. Portcls / sysaudio also need testing & bugfixing for WaveIn (audio recording). | ||||||||||||
Wdmaud | Is a kernel mode component of wdmaud.drv . Implements the Wave / Mixer / MIDI API. Needs MIDI APIs implemented and WaveIn support + Mixer support. | ||||||||||||
Kmixer | Performs mixing / conversions of streams. Currently very poorly implemented. Needs Kernel FPU float saving support before more work can be done. |