June 4th, 2009

Why can’t I rotate the display with ChangeDisplaySettingsEx?

If you have one of those cool swively LCD displays (or if you decided to build your own), you naturally want to tell your video card to display rotated output, so you can take advantage of the portrait orientation. And naturally you would think that calling the ChangeDisplaySettingsEx and using the dmDisplayOrientation field of the DEVMODE structure would do the trick.

And then you would find that it doesn’t work.

Yet the annoying utility program (which gets shoveled onto your computer when you install the driver) can rotate the video output. How come they can do it, but ChangeDisplaySettingsEx can’t?

Because the video card vendor decided to do it in a nonstandard way so that you’re forced to use their annoying utility program.

I’m told that one of the requirements of the Windows Vista Display Driver Model is that video drivers which support rotation must do so via the standard rotation interface. No “secret backdoor hidden rotation functionality” allowed. So at least things are getting better.

Of course, this doesn’t help if you have a video card that doesn’t have WDDM drivers. To the rescue come the clever people at EnTech, who developed the iRotate utility which knows the secret backdoor way to convince these annoying video cards to do their rotation.

Topics
Code

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.

Feedback