VNC Cannot Currently Show the Desktop

I have a Dell Latitude E5440 laptop which most of the time I run headless in a 3D-printed stand next to its slightly bigger brother, a Dell E6500 or similar.

The laptops don’t take up much space on my desk in this vertical configuration (which is helpful as I have four laptops on my desk) and I use VNC to remote into them when I need to work on a Windows system. My main system is an Apple MacBook Pro, and I have that in a similar vertical dock with two 27″ monitors, a bluetooth keyboard and touchpad, and a USB-C port expander/charger. By using VNC I can keep using the peripherals I like and quickly switch between systems while sharing copy/paste buffers as well, which is pretty much perfect.

There’s one nagging little problem though, that I can’t get around. When I access the E5440 using RealVNC, it is slow to show the screen when initially connecting and every time there is a Windows UAC prompt I have to wait about five seconds or so while staring at a black screen which says “Cannot currently show the desktop”.

This is somewhat annoying and after digging around a bit I found that VNC Server was warning me that the laptop’s integrated Intel HD graphics does not support DirectX Desktop Duplication:

The only thing is, I can’t find any reference on the internet to this limitation of the Intel HD graphics chipset. Weird, right?

In the end it drove me so mad during a high pressure project that I plugged in an external USB3 monitor to the laptop so that I could just watch the screen in real time rather than sit through the long black-screen delays. And guess what? The problem stopped. I can also just open the laptop and get the same result but in both cases I am no longer running headless.

My uneducated guess is that when the laptop lid is closed and there is no external monitor there is, effectively, no Desktop for DirectX to Duplicate, if you see what I mean. I believe therefore that this is one of those magical situations where I need to add in an HDMI Dummy Plug in order to run headless.

It’s common for bitcoin mining hardware to require an HDMI dummy plug in order to run headless and persuade the BIOS or OS to enable GPU hardware, so conceptually this is not a new problem and thankfully this also makes the solution remarkably cheap. What’s odd though — and why I’m posting about it here — is that when I searched for solutions I wasn’t finding content clearly linking a closed laptop lid to the “Cannot currently show the desktop” black screen and the VNC Server warning about the graphics card not supporting DirectX Desktop Duplication, yet they are clearly related.

I have some HDMI dummy plugs on the way and I’ll report back on whether it works as expected. I’m highly optimistic though, and I also suspect that by setting the dummy HDMI screen to a higher resolution I’ll also be able to get a higher resolution VNC screen share, which would be an even bigger success!

Hopefully this might solve a problem for somebody else as well.

Be the first to comment

Leave a Reply

Your email address will not be published.



This site uses Akismet to reduce spam. Learn how your comment data is processed.