Changing the Pocket PC screen resolution

While there are quite many nice alternatives for doing this and I would mention the RealVGA or the excellent OzVGA , here is another article discussing this subject. The reason for this is that it’s always good to know a little insight about the things we use.

To change the Pocket PC screen resolution, you only need a registry editor. If you are comfortable using little tools to do that it’s ok, but if you don’t have those around, or want to do it yourself with “bare hands”, there is an easy solution for this.

For my tests I’ve used an HTC Universal. Here is the original look of my today screen:

Those of you familiar with screen resolution changes, might know that this is the 192×192 “Logical resolution” or for my device, 640×480 pixels in landscape mode.

To change it, you need to open your registry editor and modify the keys LogicalPixelsX and LogicalPixelsY located under:

HKEY_LOCAL_MACHINE\Drivers\Display\GPE\

You can modify the default values to whatever suits you best. That’s right you can enter a wide range of values. After the new values are entered, you need to soft reset the device.

On my device, entering 384 for both LogicalPixelsX and LogicalPixelsY, equals a resolution of 320×240 in landscape mode. Here is a screenshot with my registry editor, and then with the pocket pc new resolution:

I’ve also tried to make the pixel resolution bigger. Putting 48 for both LogicalPixelsX and LogicalPixelsY, resulted in a lot of screen space, and tiny font / images

48 logical resolution, means 2560 * 1920. Wow, not even my desktop computer has such a huge resolution.

How to calculate this?

It’s easy. The original “logical resolution” was 192×192, that is 640×480 pixels.
384×384, is double the original one (192×192), but everything gets bigger. So the actual screen resolution, gets half of 640×480. That would be 640/2=320 x 480/2=240 where 2 = 384/192.

For 48×48, we can follow the same idea.

48 / 192 = 1/4 .

640 / 1/4 = 640 * 4 = 2560 .

480 / 1/4 = 480 * 4 = 1920.

You don’t need to enter equal values for LogicalPixelsX and LogicalPixelsY. If these values are not equal, the normal proportion between horizontal and vertical axis will change.

Here’s a last sample with 512 for LogicalPixelsX and 128 for LogicalPixelsY. The screen resolution on landscape is 640 / (512 / 192) = 240 , 480 / (128/192) = 720.

Remember to reset your device after changing the registry keys. It might be a good idea to power off the device by pressing the power button before pressing the reset, so the registry would be flushed (saved to storage). Be careful not to press Power button together with reset, as on some devices this can do a hard reset (first press power off, THEN release it, THEN do a reset).

This article has 15 Comments

  1. That is a great way to tweak your device to your heart contempt!

    On my Universal, I’ve tried the RealVGA, sometimes. As I kept changing rom’s (non official ones, WM6.x), the results were a bit erratic: sometimes, it worked, sometimes, not…

    With that “bare hands” aproach, it should give more consistent results. 😀

    The only situation that I liked a bigger resolution was working with Excel docs, so I could see more columns. In almost any other situation, things get pretty small, and harder to read.

    In the end of the day, it’s always great to know a little about this possibilities, even when one doesn’t use it.

    Great post!

  2. This is excellent information. Works like a charm. Any idea how to get proper icons for all the missing stuff like start menu and other icons? 😉

  3. Thanks guys.

    Carson, getting proper icons for a custom resolution is not that hard.

    There’s a list of Graphical resources that needs to be modified, eg. all the icons of 32×32 in 192x192DPI will have to be changed to 48×48 in 128x128DPI.

    Here is the list of resources:

    11select.gif
    arrow2.gif
    Bkgnd_Land.bmp
    Bkgnd_Port.bmp
    blankbanner.gif
    browsres.dll
    complete.gif
    coreres.dll
    dayview.gif
    dlrback_land.png
    dlrback_port.png
    Gy_Bkgnd_Land.BMP
    Gy_Bkgnd_Port.BMP
    msim.dll
    myinfo.gif
    officeres.dll
    outres.dll
    pegcards.dll
    pptres.dll
    riresdll.dll
    shellres.dll
    shellresapps.dll
    stylus1.gif
    stylus2.gif
    tapres.dll
    TraRes0409.dll
    tshres.dll
    welcomehead.png
    WLMContactsResources.dll
    WLMHSContainerResources.dll
    WLMHSMailResources.dll
    WLMHSMeResources.dll
    WLMHSMessengerResources.dll
    WLMHSSearchBarResources.dll
    WLMHSSplashResources.dll
    WLMHSSyncResources.dll
    WLMMailResources.dll
    WLMMessengerResources.dll
    WLMServiceResources.dll
    WLMSharedResources.dll
    wmp_WPC_player_480x640.gif
    wmp_WPC_player_480x640.skn
    wmp_WPC_player_640x480.gif
    wmp_WPC_player_640x480.skn

    The GIF/JPG/BMP are straight forward.

    For the DLL’s you need to use a tool like ExeScope to access the images embedded in them.

    Then use a ACDSee or PHotoshop or your favorite graphic editor and do some resizing.

    Basically this is all one needs to do to create custom graphic packs.

  4. 128 / 192 = 2/3 .

    640 / 2/3 = (640 * 3)/2 = 960 .

    480 / 2/3 = (480 * 3)/2 = 720.

    640×480 (the resolution of your NLOOX on the default 128x128DPI) becomes 960×720 (on 128x128DPI).

  5. i tried it on my Samsung i780.

    but on the topbar where it is showing Wireless connection, etc, all icons dissapear, and only the time(clock) is visable.

    where should i look for all the proper icons so that i could resize it and replace?

    thanks.

  6. I just read a great article on registry and PC optimization at Ezine articles. This article is a good one for Pocket PC optimization.

  7. у мну клава на Экране (i710)
    и я поменял на 90 вместо 96 и у мну пропала клава !
    и при любом значении я не вижу клаву !
    Что делать ????

Leave a Reply