Enabling 24-bit color in Windows XP Mode

Before I get started today – I want to make one thing very clear: the content of this post is not officially supported by Microsoft.  Feel free to try it out – but if you hit problems do not go contacting Microsoft Product support – as this is unsupported.

With that out of the way:

When using Windows XP Mode the display is limited to using 16-bit color.  If you try to change this you will see that you cannot:

24bitcolor

For most situations – 16-bit color works fine.  However, there are some applications that require greater color depth.

It is possible to get 24-bit color support by doing the following:

  • Start Windows XP Mode
  • Run regedit
  • Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services
  • Create a new DWORD value with a name of ColorDepth and a value of 4
  • Restart the virtual machine

After doing this you will see that you now have 24-bit color support.  Now – to answer a couple of obvious questions:

  • If this is unsupported – why is this option even there?  Use of 24-bit color is supported on Windows Server 2003, but it is not supported on Windows XP.  This is a case where you can enable this on Windows XP due to similar components being used.
  • Why is it not supported – it seems to work?  While it works in many cases, there are times (which I have seen myself) where programs that work correctly with 16-bit color do not work correctly with 24-bit color.
  • 24-bit isn’t good enough, I need 32-bit color depth?  Your best option here is to disable integration mode.  This will put you back on our emulated video card – that can support 32-bit color depth (but you lose all of the nice integration features).

Cheers,
Ben