Short version:
If you have a Windows 8.1 system with both an Intel graphics card as well as an NVIDIA graphics card, try running WinSAT D3D
in the command prompt. Do you encounter the same error as I do? I see this:
Windows System Assessment Tool
...
> Assessing DirectX Batch Performance
Warning: Can't run DWM Assessment - no LDDM Support
If you ran this, it'd be helpful if you could comment and let me know whether yours works correctly or not.
Long version:
I have an NVIDIA Optimus-based laptop, with both Intel's 4600 and NVIDIA's 750M graphics cards.
The drivers for both are correctly installed.
I could swear Starcraft II would run under my NVIDIA card perfectly fine when I had Windows 8.
But I updated to Windows 8.1 months ago and have kept it up-to-date since, and when I now try running SC2 or even Age of Empires III on my current system with my NVIDIA card, I get errors such as
Age of Empires 3
Initialization Failed
Direct3D initialization failed. Possible causes:
Old or corrupted graphics driver.
Direct3D improperly installed.
Hardware acceleration disabled.
Starting application with the workstation locked.Please check the log file for more information.
Starcraft II
Graphics device is not available at this time. Please try starting StarCraft II again, or restarting your machine. If the problem persists, for more information consult our support website at http://starcraft2.com/support.
However, they run fine under my Intel card. It's only when I use Run with graphics processor -> High-performance NVIDIA processor
that they don't work.
Furthermore, if I run WinSAT D3D
, I get this error all over the place under my NVIDIA card (it works fine under my Intel card):
Warning: Can't run DWM Assessment - no LDDM Support
Update
To find the cause, I installed Windows 8 and verified it behaves correctly, then I updated to Windows 8.1 and found that it broke as I expected. Therefore, I know that something in Windows 8.1 caused this breakage, but I don't know what it might be.
Does anyone know what the cause is and how to fix the problem?