Difference between revisions of "Version Status"

From ReactOS Wiki
Jump to: navigation, search
m (Take advantage of template for revision# linkage)
 
(23 intermediate revisions by 10 users not shown)
Line 1: Line 1:
{{Warning|If you are not a developer and you want to edit the status of a component, then ask its current developer/maintainer first. Quote him on the Discussion page. This is mandatory to make sure the information is authoritative.}}
+
{{outdated}}
 +
== Current Component Status ==
 +
{| class="wikitable"
 +
! Name !! Current Status
 +
|-
 +
| colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"| General
 +
|-
 +
| [[Translation Introduction|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 [[Testing Central|here]] or report bugs: [http://jira.reactos.org/ JIRA]
 +
|-
 +
| colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"| Win32 Subsystem
 +
|-
 +
| Win32 DLLs || [http://reactos.org/testman/ See Testman reports]
 +
|-
 +
| [[Win32k.sys|Win32k]] ||
 +
  {|
 +
  |Support for '''User mode printer drivers''': unimplemented.
 +
  |-
 +
  |'''Text/font system''': needs complete rewrite.
 +
  |-
 +
  |'''DIB code''': mostly implemented, could need optimisation in some places.
 +
  |-
 +
  |'''Mouse pointer''': missing alpha support.
 +
  |-
 +
  |'''Region support''': interface improvements needed, ROS specific structures to be deprecated.
 +
  |-
 +
  |'''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
 +
|-
 +
|[[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
 +
|-
 +
|[[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.
 +
|-
 +
|[[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>
 +
|-
 +
|[[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-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.
 +
|-
 +
|colspan="2" style="background: #eee; font-weight: bold; font-size: 120%"|Driver support
 +
|-
 +
|[[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
 +
|-
 +
|[[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%" | [[Supported Hardware/Sound cards|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.
 +
|}
  
Current maintainer: [[User:D0g|D0g]]
+
== See Also ==
 +
*[[Missing ReactOS Functionality]]
 +
*[[Ideas]]
 +
*[[Supported Hardware]]
  
Looking for old version ? It's [[Version Status Old|here]].
+
[[Category:Development]]
 
+
[[Category:ReactOS Components]]
Something is missing ? Leave me a note on IRC (<code style="display: inline">/msg MemoServ send SuperDog <your_msg></code>) or use my [[User_talk:D0g|Talk page]].
 
 
 
<table class="wikitable" border="1" cellpadding="3" cellspacing="0" style="border: gray solid 1px; border-collapse: collapse; width: 90%;">
 
<tr>
 
<th style="width: 50%;">Name</th>
 
<th style="width: 50%;">Current Status</th>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">General</td>
 
</tr>
 
 
 
<tr>
 
<td>Website localization</td>
 
<td>[http://www.reactos.org/roscms/?page=data&branch=welcome See RosCMS (permissions needed)] or ask appropriate language maintainer.</td>
 
</tr>
 
 
 
<tr>
 
<td>Operating system localization</td>
 
<td>Depends on language. Ask appropriate language maintainer.</td>
 
</tr>
 
 
 
<tr>
 
<td>Software compatibility</td>
 
<td>[http://www.reactos.org/compat/ See Compatibility Database]</td>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">Win32 Subsystem</td>
 
</tr>
 
 
 
<tr>
 
<td>Win32 DLLs</td>
 
<td>[http://reactos.org/testman/ See Testman reports]</td>
 
</tr>
 
 
 
<tr>
 
<td>Win32k</td>
 
<td>
 
Support for '''User mode printer drivers''': unimplemented.<br/>
 
'''Text/font system''': needs complete rewrite.<br/>
 
'''DIB code''': mostly implemented, could need optimisation in some places.<br/>
 
'''Mouse pointer''': missing alpha support.<br/>
 
'''Region support''': implemented, only minor interface improvements needed.<br/>
 
'''Pens''': missing support for geometric pens.<br/>
 
'''Brushes''': missing support for driver managed hatch brushes.<br/>
 
'''GDI handle manager''': implemented, needs improvement.<br/>
 
'''User handle manager''': needs to be fixed to work more like Windows.<br/>
 
'''Driver loading''': needs rewrite (WIP by Timo).<br/>
 
'''Bitmap code''': especially DIB sections are very broken, needs lots of fixing.
 
</td>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">Core</td>
 
</tr>
 
 
 
<tr>
 
<td>Bootloader</td>
 
<td>In a rather good shape, needs further development in terms of adding more features and fixing existing. We switched to the NT-compatible booting method with {{rev|43273}}. Old bootmethod is deprecated and will be deleted from codebase after the 0.3.11 release.</td>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">Kernel</td>
 
</tr>
 
 
 
<tr>
 
<td>Memory manager (MM)</td>
 
<td>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.</td>
 
</tr>
 
 
 
<tr>
 
<td>Object manager (OB)</td>
 
<td>Nearly perfect. Functionally equivalent to 2003's OB. Tested code, works very good. Experienced only bugfixes during the last two years.</td>
 
</tr>
 
 
 
<tr>
 
<td>Common Cache (CC)</td>
 
<td>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); cache-manager-rewrite, started long time ago, but still occasionally maintained in a working condition; arty-cc by Art Yerkes, totally new Cc with a good, separated from Mm architecture, WIP.</td>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">Filesystem support</td>
 
</tr>
 
 
 
<tr>
 
<td>FAT32</td>
 
<td>Needs a rewrite of a file system driver (fastfat), test it against windows 2003.</td>
 
</tr>
 
 
 
<tr>
 
<td>NTFS</td>
 
<td>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.</td>
 
</tr>
 
 
 
<tr>
 
<td>Ext2</td>
 
<td>Support in the kernel is missing for a good/known to work driver.</td>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">Driver support</td>
 
</tr>
 
 
 
<tr>
 
<td>VXD</td>
 
<td>Not planned at all, it's a Win9x thing.</td>
 
</tr>
 
 
 
<tr>
 
<td>WDM</td>
 
<td>TBA</td>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">2D/3D Graphics</td>
 
</tr>
 
 
 
<tr>
 
<td>GDI</td>
 
<td>TBA</td>
 
</tr>
 
 
 
<tr>
 
<td>GDI+</td>
 
<td>Completely shared with Wine.</td>
 
</tr>
 
 
 
<tr>
 
<td>OpenGL</td>
 
<td>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.</td>
 
</tr>
 
 
 
<tr>
 
<td>DirectX</td>
 
<td>D3D9, D3D8 & DDraw APIs are supported via WineD3D -  wrapper translating DirectX functions to OpenGL.</td>
 
</tr>
 
 
 
<tr>
 
<td colspan="2" style="background: #eee; font-weight: bold; font-size: 120%">Sound</td>
 
</tr>
 
 
 
<tr>
 
<td>Portcls</td>
 
<td>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).</td>
 
</tr>
 
 
 
<tr>
 
<td>Sysaudio</td>
 
<td>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).</td>
 
</tr>
 
 
 
<tr>
 
<td>Wdmaud</td>
 
<td>Is a kernel mode component of wdmaud.drv . Implements the Wave / Mixer / MIDI API. Needs MIDI APIs implemented and WaveIn support + Mixer support.</td>
 
</tr>
 
 
 
<tr>
 
<td>Kmixer</td>
 
<td>Performs mixing / conversions of streams. Currently very poorly implemented. Needs Kernel FPU float saving support before more work can be done.</td>
 
</tr>
 
 
 
</table>
 

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.
A Wiki Administrator should look at this page and decide or discuss what to do with it.


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
Support for User mode printer drivers: unimplemented.
Text/font system: needs complete rewrite.
DIB code: mostly implemented, could need optimisation in some places.
Mouse pointer: missing alpha support.
Region support: interface improvements needed, ROS specific structures to be deprecated.
Pens: missing support for geometric pens.
Brushes: missing support for driver managed hatch brushes.
GDI handle manager: rewritten in r51470.
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.
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.

See Also