Topic: More flexible DPI scaling for Win8.1SE / Win10PESE needed  (Read 648 times)

0 Members and 1 Guest are viewing this topic.

More flexible DPI scaling for Win8.1SE / Win10PESE needed
« on: November 06, 2017, 09:46:12 AM »

Mikka

  • Code Baker
  • Chef
  • ***
  • Location: Germany
  • Date Registered: May 2012
  • Posts: 240
Hi,

I've got a DELL XPS 13 9360 here and need to make a PE for it, currently using Win8.1SE.
Booting up the PE Desktop I noticed that the resolution with "small" scaling (96 dpi/100 % - Smaller) is hardly readable.
At my production system a 24" screen is used, so 96 dpi is fine here, no need for scaling.

I found out that the Registry values for DPI scaling (Win8DpiScaling, LogPixels) are written in yy_Theme.script -
however, modifying the relevant LogPixels value to 120 dpi/125 % - Medium won't have an effect on the PE Desktop.
I suppose there's another information that needs to be added for this to work.

The best solution would be to make Win8.1SE/Win10PESE capable of changing the item size as in regular Windows installations.
Right now, this will lead to a visual flaw as Win8.1SE starts a new session without applying the changes.
:undecided:
Any ideas?

Re: More flexible DPI scaling for Win8.1SE / Win10PESE needed
« Reply #1 on: November 06, 2017, 04:54:42 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7761
I suppose there's another information that needs to be added for this to work.
https://ss64.com/nt/syntax-dpi.html

missing info for PE:
 Theme overrides some registry after Boot
 AND loader (PECMD) may overwrite too !

The best solution would be to make Win8.1SE/Win10PESE capable of changing the item size as in regular Windows installations.
Feel free to create a Plugin that change dpi etc. settings on
 both
  Registry AND Theme setting file simultaneously.


Any ideas?

Quick solution to me is, start PE with low resolution instead of "maximum"
PE is a temporary environment, it should be enough to change resolution to get screen human readable.

ex:
create a Mikka_Display.cmd
Code: [Select]
cd /d "%~dp0"
nircmd.exe setdisplay 1024 768 32
Exit
Utils\PC Packed
1) ...\Mikka_Display.cmd
2) Mikka_Display.cmd
Options Button
Enable "Add Startup Option"
Enable "Hide"
Enable "Delay"
3)Gooo

Edit plugin:
After line
//Dependencies ....
Add this line:
Code: [Select]
Require,File,nircmd.exe

+
Enable Startup on plugin
ps: Delay option 2 seconds probably will be enough for emulator tests. :wink:

Or Enable only "Desktop" Shortcut in case you use PE on such wide screen computer.  :wink:

**
Related:
Downloads\AppYGS\Supplementary\Graphics\MultiRes

Downloads\AppYGS\Supplementary\Tweaks\DesktopOK

ps: I use MultiRes when screen is too big and unreadable. :wink:





***
Or If you find a DPI changer utility like Accent changer utiliy:
Downloads\AppYGS\Supplementary\Tweaks\Windows 10 color control
It will be great.

Info: Like DPI you also can not change Accent values at PE build time because of Theme (AND maybe PECMD !)
"Windows 10 color control" workaround this limitation for Accent.

A utility like "Windows DPI control" missing, I hope you find one on the internet.


Let us know.

:turtle:

Re: More flexible DPI scaling for Win8.1SE / Win10PESE needed
« Reply #2 on: November 08, 2017, 04:04:20 PM »

sa mo

  • Jr. Chef
  • **
  • Date Registered: Oct 2017
  • Posts: 19

XPExplorer
Code: [Select]
http://windows10_dpi_blurry_fix.xpexplorer.com/

Re: More flexible DPI scaling for Win8.1SE / Win10PESE needed
« Reply #3 on: November 19, 2017, 03:42:46 PM »

Lancelot

  • Gena Baker
  • Grand Chef
  • *****
  • Date Registered: Sep 2010
  • Posts: 7761
Hi sa mo,

as far as I remember, Windows10 DPI FIX ask for "restart" after applying changes which is not possible for a PE.

--> Downloads\AppYGS\System Tools\Debug\RegShot + Utils\RegCPE may help at this point ?!?!?

Still, I do not know if it works fine after Apply ? maybe you or Mikka can update topic about progress on Win10PESE ....

:turtle:

Re: More flexible DPI scaling for Win8.1SE / Win10PESE needed
« Reply #4 on: November 19, 2017, 04:51:47 PM »

sa mo

  • Jr. Chef
  • **
  • Date Registered: Oct 2017
  • Posts: 19
hi Lancelot
this what i have made but not yet finished ..(because im on net 4.7.1 script and hhalf finished
Code: [Select]
http://hpics.li/ab1495a
)
Code: [Select]
http://www.mediafire.com/file/l0bvea8r58dfk70/dpi.script
the dpi scale must be written in ""xpe_dpi_settings.inf" and this key
Code: [Select]
RegHiveLoad,Tmp_Software,%RegSoftware%
RegWrite,HKLM,0x1,Tmp_Software\Microsoft\Windows\CurrentVersion\Run,XPE,"#$qx:\Programs\XPE Windows 10 DPI Fix\XPEWindows10_DPI.exe#$q -hide:150|96"
RegHiveUnLoad,Tmp_Software
(looking for haw to write in *.inf in script )

Re: More flexible DPI scaling for Win8.1SE / Win10PESE needed
« Reply #5 on: December 15, 2017, 02:38:26 PM »

Desmond

  • Apprentice
  • *
  • Date Registered: Dec 2017
  • Posts: 9
Scaling works fine on Win10PESE, I added some registry keys to the hive.

[ Specified attachment is not available ]

The below code is for 200% scaling, for 150% change 192 to 144 and for 125% change to 120.
Not sure if all keys are needed but I added all just in case.

reg load HKLM\WinPE_Hive C:\WinX_PESE\Target\Win10PESE\Windows\System32\config\SYSTEM
reg add "HKLM\WinPE_Hive\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontDPI" /v "LogPixels" /t REG_DWORD /d "192" /f
Reg unload HKLM\WinPE_Hive
reg load HKU\WinPE_Hive C:\WinX_PESE\Target\Win10PESE\Windows\System32\config\DEFAULT
reg add "HKU\WinPE_Hive\Control Panel\Desktop" /v "Win8DpiScaling" /t REG_DWORD /d "1" /f
reg add "HKU\WinPE_Hive\Control Panel\Desktop" /v "DpiScalingVer" /t REG_DWORD /d "4096" /f
reg add "HKU\WinPE_Hive\Control Panel\Desktop" /v "LogPixels" /t REG_DWORD /d "192" /f
reg add "HKU\WinPE_Hive\Control Panel\Desktop\PerMonitorSettings\BNQ" /v "DpiValue" /t REG_DWORD /d "4294967294" /f
reg add "HKU\WinPE_Hive\Control Panel\Desktop\WindowMetrics" /v "AppliedDPI" /t REG_DWORD /d "192" /f
reg unload HKU\WinPE_Hive
pause

Re: More flexible DPI scaling for Win8.1SE / Win10PESE needed
« Reply #6 on: December 15, 2017, 05:24:38 PM »

bob.omb

  • Chef
  • ***
  • Location: USA
  • Date Registered: Jul 2017
  • Posts: 276
Desmond,

Here are the converted keys...for use in plugins..

Code: [Select]
RegHiveLoad,Tmp_Default,%RegDefault%
RegWrite,HKLM,0x4,"Tmp_Default\Control Panel\Desktop",LogPixels,192
RegWrite,HKLM,0x4,"Tmp_Default\Control Panel\Desktop",DpiScalingVer,4096
RegWrite,HKLM,0x4,"Tmp_Default\Control Panel\Desktop\PerMonitorSettings\BNQ",DpiValue,-2
RegWrite,HKLM,0x4,"Tmp_Default\Control Panel\Desktop\WindowMetrics",AppliedDPI,192
RegHiveUnLoad,Tmp_Default

RegHiveLoad,Tmp_System,%RegSystem%
RegWrite,HKLM,0x4,"Tmp_System\Software\Microsoft\Windows NT\CurrentVersion\FontDPI",LogPixels,192
RegHiveUnLoad,Tmp_System
« Last Edit: December 15, 2017, 05:25:35 PM by bob.omb »

Re: More flexible DPI scaling for Win8.1SE / Win10PESE needed
« Reply #7 on: December 15, 2017, 06:57:10 PM »

Desmond

  • Apprentice
  • *
  • Date Registered: Dec 2017
  • Posts: 9
Desmond,

Here are the converted keys...for use in plugins..

Thanks, I will use your code next time.

I removed some keys to check which one are not needed, only two are needed.

Code: [Select]
RegHiveLoad,Tmp_Default,%RegDefault%
RegWrite,HKLM,0x4,"Tmp_Default\Control Panel\Desktop",Win8DpiScaling,1
RegWrite,HKLM,0x4,"Tmp_Default\Control Panel\Desktop",LogPixels,192
RegHiveUnLoad,Tmp_Default

 

Powered by EzPortal