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.
|