Hi everybody,
as many others here, I am affected by the problem that the Intel driver for the integrated graphics doesn't work when a display is connected via DVI or HDMI (VGA works fine). When this happened to me, I was quite disappointed first, but then I started to thinks of ways to solve the problem.
While thinking about it, I remembered that when I first installed the driver, it was working with the Intel driver active until the next reboot. So, as my display has both DVI and VGA inputs, I decided to connect it via both (my PC has both outputs) and see if I could get it to work. After some trial and error, I found out, that when I deactivated and then reactivated the device in the device manager, it would work perfectly normal over DVI. So I concluded, that there must be some problem with the driver initialization when Windows starts. That problem doesn't appear when the driver is initialized later.
(Intel support: maybe this could be a starting point for your engineers to sort this problem out? It definitely works with these displays, the only problem is, that the driver fails to work when it is started with Windows.)
So, I concluded that if I could get the device to automatically be deactivated and the reactivated when Windows starts I could circumvent the problem. Some googling later, I found out there was a command line program named devcon, which could exactly do that. So, here is how to do it (I will only cover Windows 7 here, as that is the only system I can test this on):
Get devcon (On Windows XP you could easily download the program separately from Microsoft (http://support.microsoft.com/kb/311272). That version *may* even work on 32bit Windows 7 (I'm not sure, can't try it out), but if you've got 64bit it is a little bit more complicated):
Download the Windows Driver Kit (WDK): http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=11800
Open the ISO file. (I'd recommend 7-Zip for that - http://www.7-zip.org, I'll only be convering how to do it with 7-Zip here.) Just right-click on the file an choose 7-Zip > Open or drag it into 7-Zip file manager
Once opened, enter the WDK subfolder (I hope all of this is correct, as I don't have the ISO anymore and am writing this according to tutorials on the net)
There you should have three files with the prefix "setuptools_". If you are on 32bit choose setuptools_x86fre_cab001.cab, if you are on 64bit usesetuptools_x64fre_cab001.cab.
Double-click on that file and you should see a file named _devcon.exe_00000_
Extract that file to wherever you want (I choose C:\devcon) and rename it to devcon.exe
That's that, now we have our devcon.exe
If you haven't yet, install the Intel driver, but don't reboot (the display should still work until you reboot)
Find out the device id:
Open a command line window (type cmd in the start menu) and navigate to where you copied your devcon.exe (If it is under C:\devcon type cd c:\devcon)
run devcon.exe find *
That will give you a list of the IDs of all the devices in your computer. Now you have to look through that and find your graphics adapter. For example, mine is listed as "Intel(R) HD Graphics Family".
Note the device ID before that name. For me it's PCI\VEN_8086&DEV_0112&SUBSYS_D0001458&REV_09\3&13C0B0C5&0&10
Create the script to disable and reenable the device:
Create a new file with the following contents:
c:\devcon\devcon.exe disable ID_OF_YOUR_DEVICE
c:\devcon\devcon.exe enable ID_OF_YOUR_DEVICE
Replace C:\devcon\ with wherever you placed your devcon.exe
Name the file however you like, but give it a .cmd extension (be sure to have "hide extensions for known file types" turned off in Windows)
Create a task to run the script when windows starts:
Start the task scheduler: Go to the Control Panel, System and Security, Administrative Tools or type task in the start menu and select the task scheduler (right click and select Run as Administrator if you aren't an Administrator on your computer)
Create a new task (don't use basic task)
Name it whatever you like, then change the user the task is run as to "SYSTEM" (otherwise it won't run)
Select "Run with highest privileges"
Create a new trigger and select "On Startup"
Create a new action and select the file you created in the previous step
Maybe change the energy options if you are using a laptop
Reboot
Finished! :-)
Now, on reboot, the screen will go blank at first, but should return some seconds later once the script is being run.
The one thing that still doesn't work with this method is standby, since I haven't found a method yet to run the script when the computer exits standby mode. But at least I'm able to work normally for now (and since I'm having an SSD startup is really fast anyway).
I hope this helps some of you to get around this annoying problem and that Intel will find a way to properly fix it soon.