Components
Материал из Русский WINE
Версия от 19:04, 4 марта 2016; Petr-akhlamov (обсуждение | вклад)
Компоненты системы
Current Component Status
Name | Current Status | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
General | |||||||||||||
Operating system localization | Depends on language. Ask appropriate language maintainer. | ||||||||||||
Software compatibility | Please help us to test what already works in ReactOS. Share your tests here or report bugs: JIRA | ||||||||||||
Win32 Subsystem | |||||||||||||
Win32 DLLs | See Testman reports | ||||||||||||
Win32k |
| ||||||||||||
Core | |||||||||||||
Bootloader | 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. | ||||||||||||
Kernel | |||||||||||||
Memory manager (MM) | 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. | ||||||||||||
Object manager (OB) | 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. | ||||||||||||
File system support – File Systems | |||||||||||||
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. | ||||||||||||
Driver support | |||||||||||||
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 Graphics | |||||||||||||
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. | ||||||||||||
Sound | |||||||||||||
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. |