Desktop Window Manager

Desktop Window Manager
Component of Microsoft Windows
Windows 7 aero theme.png
Windows Aero in Windows 7 build 7600.16385, showing the abilities of DWM
Introduced inWindows Longhorn build 3683
Last included in
Replaced by

The Desktop Window Manager (in early Longhorn builds known as Desktop Composition Engine) is a software component of Microsoft Windows. It is used to render UI elements, animations, and visual effects (such as desktop star effects in build 4066 and 4074 and Windows Aero transparency and animations in Windows Vista and Windows 7). By default, the rendering pipeline will use the system's GPU if possible (through the DirectX API), but starting from Windows 8 build 7880, it will also render using a software-based 3D rasterizer when such an accelerator is unavailable.

History[edit | edit source]

Desktop Composition Engine[edit | edit source]

The Desktop Composition Engine is first present starting with build 3683, but in a buggy state that only renders windows transparency. Starting from build 3706 through build 4005, a new twirling effect when minimizing or closing windows is added, and a user interface was included to allow the user to enable DCE on boot or via dynamic control.

Throughout Milestone 5, Lab06 builds such as build 4015 and build 4018 were known to have additional DCE effects, including graphical animations and flapping windows while dragging. Despite these animations, other labs used only window transparency effects. Eventually, starting with Milestone 6, the Desktop Composition Engine was reworked to enable a new glass border theme, which would be the forerunner to the Windows Aero theme. However, the earlier builds have a bug in the DCE which causes it to not enable the Direct3D shaders (which Aero Glass borders rely on). The bug wasn't fixed until build 4038, which was the first build to have a working Windows Aero theme.

Enabling the Desktop Composition Engine[edit | edit source]

It is to be noted that a compatible Direct3D graphics driver with hardware acceleration has to be installed and running properly prior to starting Desktop Composition Engine; otherwise, either nothing happens or the desktop compositor will either crash or produce major graphical artifacts.[1] On some builds, the VMware graphics stack has a bug where there is no alpha masking or multiply support when DCE is enabled.

Windows Longhorn build 3683[edit | edit source]

There is no user interface to enable DCE in this build. To enable DCE, add the following registry key and reboot:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\DesktopComposition]

StartupOptions can be set to 0 to disable DCE, 1 to enable it on startup, and 2 to allow dynamic control via the rundll32 user32.dll,StartDCE. The rendering will result in no desktop background and it is extremely unstable. Unlike other builds, the DCE in this build is only known to work on real hardware.

Milestone 3 builds[edit | edit source]

This applies to build 3706 up to build 4005. After installing the graphics driver, the user can enable DCE by opening Display Properties to change resolution/color depth and clicking Advanced. There will be options to enable DCE on startup or via dynamic control of a button. Enabling DCE for these builds in VMware requires a VMware version in the 6.5 range or it will black screen after starting DCE.

Milestone 5 builds[edit | edit source]

This applies to build 4011 up to build 4017. It can be enabled via the rundll32 uxdesk.dll,DCEStart command and disabled via rundll32 uxdesk.dll,DCEStop. Unlike the Milestone 3 DCE, the DCE in these builds will work on modern versions of VMware given the correct version compatibility.

Milestone 6 builds[edit | edit source]

This applies to build 4038 up to build 4042 (Lab06_n). It can be started by executing sbctl start in C:\Windows\i386\ and can be stopped via sbctl stop in the same directory. The rendering is very buggy, and it often makes the sidebar inoperable for the duration of when the Desktop Composition Engine is enabled. However, restarting Explorer may fix the sidebar issue in most cases. By default, it loads the opaque borders, but glass borders can be enabled. See the Windows Aero page for instructions on enabling glass borders.

Gallery[edit | edit source]

See also[edit | edit source]

References[edit | edit source]