none
Resolution under UEFI in WINPE 4.0

    General discussion

  • Hi,

    Guys could you tell me how can i change resolution under WINPE 4.0 booted from UEFI ? I see that the resolution is set automaticly, but i have to change it for a constant. Is there any way to do that ? I have to admit that i was edited unattend but it doesn't help.

    Friday, April 05, 2013 10:20 AM

All replies

  • I have been researching this problem for a little bit now and still have not found a solution.
    Friday, April 05, 2013 9:03 PM
  • I see that the resolution is set automaticly, but i have to change it for a constant. Is there any way to do that ?


    What kind of constant?   You could probably make it VGA mode, e.g. using bcdedit.exe
    Saturday, April 06, 2013 7:54 PM
  • By constant i mean 1024x768, i was tried to set it in unattend but on UEFI mode it doesn't work ( on legacy works fine ), what do you mean VGA mode by bcdedit ?  VGA mode doesn't work for EFI, it doesn't change resolution for 800x600.
    • Edited by d3nver Tuesday, April 09, 2013 6:53 AM
    Tuesday, April 09, 2013 5:20 AM
  • what do you mean VGA mode by bcdedit ?

    I don't know the syntax.  I'm thinking of simulating whatever effect you would get from using msconfig.exe's Boot tab option.   Oh.  It's called Base video there?  It's more like SVGA anyway.   I don't have UEFI, so I can't say whether this tack is valid with it.
    Tuesday, April 09, 2013 1:24 PM
  • Hi Robert,

    I was using bcdedit to run VGA mode :

    vga on | off ]
    • Forces the use of a safe resolution. For example, on a computer running Windows 7, this option forces the use of 640x480 resolution. On a computer running Windows 8, this option forces the use of 800x600 resolution if it is available, or 640x480 if not.

    But even that don't work when i'm booting from UEFI. Is there any other possibility to change resolution ? Maybe VBScript ? 

    Thursday, April 11, 2013 10:52 AM
  • The PE is following the UEFI requirements by using the UEFI GOP mode and using the native resolution detected from the EDID. This is understandable for the Windows 8 and Server 2012 operating systems, but it can be a developer's nightmare when it comes to Windows PE.

    The difficulty is because for years developers/integrators have been using the WinPE-HTA package to build full shells using HTA and VBScript (among other things) and these are all designed to be used at a static size. While using an HTA on UEFI GOP mode does work, all the labels and pictures are in the wrong locations and do not line up properly, and also the text can be very small and difficult to read on certain screens. Also the issue is that it ends up displaying differently on different brands, models and sizes of monitors.

    More information is located here:

    UEFI GOP Mode Test

    UEFI Requirements [DOCX download] (See Page 7)

    So what we need here is one of the following:

    • How to specify a custom resolution in WinPE using GOP
    • How to disable GOP Mode in WinPE

    This is probably why the BGRT documentation speaks in terms of size percentages in accordance with screen size rather than specific pixel size requirements for BGRT logo.

    Thursday, April 11, 2013 10:24 PM
  • There seems to be an issue with setting the screen resolution via WinPE 4.0 when booted into UEFI mode. I have pinged a few folks that might know more.

    The MDT 2012 deployment wizard (HTA) seems to works fine i UEFI mode, even on different models, so instead of developing your own, you can maybe customize that one.

    / Johan


    Regards / Johan Arwidmark Twitter: @jarwidmark Blog: http://www.deploymentresearch.com FB: www.facebook.com/deploymentresearch

    Sunday, April 14, 2013 8:36 AM
  • Thanks Arwidmark. I will look at that HTA to see what it does exactly, but ultimately using MDT 2012 files are not an option for OEM System Builders.
    Monday, April 15, 2013 8:52 PM
  • Even though MDT doesn't really support OEM deployments, you can still "borrow" their various setup scripts and wizard files as a starting point.

    Of course not supported, does not mean it doesnt work :) You can still use MDT even if you are an OEM, and compared with developing something completely from scratch (which would be equally unsupported by Microsoft), I would start with MDT any day of the week.

    There is no need reinventing the wheel.

    / Johan


    Regards / Johan Arwidmark Twitter: @jarwidmark Blog: http://www.deploymentresearch.com FB: www.facebook.com/deploymentresearch

    Tuesday, April 16, 2013 5:28 PM
  • Here is the solution to this with HTAs (at least)... Toss this first part up in the head or between head and body.

    <SCRIPT TYPE="text/javascript">
    function pageLoadFunctions()
    {
    document.body.style.zoom = screen.height / 768;
    }
    </script>

    Modify your BODY tag to this:

    <BODY ONLOAD="pageLoadFunctions()">
    Give that a shot. Now this is a "cheat" because it isn't actually changing the resolution of the screen but instructing MSHTA to "zoom" or scale your content appropriately. It seems to do it for everything including pictures. Then again, if you have any non-HTA related things like a custom GUI, that does not have any effect on those.

    Monday, April 22, 2013 8:49 PM