Monthly Archive for April, 2006

Setting graphics hardware acceleration in Windows

For the past few weeks I have been trying to find a programmatic way to set the graphics hardware acceleration in Windows. I needed to do this because I have been trying to install Vision at work, and there are problems drawing graphics on some computers after the installation.

Now, I know that changing the acceleration is as easy as adjusting a slider in the Advanced settings of the Display properties. However, I want to make the change without having to use the GUI. My reason for not wanting to use the GUI is that I need to be able to set the acceleration on multiple computers via Ghost. I mistakenly thought that something like this had to have been done by someone, so I started searching for how it was done.

After a couple of days of searching using various keywords, I finally found something on Experts Exchange. From a programming PAQ, I discovered that there is a DWORD called Acceleration.Level that determines the hardware acceleration level of a video card. If the acceleration level is set to the default, which is full acceleration, Acceleration.Level may not be in the Registry.

I was pretty excited, thinking that I would be able to just script this into a Ghost AI package. My excitement soon turned to disappointment when I looked at the Registry on a different model computer. There was a different GUID in the path to Acceleration.Level. So, in order to set the acceleration in the Registry, you have to know the GUID of the video card.

I figured that would be an easy enough thing to do: have the AI package read the value of \Device\Video0 at HKLM\HARDWARE\DEVICEMAP\VIDEO in the Registry. Replacing the "\Registry\Machine\" from the beginning of the value with "HKLM\HARDWARE\" should be easy enough, right? Wrong.

To top off my previous disappointment, I found that Ghost AI Builder does not allow you to dynamically read values from the Registry. So, in order to cover all of our machines, I will need to make a separate AI package (or at least a separate code block within an AI package) to set the hardware acceleration for each video card we have deployed. Ugh!

If anyone has any better ideas, I’m all ears. Remember, I need to be able to deploy this via Ghost. I do not have a Windows domain available to me, and I probably won’t be able to use any Novell methods to deploy this.

Great news

Chris and I are pregnant! We took a test this morning and it was positive! w00t!

Announcements will be in the mail by the end of the week. If you have any name ideas, post them in the comments.

Update: Wikipedia has a page full of goodness. And we love you, Brad :-)