Thanks JackBlack2006! it works perfectly
Now i have sharp ui at decent size
i just want to recap and make clear some point to who want to do this
Find the resolution:
- find the maximum resolution your greaphic card (my is gtx 650 ti : 4096 x 2160)
- get your monitor aspect ratio ( 2560 x 1440 -> 1.777.. )
- divide graphic card resolution by 2 and adapt it (lowering) to your monitor aspect ratio. ( 4096 x 2160 / 2 = 2048 x 1080 -> lower heith to match aspect ratio : 1920 x 1080).
- multiply back by 2 the res obtained in previus step: 1920 x 1080 * 2 = 3840 x 2160 // Tis the resolution i will put in configuration. Note: is lower than the max graphic card max res but higher than monitor res.
Get values to put in Xml file:
DisplayProductID [in my case 1033]
Code:
ioreg -l | grep DisplayProductID
DisplayVendorID [in my case 1138]
Code:
ioreg -l | grep DisplayVendorID
IODisplayEDID string to put in <data> [in my case "AP///////wA...BgAjg=="]
Code:
ioreg -l | grep IODisplayEDID | awk -F '<|>' '{print $2}' | xxd -r -p | base64
"scale-resolutions" array values
Code:
echo $(printf '%.8x%.8x%.8x' _WIDTH_ _HEIGHT_ 1) | xxd -r -p | base64
Obviusly replace _WIDTH_ and _HEIGHT_ with your values
I used as the first value the native resolution of my monitor [2560 x 1440] (for safty) and as the second one the calculated with method above [3840 x 2160]
Prepare the structure:
- go in /System/Library/Displays/Overrides and create a folder named DisplayVendorID-XXX where XXX is DisplayVendorID in Hex
- inside DisplayVendorID-XXX folder create a text file without extention named DisplayProductID-YYY where YYY is DisplayProductID in Hex
this two walues are the same that are present in the last part of the string returned by
Code:
ioreg -l | grep IODisplayPrefsKey
in my case
"IODisplayPrefsKey" = "IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPP/PEGP@0/NVDA,Display-C@2/NVDA/display0/AppleDisplay-472-409"
So the file path is
/System/Library/Displays/Overrides/DisplayVendorID-472/DisplayProductID-409
Create the Xml file:
As described in the original post by JackBlack2006 [
http://www.tonymacx86.com/graphics/...na-hidpi-resolution-your-desktop-display.html ] just create a plist file with values yiu calculated before
Here is my plist file for monitor
Acer CB270HU
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>DisplayProductID</key>
<integer>1033</integer>
<key>DisplayVendorID</key>
<integer>1138</integer>
<key>IODisplayEDID</key>
<data>AP///////wAEcgkE9N8QQx8YAQOAPCJ4KgzVqVVMoSUNUFS9SwDRANHAgYCVD5UAswCB
wKlAVl4AoKCgKVAwIDUAVVAhAAAeAAAA/QAXTA9LHgAKICAgICAgAAAA/wBUMUVFRTAw
MTQyMDAKAAAA/ABBY2VyIENCMjcwSFUKAVYCAyR0TwECAwUGBxAREhMUFRYfBCMJBweD
AQAAZwMMABAAuDwCOoDQcjgtQBAsloBWUCEAABgBHYAYcRwWIFgsJQBWUCEAAJ4BHYDQ
chwWIBAsJYBWUCEAAJ4BHQC8UtAeILgoVUBWUCEAAB6MCtCQIEAxIAxAVQBWUCEAABgA
jg==</data>
<key>scale-resolutions</key>
<array>
<data>
AAAKAAAABaAAAAAB
</data>
<data>
AAAPAAAACHAAAAAB
</data>
</array>
</dict>
</plist>