Difference between revisions of "Version Status"
m |
|||
Line 2: | Line 2: | ||
== Current Component Status == | == Current Component Status == | ||
{| class="wikitable" | {| class="wikitable" | ||
− | |||
! Name !! Current Status | ! Name !! Current Status | ||
|- | |- | ||
| colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"| General | | colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"| General | ||
− | |||
− | |||
|- | |- | ||
| [[Translation Introduction|Operating system localization]] || Depends on language. Ask appropriate language maintainer. | | [[Translation Introduction|Operating system localization]] || Depends on language. Ask appropriate language maintainer. | ||
Line 18: | Line 15: | ||
|- | |- | ||
| [[Win32k.sys|Win32k]] || | | [[Win32k.sys|Win32k]] || | ||
− | Support for '''User mode printer drivers''': unimplemented. | + | {| |
− | '''Text/font system''': needs complete rewrite. | + | |Support for '''User mode printer drivers''': unimplemented. |
− | '''DIB code''': mostly implemented, could need optimisation in some places. | + | |- |
− | '''Mouse pointer''': missing alpha support. | + | |'''Text/font system''': needs complete rewrite. |
− | '''Region support''': interface improvements needed, ROS specific structures to be deprecated. | + | |- |
− | '''Pens''': missing support for geometric pens. | + | |'''DIB code''': mostly implemented, could need optimisation in some places. |
− | '''Brushes''': missing support for driver managed hatch brushes. | + | |- |
− | '''GDI handle manager''': rewritten in {{rev|51470}}. | + | |'''Mouse pointer''': missing alpha support. |
− | '''User handle manager''': needs to be fixed to work more like Windows. | + | |- |
− | '''Bitmap code''': DIB sections are very broken, needs lots of fixing. | + | |'''Region support''': interface improvements needed, ROS specific structures to be deprecated. |
− | '''Line Drawing''': needs full rewrite. | + | |- |
− | '''Coordinate transfomation''': possibly to be moved to usermode. | + | |'''Pens''': missing support for geometric pens. |
+ | |- | ||
+ | |'''Brushes''': missing support for driver managed hatch brushes. | ||
+ | |- | ||
+ | |'''GDI handle manager''': rewritten in {{rev|51470}}. | ||
+ | |- | ||
+ | |'''User handle manager''': needs to be fixed to work more like Windows. | ||
+ | |- | ||
+ | |'''Bitmap code''': DIB sections are very broken, needs lots of fixing. | ||
+ | |- | ||
+ | |'''Line Drawing''': needs full rewrite. | ||
+ | |- | ||
+ | |'''Coordinate transfomation''': possibly to be moved to usermode. | ||
+ | |- | ||
+ | |} | ||
|- | |- | ||
| colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Core | | colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | Core | ||
|- | |- | ||
− | | [[FreeLoader|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 {{rev|43273}}. Old bootmethod has been removed in {{rev|52491}}. | + | |[[FreeLoader|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 {{rev|43273}}. Old bootmethod has been removed in {{rev|52491}}. |
|- | |- | ||
| colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"|Kernel | | colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"|Kernel | ||
Line 39: | Line 50: | ||
|[[NewCc#Ok so about NewMM|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. | |[[NewCc#Ok so about NewMM|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 | + | |Object manager (OB) || Nearly perfect. Functionally equivalent to 2003's OB. Tested code, works very good. |
|- | |- | ||
− | |[[NewCc|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) | + | |[[NewCc|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%" | File system support <span style="font-size: 80%"> – [[File Systems]]</span> | |colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" | File system support <span style="font-size: 80%"> – [[File Systems]]</span> | ||
Line 47: | Line 58: | ||
|[[File Systems#FAT32|FAT32]] || Needs a rewrite of a file system driver (fastfat), test it against windows 2003. Started in {{rev|38693}} | |[[File Systems#FAT32|FAT32]] || Needs a rewrite of a file system driver (fastfat), test it against windows 2003. Started in {{rev|38693}} | ||
|- | |- | ||
− | |[[File Systems#NTFS|NTFS]]||Completely missing (not to count a very simple stubbed IFS driver). It would make sense to use NTFS | + | |[[File Systems#NTFS|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. |
|- | |- | ||
|[[File Systems#ext2|Ext2]]|| Support in the kernel is missing for a good/known to work driver. | |[[File Systems#ext2|Ext2]]|| Support in the kernel is missing for a good/known to work driver. | ||
Line 54: | Line 65: | ||
|- | |- | ||
|[[Gopher|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. | |[[Gopher|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 Graphics | |colspan="2" style="background: #eee; font-weight: bold; font-size: 120%" |2D/3D Graphics | ||
Line 76: | Line 85: | ||
|- | |- | ||
|Kmixer||Performs mixing / conversions of streams. Currently very poorly implemented. Needs Kernel FPU float saving support before more work can be done. | |Kmixer||Performs mixing / conversions of streams. Currently very poorly implemented. Needs Kernel FPU float saving support before more work can be done. | ||
− | |||
|} | |} | ||
Latest revision as of 07:29, 9 May 2014
This page is probably outdated The information on this page might not be valid for the current state of ReactOS. |
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. |