Henry2010 Posted June 23, 2013 Share Posted June 23, 2013 UPDATE Hm sorry I forgot to update this topic. This tutorial works only in 10.8 here on my hackintosh. I have read that some people made it work in 10.9, but only with Intel's intergrated GPU. Cheers -------------------------- 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 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. 4, In Terminal, run ioreg -l Use Edit - Find to get your DisplayProductID and DisplayVendorID. In my case, I got 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 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 DisplayVendorID-38a3 And then create a blank text file named DisplayProductID-***. In my case it was 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. <key>DisplayProductID</key> <integer>****</integer> <key>DisplayVendorID</key> <integer>****</integer> <key>IODisplayEDID</key> <data> **** </data> In my case, it was like <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 <key>scale-resolutions</key> <array> </array> And add a new sibling <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. 00000A00 000005A0 00000001 00000A00 = 2560000005A0 = 144000000001 This one doesn't really matter. I also added 1366 x 768 because I could not stand 1360 x 768 provided by OS X. 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: <?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!Picture B 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 http://www.insanelymac.com/forum/topic/208410-fixing-scrambledstretched-or-wrong-resolution-laptop-display-problems/Fixing Scrambled,Stretched, or Wrong Resolution Laptop Display Problemshttp://www.insanelymac.com/forum/topic/281412-how-to-advanced-edid-injection/HOW TO: Advanced EDID Injection Ciao Henry Pentium G840Gigabyte H61M-DS2 rev.2.2 F8Samsung DDR3 1600 4GMSI R6670-MD2GD3v2Hitachi 320 GB (WIN 7 X86 SP1)Seagate 500 GB (10.8.4)NEC VE2201XG Display 1280x720 HiDPI 6 Link to comment Share on other sites More sharing options...
smolderas Posted June 24, 2013 Share Posted June 24, 2013 With the 10.8.4 update, apple added more mechanism to check if the overridden resolution is compatible with the EDID read from monitor. So it won't work, if your monitor doesn't really support the resolutions. up until 10.8.4 you would get upscaled resolutions with this method... Link to comment Share on other sites More sharing options...
Henry2010 Posted June 25, 2013 Author Share Posted June 25, 2013 With the 10.8.4 update, apple added more mechanism to check if the overridden resolution is compatible with the EDID read from monitor. So it won't work, if your monitor doesn't really support the resolutions. up until 10.8.4 you would get upscaled resolutions with this method... I am in 1084 and it works. If it did not work for you, maybe you added a wrong resolution Link to comment Share on other sites More sharing options...
jamiethemorris Posted June 25, 2013 Share Posted June 25, 2013 I am in 10.8.3, but I can't find a lot of these things... My DisplayVendorID and DisplayProductID have hexidecimal numbers instead of regular numbers like yours (0x469 and 0x2498). When I search for IODisplayPrefsKy I don't find anything. Also, I don't understand the data section under IODisplayEDID that you have, where did that come from? There's also a data section under scale-resolutions and I don't know where that comes from either. What am I doing wrong, is my computer just not compatible with this hack? Link to comment Share on other sites More sharing options...
p.H Posted June 25, 2013 Share Posted June 25, 2013 I am in 10.8.3, but I can't find a lot of these things... My DisplayVendorID and DisplayProductID have hexidecimal numbers instead of regular numbers like yours (0x469 and 0x2498). When I search for IODisplayPrefsKy I don't find anything. Also, I don't understand the data section under IODisplayEDID that you have, where did that come from? There's also a data section under scale-resolutions and I don't know where that comes from either. What am I doing wrong, is my computer just not compatible with this hack? If you take your time diving into this topic, I think you'd have a better understanding of the technique being discussed here. http://www.insanelymac.com/forum/topic/281412-how-to-advanced-edid-injection/ Link to comment Share on other sites More sharing options...
smolderas Posted June 25, 2013 Share Posted June 25, 2013 I am in 1084 and it works. If it did not work for you, maybe you added a wrong resolution The reason, why I'm telling, that up until 10.8.4 is, because with the same override file I had 3840x2160, (1920x1080(HiDpi)). After updating to 10.8.4 I lost all resolutions. I have the same result on my macbook pro _and_ on my hackintosh. Here some screens up until 10.8.4: 3840x2160 http://i.imgur.com/SRUsQQY.jpg 1920x1080 (HiDPI) http://i.imgur.com/KEFTyB1.jpg 1920x1080 http://i.imgur.com/OxQ453f.jpg Another screenshot on 10.8.3 http://i.imgur.com/PElXpyz.jpg If it is true, what you are saying, it could be some Samsung problems, which is being discussed in apple-support forums too. I am in 10.8.3, but I can't find a lot of these things... My DisplayVendorID and DisplayProductID have hexidecimal numbers instead of regular numbers like yours (0x469 and 0x2498). When I search for IODisplayPrefsKy I don't find anything. Also, I don't understand the data section under IODisplayEDID that you have, where did that come from? There's also a data section under scale-resolutions and I don't know where that comes from either. What am I doing wrong, is my computer just not compatible with this hack? With `ioreg` you can get everything you want. With the argument "-x" you can print the values on hex-base too. For example: $ ioreg -l | grep DisplayProductID would return it in decimal $ ioreg -lx | grep DisplayProductID would return it in hexadecimal The information between <data> key is the hexadecimal value encoded in base64. You can use online converter or use plist editor from Xcode. Link to comment Share on other sites More sharing options...
jamiethemorris Posted June 26, 2013 Share Posted June 26, 2013 The reason, why I'm telling, that up until 10.8.4 is, because with the same override file I had 3840x2160, (1920x1080(HiDpi)). After updating to 10.8.4 I lost all resolutions. I have the same result on my macbook pro _and_ on my hackintosh. Here some screens up until 10.8.4: 3840x2160 http://i.imgur.com/SRUsQQY.jpg 1920x1080 (HiDPI) http://i.imgur.com/KEFTyB1.jpg 1920x1080 http://i.imgur.com/OxQ453f.jpg Another screenshot on 10.8.3 http://i.imgur.com/PElXpyz.jpg If it is true, what you are saying, it could be some Samsung problems, which is being discussed in apple-support forums too. With `ioreg` you can get everything you want. With the argument "-x" you can print the values on hex-base too. For example: $ ioreg -l | grep DisplayProductID would return it in decimal $ ioreg -lx | grep DisplayProductID would return it in hexadecimal The information between key is the hexadecimal value encoded in base64. You can use online converter or use plist editor from Xcode. I will try that, thank you. Link to comment Share on other sites More sharing options...
smolderas Posted June 27, 2013 Share Posted June 27, 2013 As I say, it has to do with the new nvidia drivers came with 10.8.4. I reverted the geforce kexts und bundles to the 10.8.3 versions and there you go. 1920x1080(HiDPI) is there again... Link to comment Share on other sites More sharing options...
smolderas Posted June 27, 2013 Share Posted June 27, 2013 Well what do you know: 5120x2880 https://dl.dropboxusercontent.com/u/2651869/Ekran%20Resmi%202013-06-28%2000.55.50.png 2560x1440(HiDPI) https://dl.dropboxusercontent.com/u/2651869/Ekran%20Resmi%202013-06-28%2000.56.04.png Link to comment Share on other sites More sharing options...
packrobottom Posted July 22, 2013 Share Posted July 22, 2013 how do i revert the geforce kexts and bundles back to 10.8.3 extract them from 10.8.3 combo update and overwrite? Link to comment Share on other sites More sharing options...
iNeko Posted July 26, 2013 Share Posted July 26, 2013 It says 'system-only'-invalid in SwitchResX. Why? Link to comment Share on other sites More sharing options...
mendietinha Posted August 22, 2013 Share Posted August 22, 2013 having a bad time to find the correct numbers for max hidpi for my internal lcd with max res 1600x900. but lets go! Link to comment Share on other sites More sharing options...
lightskreen Posted September 30, 2013 Share Posted September 30, 2013 Hi, I'm trying to do this on a 1920x1080 laptop display. The only hidpi resolution that shows up is half that of 1920x1080 (Not optimal to say the least) I'm trying to get a grip on how this works. I'm pretty sure I did the tutorial right but more than likely wrong resolutions added. Link to comment Share on other sites More sharing options...
smolderas Posted October 1, 2013 Share Posted October 1, 2013 Hi, I'm trying to do this on a 1920x1080 laptop display. The only hidpi resolution that shows up is half that of 1920x1080 (Not optimal to say the least) I'm trying to get a grip on how this works. I'm pretty sure I did the tutorial right but more than likely wrong resolutions added. you can't go past beyond of what your monitor natively supports. Link to comment Share on other sites More sharing options...
darkera13 Posted October 2, 2013 Share Posted October 2, 2013 Work with any Resolutions. Tested on HD4000, work like a charm at 1920x1080 HiDPI. Only 1 limited is your display resolution. Link to comment Share on other sites More sharing options...
vinodv Posted October 25, 2013 Share Posted October 25, 2013 Hello, Has anybody been able to get this guide working on 10.9? I had it working well in 10.8.5, but on 10.9, I don't see my custom resolutions in Display Preferences. I know the override is being "read" because when I added a "DisplayProductName" (? forget the exact name) key with a test string, that showed up in System Info. I've enabled HiDPI resolutions and do see one that comes up by default (without me needing to provide an override) in Preferences. SwitchResX shows my custom resolutions and I am able to select my custom HiDPI ones there. If I do that, I am at the right resolution and no resolution shows up as selected in Display Preferences. When I uninstall SwitchResX, it seems to undo the set though. Does anybody know what SwitchResX does to switch resolutions? Or why my custom resolutions don't show up in Display Preferences? Any help appreciated. Thanks, /vv Link to comment Share on other sites More sharing options...
smolderas Posted October 25, 2013 Share Posted October 25, 2013 Hello, Has anybody been able to get this guide working on 10.9? I had it working well in 10.8.5, but on 10.9, I don't see my custom resolutions in Display Preferences. I know the override is being "read" because when I added a "DisplayProductName" (? forget the exact name) key with a test string, that showed up in System Info. I've enabled HiDPI resolutions and do see one that comes up by default (without me needing to provide an override) in Preferences. SwitchResX shows my custom resolutions and I am able to select my custom HiDPI ones there. If I do that, I am at the right resolution and no resolution shows up as selected in Display Preferences. When I uninstall SwitchResX, it seems to undo the set though. Does anybody know what SwitchResX does to switch resolutions? Or why my custom resolutions don't show up in Display Preferences? Any help appreciated. Thanks, /vv What is your graphics card? Link to comment Share on other sites More sharing options...
vinodv Posted October 25, 2013 Share Posted October 25, 2013 I've tried with both the onboard Intel HD3000 and a GTX 660. The resolution I was attempting to reach is within the max resolution supported by both cards. When I had it working on 10.8.5, my monitor was powered off my GTX 660 with the default OSX drivers /vv Link to comment Share on other sites More sharing options...
smolderas Posted October 25, 2013 Share Posted October 25, 2013 I've tried with both the onboard Intel HD3000 and a GTX 660. The resolution I was attempting to reach is within the max resolution supported by both cards. When I had it working on 10.8.5, my monitor was powered off my GTX 660 with the default OSX drivers /vv And which resolution might that be? Link to comment Share on other sites More sharing options...
vinodv Posted October 25, 2013 Share Posted October 25, 2013 2048x1280 for a 1024x640 (HiDPI) Link to comment Share on other sites More sharing options...
smolderas Posted October 26, 2013 Share Posted October 26, 2013 2048x1280 for a 1024x640 (HiDPI) Well, all I know is, they(nvidia and nvidia team in apple) added new mechanism in nvidia drivers onwards the 10.8.4 and later (including 10.9), to check the added or overridden resolutions. I had to revert to the older nvidia drivers from 10.8.3 while I'm being on 10.8.4 and 10.8.5 and it did work. But for 10.9 I'm out of luck. The old drivers aren't even linking on the 10.9… I already tried the nvidia web drivers too. Link to comment Share on other sites More sharing options...
Ramalama Posted December 29, 2013 Share Posted December 29, 2013 OSX 10.9.1 / UX301LA / Intel Iris 5100 / 13-Inch 2560 x 1440 native resolution All things are to small, but sharp... I tryed to add 1920x1080, 1600x900 hidpi resolutions... Doesn't working... <?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>5126</integer> <key>DisplayVendorID</key> <integer>19728</integer> <key>IODisplayEDID</key> <data> AP///////wBNEAYUAAAAAAAXAQSlHRF4Bt5Qo1RMmSYPUFQAAAABAQEBAQEBAQEBAQEB AQEBVl4AoKCgKVAwIDUAJqUQAAAYAAAAEAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAA AAAAAAAAAAAA/ABMUTEzM1QxSlcxNAogAKU= </data> <key>scale-resolutions</key> <array> <data> AAAHgAAABDgAAAAB </data> <data> AAAGQAAAA4QAAAAB </data> <data> AAAFVgAAAwAAAAAB </data> </array> </dict> </plist> Working: sudo defaults write /Library/Preferences/com.apple.windowserver DisplayResolutionEnabled -bool YES;Not Working: sudo defaults delete /Library/Preferences/com.apple.windowserver DisplayResolutionDisabled; "Domain (/Library/Preferences/com.apple.windowserver) not found" Thank you :-) Link to comment Share on other sites More sharing options...
Ramalama Posted April 10, 2014 Share Posted April 10, 2014 Ok, not need anymore, i found out how to get HiDPI on Retina Macbook Smbios: You need to use 00000B40 00000654 00000001 00200000 instead of 00000B40 00000654 00000001 in the description. (just add 00200000 at the end) Example as Picture (Attached) Link to comment Share on other sites More sharing options...
dreadkopp Posted January 28, 2015 Share Posted January 28, 2015 hi! i tried this in 10.10.1 to get my external TV to work. i want it to run at 1360x786 and 2040x1180 (both resolutions run fine with windows) so i created this file: <?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>1815</integer> <key>DisplayVendorID</key> <integer>1970170734</integer> <key>IODisplayEDID</key> <data> AP///////wAAABcHAAAAAAoKAQEMHhe+6C3JoFdHmCcSSEwAAAABAQEBAQEBAQEBAQEB AQEBAAAA/gBTUlhGYWtlRURJRAogAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAFo= </data> <key>default-resolution</key> <data> AAAFUAAAAxIAAAABACAAAA== </data> <key>scale-resolutions</key> <array> <data> AAAFUAAAAxIAAAABACAAAA== </data> <data> AAAHAAAABJwAAAABACAAAA== </data> </array> </dict> </plist> as you can see in the screenshot the resolutions are not shown (even not when pressing the alt-key) what am i doing wrong? hope someone can help me with that. Greetings Link to comment Share on other sites More sharing options...
smolderas Posted January 28, 2015 Share Posted January 28, 2015 hi! i tried this in 10.10.1 to get my external TV to work. i want it to run at 1360x786 and 2040x1180 (both resolutions run fine with windows) so i created this file: <?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>1815</integer> <key>DisplayVendorID</key> <integer>1970170734</integer> <key>IODisplayEDID</key> <data> AP///////wAAABcHAAAAAAoKAQEMHhe+6C3JoFdHmCcSSEwAAAABAQEBAQEBAQEBAQEB AQEBAAAA/gBTUlhGYWtlRURJRAogAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAFo= </data> <key>default-resolution</key> <data> AAAFUAAAAxIAAAABACAAAA== </data> <key>scale-resolutions</key> <array> <data> AAAFUAAAAxIAAAABACAAAA== </data> <data> AAAHAAAABJwAAAABACAAAA== </data> </array> </dict> </plist> as you can see in the screenshot the resolutions are not shown (even not when pressing the alt-key) what am i doing wrong? hope someone can help me with that. Greetings It stopped working for me too from the 10.8.3 through 10.9.* up to 10.10.2. They added new mechanisms to check the resolution overrides. They can't exceed, what the monitor reports as his maximum. Link to comment Share on other sites More sharing options...
Recommended Posts