andyle2k Posted August 19, 2015 Posted August 19, 2015 Hi All, I have a huge problem with WINPE booting in UEFI (x64) mode and the auto DPI scaling it performs. I've tried setting up an Unattend.xml with the DPI settings but with the DPI element included, the whole XML is ignored. As soon as I remove the DPI setting the XML works fine. Another approach I've tried is using the startnet.cmd to set the registry for FontDPI to 96 but that doesn't fix it either. Does anybody know how to fix this or disable the DPI scaling altogether for WINPE? To be clear this is in WINPE not OOBE. Booting the WINPE in x86 BIOS mode does not trigger the auto DPI scale. Thank you very much.
Tripredacus Posted August 19, 2015 Posted August 19, 2015 It is by design since WinPE4. You'll need to rewrite your GUI to handle the different scaling that may occur. This was the answer I got when I opened a support case with MS in 2013. Here was my first topic about it (see also the Technet link for more info) http://www.msfn.org/board/topic/162510-unable-to-set-resolution-in-winpe4/ Here is the challenge you may face while working with UEFI mode on a 4k display: http://www.msfn.org/board/topic/173469-uefi-installation-on-a-4k-native-display/
andyle2k Posted August 19, 2015 Author Posted August 19, 2015 Really no way around this hey? Even MS' own setup looks like trash. Why is there a Technet article on setting DPI if it doesn't actually works? Or does this only work on OOBE and real Windows? https://technet.microsoft.com/en-us/library/ff716252.aspx Thanks again.
Tripredacus Posted August 19, 2015 Posted August 19, 2015 Yes the DPI setting is only for Windows itself, not setup/WinPE. If you know the size of a US quarter, then you can see how a UEFI only tablet looks like with the Gimagex HTA that I have in my signature: While the text specified by the HTA scaled "appropriately" I can tell you that must custom imaging GUI (which is not shown) is super tiny. As long as this remains to be true, I will eventually have to learn how to program my GUI to scale as well. So I feel your pain.
andyle2k Posted August 19, 2015 Author Posted August 19, 2015 Do you know exactly WHEN WINPE sets the DPI settings? I'm thinking if we're able to set the FontDPI\LogPixels registry settings after it autosets the DPI settings but before it loads the display? Also, if we can set the registry then "log out" of WINPE then log back in without a restart the new DPI settings should stick right? Anybody know how to log out of WINPE and back in? Projects like WIN8.1SE seem to be logging in and out. Thanks.
Rick Suppo Posted June 18, 2018 Posted June 18, 2018 I am shocked by this; there must be a some way, even if it is heavy handed or hacky. I also attempted modifying the BCD store including the vga flag, novga flag, graphicsresolution string, etc... No effect.
Tripredacus Posted June 18, 2018 Posted June 18, 2018 I'm actually looking into this again... Ref: https://www.autoitscript.com/forum/topic/194443-checkbox-rendering-issue-on-certain-displays/ EDIT: in regards to my issue, mines is specifically dealing with an application that does not render properly on some DPI settings in WinPE 10, however this particular issue is not relevant to anything based on HTA which can be fixed. NOTE: this does not help:https://michlstechblog.info/blog/windows-pe-disable-autoscaling/ This is the next thing i will look at: https://chentiangemalc.wordpress.com/2017/05/22/force-dpi-scaling-for-configuration-manager-console/
Tripredacus Posted June 19, 2018 Posted June 19, 2018 Using the Application Compatibility Toolkit is a pain! if you run it on Windows 7, it won't show the DPIUnaware option, but getting the ACT to run on Windows 10 is difficult. I had to install and reinstall it 3 times before it would open. Otherwise, it would just say that the program doesn't support the OS. Even so, this method will not work for Windows PE, precisely because you can't install the database into WinPE without extensive work. You can't run sdbinst.exe from a mounted dir, because there are numerous dependencies missing. I may get back to it later, but debugging the dependencies may take more time than I am willing to invest currently. Using the registry keys for compatibility do not seem to do anything in WinPE. REG ADD "HKLM\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" /V "C:\Program Files(x86)\folder\app.exe" /T REG_SZ /D "~ DPIUNAWARE" /F Var list: "~ HIGHDPIAWARE" = Override high DPI scaling behavior (Application) "~ DPIUNAWARE" = Override high DPI scaling behavior (System) "~ GDIDPISCALING DPIUNAWARE" = Override high DPI scaling behavior (System Enhanced) Back to the drawing board.
Recommended Posts
Please sign in to comment
You will be able to leave a comment after signing in
Sign In Now