Contribute
Register

[Guide] Add your custom retina / HiDPI resolution for your desktop display

Status
Not open for further replies.
Problem with macbook pro 13.3 (mid 2010) GeForce 320M

I've created custom scale resolution 2560x1600 (1280x800 multiply x2) for LG 24" 1920x1200 monitor

But id doesn't work in switchresx - system only+invalid

What to do?

Only HiDPI resolutions used in real Apple computers will work.
 
I'm very happy for the solution described here.

It still works in Yosemite 10.10.4. I have a brand new ultra wide LG screen with a native resolution of 3440 x 1440 and needed to get a HiDPI setup. By ALT-clicking the "scaled" option in the Display preferences panel I only could select a HiDPI option of half the size, i.e. 1720 x 720.

With the method described here I was able to add entries for 66% and 85% screen sizes. Important for that to work: One has to make an additional entry with exactly double the desired "Retina" resolution!

So I now have these resolutions:

original:
3440 x 1440
1720 x 720 (HiDPI)

added by me:
2924 x 1224 (HiDPI)
5848 x 2448 (just needed for HiDPI to show up)

2293 x 960 (HiDPI)
4586 x 1920 (just needed for HiDPI to show up)

For the custom sizes to show up I still have to ALT-click the "scaled" option in the Display preferences, but I can live with that

Bildschirmfoto 2015-07-22 um 15.01.41.png (I also renamed the monitor :lol: ...)
 
When I do this, the text and information on the screen is very grainy, unless I'm running at HiDPI at half my resolution (my screen is 2560x1440). I don't know why this is happening...
 
What graphics card are you using to achieve this? I have tried în both an AMD Radeon 6850 and an NVidia GTX 550 Ti to add a custom resolution that would display at least 1080p Hidpi or at least 2560x1440 Lodpi. No method has worked so far.
 
No luck with this on an Intel 530 over display port - nothing over 1920 x 1080 HiDPI works (connected to a 3840 x 2060 monitor). My 2015 MacBook 12" (Intel 515) connects to the monitor over USB C and shows HiDPI resolutions such as 2560 x 1440 and higher so it's frustrating that I can't get a HD 530 to do so. Any ideas?
 
I'm trying to make this work on an Alienware 13 R3 with 2560x1440 native resolution. My override file is:

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>DisplayProductName</key>
        <string>Alienware 13 R3 OLED QHD</string>
        <key>DisplayProductID</key>
        <integer>41001</integer>
        <key>DisplayVendorID</key>
        <integer>19587</integer>
        <key>IODisplayEDID</key>
        <data>AP///////wBMgymgAAAAADEZAQSlHRB4AkSBr1A+tSMOUFQAAAABAQEBAQEBAQEBAQEBAQEBm14AoKCgLFAwIDYAJqUQAAAam14AoKCgLFAwIDYAJqUQAAAaAAAA/gBKSlQ2Q4AxMzNLTDA1AAAAEAAAAAAAAAAAAAAAAAAAABU=</data>
        <key>scale-resolutions</key>
        <array>
                <data>AAAKAAAABaAAAAAB</data>
                <data>AAAPAAAACHAAAAAB</data>
                <data>AAAHgAAABDgAAAAB</data>
                <data>AAAFAAAAAtAAAAAB</data>
        </array>
</dict>
</plist>

I want to get 1920x1080 and 1280x720, so the scale-resolutions are:

2560x1440
3840x2160
1920x1080
1280x720

I get all the resolutions in RDM, but if I try to select a HiDPI resolution of 1280x720 or 1920x1080 the window manager seems to crash and I get the login screen. If I select 1280x800 it works (but it is not 16:9 so. I got a centered desktop. I'm running 10.12.5. Is it possible to display 16:9 HiDPI or only 16:10 (as Apple provides in their laptops)?

Any idea?
 
Hi. Excuse me for my English. I'm trying to make it simple.

1, Prepare SwitchResX, PlistEdit Pro and IORegExplorer. SwitchResX is not a must but I recommend it.

2, Enable HiDPI if you haven't done it

Code:
sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES;
sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled;

Log out and log back in if you'd like to be sure. Also works if you have Quartz Debug.

3, Extract EDID in SwitchResX. Or from IOReg as in Picture A.

3mVl2Lv.jpg


4, In Terminal, run
Code:
 ioreg -l

Use Edit - Find to get your DisplayProductID and DisplayVendorID. In my case, I got
Code:
DisplayVendorID = 14499
DisplayProductID = 26609

You also need to find IODisplayPrefsKey but it would must easier to get that in IOReg, as shown in Picture A. In my case I got this

Code:
 IODisplayPrefsKey = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PEG0@1/IOPCI2PCIBridge/PEGP@0/ATY,Ipomoea@0/ATIFramebufferNI/display0/AppleDisplay-38a3-67f1

Hence the value: AppleDisplay-38a3-67f1

5, Create a folder on the desktop and name it DisplayVendorID-****. In my case it was
Code:
DisplayVendorID-38a3

And then create a blank text file named DisplayProductID-***. In my case it was
Code:
DisplayProductID-67f1

Use the Get Info panel to make sure this text file HAS NO EXTENSION.

6, Edit this DisplayProductID-*** file in PlistEdit Pro. Add the following children and edit their values with your own DisplayProductID DisplayVendorID and EDID data.

Code:
<key>DisplayProductID</key>
 <integer>****</integer>
Code:
 <key>DisplayVendorID</key>
 <integer>****</integer>
Code:
 <key>IODisplayEDID</key>
 <data>
****
 </data>

In my case, it was like

Code:
        <key>DisplayProductID</key>
        <integer>26609</integer>
        <key>DisplayVendorID</key>
        <integer>14499</integer>
        <key>IODisplayEDID</key>
        <data>
        AP///////wA4o/FnAQEBAQYWAQOAMBt4KpLFollVnicOUFS/7wCBQIGAlQCzANHAAQEB
        AQEBAjqAGHE4LUBYLEUA3QwRAAAeAAAA/QA4Sx5QEQAKICAgICAgAAAA/ABWRTIyMDFY
        RwogICAgAAAA/wAyMjExMTUzME5DCiAgAFM=
        </data>

7, To add your custom resolution, create a new child like this
Code:
 <key>scale-resolutions</key>
 <array>
 </array>
And add a new sibling
Code:
<data></data>

8, Convert your custom resolution with a Hexadecimal Converter/Decimal Converter

My GPU supports 2560 x 1600 max. My display supports 1920 x 1080 max. So I will need 2560 x 1440 for retina.

Code:
00000A00 000005A0 00000001

00000A00 = 2560
000005A0 = 1440
00000001 This one doesn't really matter.

I also added 1366 x 768 because I could not stand 1360 x 768 provided by OS X.
Code:
00000556 00000300 00000001

Someone with 780 SLI or 7990 Cross-Fire may set 3840 x 2160 for 1920 x 1080 HiDPI. lol

Therefore, in your PlistEdit Pro it should look similar to mine:

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>26609</integer>
        <key>DisplayVendorID</key>
        <integer>14499</integer>
        <key>IODisplayEDID</key>
        <data>
        AP///////wA4o/FnAQEBAQYWAQOAMBt4KpLFollVnicOUFS/7wCBQIGAlQCzANHAAQEB
        AQEBAjqAGHE4LUBYLEUA3QwRAAAeAAAA/QA4Sx5QEQAKICAgICAgAAAA/ABWRTIyMDFY
        RwogICAgAAAA/wAyMjExMTUzME5DCiAgAFM=
        </data>
        <key>scale-resolutions</key>
        <array>
                <data>
                AAAKAAAABaAAAAAB
                </data>
                <data>
                AAAFVgAAAwAAAAAB
                </data>
        </array>
</dict>
</plist>

9, Copy your DisplayVendorID folder to /System/Library/Displays/Overrides

Now you can take a look in SwitchResX. Your custom resolutions should show up as "scaled" and "system-inactive". If you don't have SwitchResX it doesn't matter either.

Restart and voila!
u099tvn.jpg

Picture B
ZI7junm.jpg

Picture C

Do NOT try to choose 2560 x 1440, though. You will get a white screen or worse. Choose 1280 x 720 HiDPI instead.


Note:

A. Some other tutorial shows how to add custom resolutions with Switchres and Quartz Debug. It seems for laptops only. I was unable to add resolutions on my Hackintosh. Instead I got irrelevant DisplayVendorID folders in /System/Library/Displays/Overrides . Make sure you delete these folders before applying this tutorial.

B. I have not tested it with multiple displays, laptops or even TV. It is possible to be the same and, following this tutorial, you can add multiple EDID profiles to /System/Library/Displays/Overrides

C. Known issues: Lag a tiny bit when switching spaces. Also white screen for less than a second after logging in but before your retina desktop shows up. But it works fine on my Hackintosh now.

D. Do tell me if it would burn your GPU when you play games. lol

A lot of thanks to Apple, Steve, Hackintosh hackers, this forum, and especially authors of these two posts


Fixing Scrambled,Stretched, or Wrong Resolution Laptop Display Problems


HOW TO: Advanced EDID Injection


Ciao

Henry

Pentium G840
Gigabyte H61M-DS2 rev.2.2 F8
Samsung DDR3 1600 4G
MSI R6670-MD2GD3v2
Hitachi 320 GB (WIN 7 X86 SP1)
Seagate 500 GB (10.8.4)
NEC VE2201XG Display 1280x720 HiDPI
I can not find "AppleDisplay" in my IOReg, only "AppleBackLightDisplay".
Please check my ioregSaved.txt.

How can I find "AppleDisplay"?
 

Attachments

  • ioregSaved.txt
    53.9 KB · Views: 227
  • Screen Shot 2017-06-21 at 21.18.58.png
    Screen Shot 2017-06-21 at 21.18.58.png
    293.6 KB · Views: 296
I can not find "AppleDisplay" in my IOReg, only "AppleBackLightDisplay".
Please check my ioregSaved.txt.

How can I find "AppleDisplay"?

AppleBacklightDisplay is used for internal panels (with backlight control implemented).
AppleDisplay is for external displays.
 
AppleBacklightDisplay is used for internal panels (with backlight control implemented).
AppleDisplay is for external displays.
Thanks for quick answer.

I actually follow this to change retina resolution for my Surface Pro 3. I can not find "VendorID-4ca3/DisplayProductID-3542" in my directory, so I create a new folder, new file.
Is that correct?

-----
Retina resolution overwrite, put in:



/System/Library/Displays/Overrides/DisplayVendorID-4ca3/DisplayProductID-3542



<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com...yList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IODisplayEDID</key>
<data>AP///////wBMo0I1AAAAAAAXAQGVGRF4Cu6Vo1RMmSYPUFQAAAABAQEBAQEBAQEBAQEBAQEBeFBwoICgKVAwIDoA/qkAAAAZakBwoICgKVAwIDoA/qkAAAAZAAAA/gBTQU1TVU5HCiAgICAgAAAA/gAxMjBRTDAxLTAwMQogAGk=</data>
<key>DisplayProductID</key>
<integer>13634</integer>
<key>DisplayVendorID</key>
<integer>19619</integer>
<key>scale-resolutions</key>
<array>
<data>AAAKAAAABaAAAAAB</data>
<data>AAAFVgAAAwAAAAAB</data>
<data>AAAKAAAABqwAAAAB</data>
</array>
</dict>
</plist>

Unfortunately Apple apparently still limits the Intel HD5000 to 2560x???? pixel, so this only gives 2560x1708, ideally I would want 2880x1920 or so.

Intel .kext hack anyone?
----------
 
Status
Not open for further replies.
Back
Top