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. | ||||||||||||