Desktop Window Manager

(Redirected from Desktop Compositing Engine)
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

The Desktop Window Manager (in early Longhorn builds known as Desktop Compositing 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 Compositing Engine[edit | edit source]

The Desktop Compositing Engine is first present starting with build 3683, but in a buggy state that only renders window 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. Also during Milestone 5, the Desktop Compositing Engine was reworked to enable DCE window frames, which would be the forerunner to the Windows Aero theme. However, builds 4029 through 4033 have a bug in the DCE which causes it to not enable the Direct3D shaders (which DCE window frames rely on). The bug wasn't fixed until build 4038, which was the first M6 build to have a working render DCE window frames.

Enabling the Desktop Compositing 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 Compositing 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 / 4 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 which can only be exited by a hard reset.

Milestone 5 builds[edit | edit source]

This applies to build 4011 up to build 4020. It can be enabled via the rundll32 uxdesk.dll,DCEStart command and disabled via rundll32 uxdesk.dll,DCEStop. Alternatively, after importing the following registry file and rebooting, DCE can be enabled in the same way as in builds 3706 to 4005:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Desktop\CompositingEngine]

Unlike the Milestone 3 and 4 DCE, the DCE in these builds will work on modern versions of VMware given the correct version compatibility.

In builds 4015 and 4017, if dce.dll is patched, and build 4020, when enabled in Registry, DCE can render an early version of Glass window borders.

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 Compositing Engine is enabled. However, restarting Explorer may fix the sidebar issue in most cases. By default, it loads the opaque Metal frames, but Glass frames 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]