Difference between revisions of "Version Status"

From ReactOS Wiki
Jump to: navigation, search
Line 87: Line 87:
<td>Needs a rewrite of a file system driver (fastfat), test it against windows 2003.</td>
<td>Needs a rewrite of a file system driver (fastfat), test it against windows 2003. Started in {{rev|38693}}</td>

Revision as of 12:35, 29 June 2011

Icon speedy deletion.png 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.

Name Current Status
Website localization See RosCMS (permissions needed) or ask appropriate language maintainer.
Operating system localization Depends on language. Ask appropriate language maintainer.
Software compatibility See Compatibility Database
Win32 Subsystem
Win32 DLLs See Testman reports

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.

Bootloader 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 r43273. Old bootmethod is deprecated and will be deleted from codebase after the 0.3.11 release.
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. Experienced only bugfixes during the last two years.
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); 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.
Filesystem support
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.
VXD Not planned at all, it's a Win9x thing.
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.
DirectX 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.