If you are trying to play Stronghold 3 on a laptop with ability to switch between default Intel graphics card and your external graphics card, you will get this error.
To resolve this on some machines:
Open Device Manager
Expand Display Adapters
Disable (Lower End) Intel Display Adapter
To solve this problem for pcs with NVidia based cards:
Right click in Windows, select NVIDIA Control Panel and Set Stronghold 3 to always use the ""High-Performance NVIDIA processor"".
Otherwise, you can put the game into a Window which may allow the game to run. To do this edit the config.xml file located here:
32 Bit: C:\Program Files\Steam\steamapps\common\stronghold3\bin\config.xml
64 Bit: C:\Program Files (x86)\Steam\steamapps\common\stronghold3\bin\config.xml
At the end of the resolution put ""windowed=1""
So for example yours may looks like this:
<resolution width=1024 height=768 windowed=1/>