Components — различия между версиями
Материал из Русский WINE
Строка 46: | Строка 46: | ||
| colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Core | | colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Core | ||
|- | |- | ||
− | + | |Загрузчик || In a rather good shape, needs further development in terms of adding some more features and fixing existing. We switched to the NT-compatible booting method with {{rev|43273}}. Old bootmethod has been removed in {{rev|52491}}. | |
|- | |- | ||
| colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"|Ядро | | colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"|Ядро | ||
|- | |- | ||
− | | | + | |Диспетчер (менеджер) памяти || In a process of a soft rewrite, resulting in a functional equivalent of NT's (2003's) memory manager, without made up ROS-specific implementations and assumptions. |
|- | |- | ||
− | | | + | |Диспетчер объектов || Nearly perfect. Functionally equivalent to 2003's OB. Tested code, works very good. |
|- | |- | ||
− | + | |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. | |
|- | |- | ||
|colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Поддержка файловых систем <span style="font-size: 80%"> – [[ROS File Systems|Файловые системы]]</span> | |colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Поддержка файловых систем <span style="font-size: 80%"> – [[ROS File Systems|Файловые системы]]</span> | ||
Строка 66: | Строка 66: | ||
|colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"|Поддержка драйверов | |colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"|Поддержка драйверов | ||
|- | |- | ||
− | + | |PNP-manager||Supports all driver operations. However, the functional logic is not always the same as in Windows. Implementation is also still very different from Windows PNP. A complete rewrite of the kernel part is planned in the future. | |
|- | |- | ||
|colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" |2D/3D графика | |colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" |2D/3D графика | ||
|- | |- | ||
− | | | + | |GDI||Pretty good shape overall, missing Metafile support. Relies heavily on win32k. |
|- | |- | ||
− | | | + | |GDI+||Completely shared with Wine, relies on GDI. |
|- | |- | ||
− | | | + | |OpenGL||Uses software rendering by default, via Mesa3D ICD driver. API is almost complete, only few wgl* functions are missing. Can load various ICD drivers and works fine on WinXP too. |
|- | |- | ||
− | | | + | |ReactX||D3D9, D3D8 & DDraw APIs are supported via WineD3D – wrapper translating DirectX functions to OpenGL. |
|- | |- | ||
|colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Звук | |colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Звук |
Версия 19:42, 4 марта 2016
Компоненты системы
Данная статья частично является переводом официальной вики.
Текущее состояние компонентов
Название | Текущий статус | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Общее | |||||||||||||
Локализация системы | Зависит от языка. Спросите сопровождающего вашего языка. | ||||||||||||
Программная совместимость | Вы можете помочь проекту, поделившись результатами своих тестов или отправив отчеты об ошибках. | ||||||||||||
Win32-подсистема | |||||||||||||
Win32 DLLs | См. отчеты Testman | ||||||||||||
Win32k |
| ||||||||||||
Core | |||||||||||||
Загрузчик | In a rather good shape, needs further development in terms of adding some more features and fixing existing. We switched to the NT-compatible booting method with r43273. Old bootmethod has been removed in r52491. | ||||||||||||
Ядро | |||||||||||||
Диспетчер (менеджер) памяти | In a process of a soft rewrite, resulting in a functional equivalent of NT's (2003's) memory manager, without made up ROS-specific implementations and assumptions. | ||||||||||||
Диспетчер объектов | Nearly perfect. Functionally equivalent to 2003's OB. Tested code, works very good. | ||||||||||||
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 | Needs a rewrite of a file system driver (fastfat), test it against windows 2003. Started in r38693 | ||||||||||||
NTFS | Completely missing (not to count a very simple stubbed IFS driver). It would make sense to use NTFS-3G from Linux and develop an own driver, also should be developed against Windows 2003. | ||||||||||||
Ext2 | Support in the kernel is missing for a good/known to work driver. | ||||||||||||
Поддержка драйверов | |||||||||||||
PNP-manager | Supports all driver operations. However, the functional logic is not always the same as in Windows. Implementation is also still very different from Windows PNP. A complete rewrite of the kernel part is planned in the future. | ||||||||||||
2D/3D графика | |||||||||||||
GDI | Pretty good shape overall, missing Metafile support. Relies heavily on win32k. | ||||||||||||
GDI+ | Completely shared with Wine, relies on GDI. | ||||||||||||
OpenGL | Uses software rendering by default, via Mesa3D ICD driver. API is almost complete, only few wgl* functions are missing. Can load various ICD drivers and works fine on WinXP too. | ||||||||||||
ReactX | D3D9, D3D8 & DDraw APIs are supported via WineD3D – wrapper translating DirectX functions to 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. |