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.

Comments (13)
  1. Bezalel says:

    I’d imagine the reason that the "secret backdoor hidden rotation functionality" exists in XP drivers is because manufacurers are using the same drivers for XP as 2000 where the "secret backdoor hidden rotation functionality" was actually needed.

  2. Leo Davidson says:

    The same company’s PowerStrip tool helped me finally get my HTPC to display at 1280×720 on my plasma TV.

    (Without it I was stuck at the slightly higher native resolution of 1280×768. That’s non-square pixels, which the OS and/or video codecs seem not to understand, so everything was squashed until I forced the right resolution. It was really frustrating that I had to find a 3rd party tool in order to get both the major gfx card vendors’ cards/drivers to work properly with the screen. Turns out it’s just a registry entry, too.)

  3. Jon says:

    I dislike the way iRotate  steals  Ctrl-Shift-Left and Ctrl-Shift-Right  since I’m used to them being select previous/next  word.

  4. JamesNT says:

    Is it me or do the video driver guys seem to be the main ones causing most of the trouble?

    I’m waiting for one of them to come to this blog and either try to lie their way out of it or justify their behavior somehow.

    JamesNT

  5. Tom says:

    @JamesNT, the graphics card vendors had an inflated opinion of themselves.  They basically took Adobe’s attitude that people buy computers just so they can buy their product.  (The fact that their highest-margin markets were gaming and 3D modeling, where they were indeed the most important system component, reinforced this belief.)

    When you have that feeling of entitlement, you don’t feel the need to be a good Windows citizen.  You want your logo plastered all over Windows, in context menus, in the Control Panel, in the Start menu, in the notification area, everywhere.  You feel Microsoft should be coding Windows to suit you, not the other way around.

    But I’ve noticed quite a dramatic improvement since Vista came out.  Some of it comes from humbler graphics vendors — perhaps spurred by Intel’s gains in integrated graphics, and AMD’s purchase of ATI.  And Microsoft has also struck back.  Windows Update installing clean drivers without bundled craplets + drivers outside of kernel mode = bliss.

  6. Cheong says:

    Oh… I always thought that you can’t do this because by default the "Hide modes that this monitor cannot display" is checked. (The "Ctrl-Alt-Left/Right" key combination won’t work if that setting is checked. Once you unchecked that and click "Apply" the above key combination works. I checked to see at least these work like this way on computers with Intel and NVidia graphic chips.)

  7. asf says:

    @Leo Davidson: what reg entry is that?

  8. Karellen says:

    "When [graphics card vendors] have that feeling of entitlement, you don’t feel the need to be a good Windows citizen."

    I’m not wanting to start any mud-slinging here, but don’t worry, graphics card vendors’ sense of entitlement and arrogance is not limited to Windows. Graphics card vendors fail to be good citizens and generally suck no matter what OS you use.

    Except Intel.

  9. Ben says:

    I’ve found that these annoying video cards also ignore SetDeviceGammaRamp and ICM profiles when used with some OS versions. Of course, they have no equivalent proprietary function of their own, so you can’t control the colours displayed on your monitor. The most annoying thing is that this doesn’t appear to be a conscious design choice but just the result of buggy code that was never actually tested to work, which is par for the course in recent drivers so it would seem. Roll on Intel’s Larrabee, I say, and let the others see how it ought to be done.

  10. ulric says:

    It’s a little cheap I think to bash the graphic vendors for a glitch here and there, they make some of the most complex pieces of software, and they do struggle with backward comp and need to work around bad application’s bug the same way this blog often discussed.

    Btw, our company doesn’t support Intel graphic cards due to the problems with them, I’m a little baffled to read that positive comment above.  The thought that Intel just wont freaking give up with graphics terrifies us.  I guess if you just browse the web on Linux, they’re OK.

  11. Ph says:

    Does this mean we’ll get cleartype when oriented vertically ?

  12. gdi says:

    cleartype doesn’t work vertically, gdi doesn’t support it.

  13. Abhishek says:

    Why is there so much love reserved only for the graphics card vendors here? Have you seen the way the sound card vendors behave? Don’t even get me started…

Comments are closed.

Skip to main content