CharredPC Posted January 21, 2010 Share Posted January 21, 2010 Most of this information I have previously posted, but was scattered throughout multiple threads. I've gathered it all here to provide a comprehensive solution in one place. I've also given the option of skipping use of SwitchResX altogether, as it's not freeware, and some people were confused about the continued need for it once the fix was in place. If you have anything you think needs adding or clarifying, please don't hesitate to reply or message me directly. Does your laptop have a 'messed up' display part or all the time? Are you missing some or all proper resolutions? Is everything stretched out, or maybe your screen is even blank*? Here's your likely solution! OSX has a horrible time trying to pick up EDID information from our LCD screens. That's the information it needs to know what timings to use, what resolutions are available, etc. Without it, a lot of us are stuck at the wrong resolution... or worse! Often the problem can be intermittent- for example, the display doesn't work right, but then does after a reboot or two, or randomly. Most people incorrectly diagnose this as needing different display drivers, and try every strange concoction they can find. Sometimes the alternate / older drivers even seem to work, as they improve the chances of your EDID being picked up. However, this is the wrong solution. If the latest stock drivers give you QE, but the display is weird, stretched, or you're at 1024 x 768... DON'T CHANGE THEM! The issue is NOT actually a driver problem, but an EDID issue. The screen looks wrong simply because OSX doesn't know how to talk to it correctly. To start off with, we need to acquire your screen's EDID. There's several ways to do it; just choose the one that's easiest for you, or fits your situation best. Solution A; IF YOUR DISPLAY WORKS PROPERLY SOMETIMES (FLAKY EDID PICKUP): Often when I start OSX, my laptop doesn't show anything on the screen unless I reboot multiple times. In the past, I described it as a "cold boot" problem. With my previous LCD screen, it would boot to a blue screen (or gray in SL). Some others need to reboot once (or more times) to get the correct resolutions listed. If your problem is sporadic, you're in luck; this fix can be completely done within OSX. It can still be confusing, though, so follow closely. The good thing is, you only have to do it once! 1. Reboot, cross your fingers, wiggle your mouse, or do whatever it takes to get your display to show up properly. Again, this only works if resolution and picture are occasionally perfect. We need to be in that mode to continue! 2. Open Terminal, and stretch it as wide as possible. It sounds strange, but I make it about twice as wide as the actual screen. This works around Terminal's truncation limit, so our data isn't cut off. Alternatively, you can use IORegExplorer. Either way will work fine, though the rest of this guide assumes you are using Terminal. 3. Enter ioreg -l and hit enter. This should fill the window will lots and lots of data about your machine. 4. Use Edit -> Find -> Find... to locate IODisplayEDID. If you do not have this listed, STOP HERE. this solution will not work; sorry, your EDID is not being picked up at all, go to Solution B. If this value IS present, continue on. 5. We need the value of IODisplayEDID (will have a long hex data string, like 00ffffffffffff00320c00df0...3A). Select the entire thing, and save it to a text file. Make sure it does not have a $ at the end! If it does, make the Terminal window wider and run ioreg -l again. 6. Reboot, wait a while, or do whatever it takes to boot so the display is NOT right (stretched, wrong resolution, whatever). If your 'bad' display is so bad you cannot use it, first go to System Preferences -> Sharing, checkmark Screen Sharing, and enable a password under Computer Settings. Note the vnc:// address. Using a second computer, connect to the vnc:// address and continue the instructions remotely. If you're using Windows, use TightVNC. 7. Run ioreg -l in Terminal again. If you cannot find IODisplayEDID, or it has a different value, then we're on the right track! This time, locate the DisplayProductID, DisplayVendorID, and IODisplayPrefsKey values. That last one should end in something like AppleBacklightDisplay-756e6b6e-717. Take note of all these. Leave this Terminal window open, so you can grab these values as needed as we continue. 8. Now in Finder, navigate to /System/Library/Displays/Overrides. See if there is a match between a folder name there, and the green part of the IODisplayPrefsKey value. Chances are (unless you've been previously fiddling with SwitchResX) there won't be, so create one on your desktop (you cannot make a new folder in the Overrides directory). For instance, with the above example, the folder we would make would be named DisplayVendorID-756e6b6e. 9. Now open Plist Editor Pro, and paste the following into the lower half of it: <?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>DisplayProductName</key> <string>Internal LCD Forced EDID</string> <key>DisplayVendorID</key> <integer>1970170734</integer> <key>IODisplayEDID</key> <data> AP///////wAGEF+cAAAAAAgRAQOAIRV4CunVmVlTjigmUFQAAAABAQEBAQEBAQEBAQEB AQEB3iGgcFCEHzAgIFYAS88QAAAYAAAADwAGECAKCgoKCgoKCgoKAAAA/gBLUzUxNQAx NTRXUDEKAAAA/gBDb2xvciBMQ0QKCgoKAI8= </data> </dict> </plist> 10. After clicking Sync Outline, you should now be able to edit the DisplayProductID, DisplayVendorID, and IODisplayEDID values in the upper window. Don't use the bottom code window, as we need Plist Editor to convert the data strings for us. The IODisplayEDID value is the long hex string we grabbed earlier. The DisplayProductID and DisplayVendorID values are in the ioreg Terminal window we left open. 11. Once done, save the Plist file as anything you like in the DisplayVendorID folder we created on the desktop, and close Plist Editor Pro. Now rename the Plist file using the purple part of the IODisplayPrefsKey, like so: DisplayProductID-717. Make sure there is NO extension, .plist or anything else! Verify and/or correct this by right-clicking on the file and choosing Get Info. 12. Now all that's left is to drag the folder to /System/Library/Displays/Overrides. It should require the Administrator password to proceed. This should create a directory something like /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717. Reboot, and see if it worked! To verify that the Override loaded, just open Displays in System Preferences. It should say "Internal LCD Forced EDID" whenever the EDID is not found. If your pickup is sporadic, you may have to reboot a few times to make sure it works. Congratulations, your internal display is now 100% functional! Solution B; IF YOUR DISPLAY NEVER WORKS PROPERLY (NO EDID PICKUP): The challenge here is that OSX refuses to pick up your EDID at all, forcing us to boot to a different operating system altogether to acquire the data we need. This could be easy (if you have a dual boot system) or a bit of a challenge, if you don't. I'll try and cover every possibility here. The Windows Way: Boot to Windows and retrieve your EDID using this. Once you have the EDID saved somewhere you can access (online, text file, USB key, whatever), reboot to OSX. You should now be able to pick up the instructions in Solution A, starting with step 6. The Linux Way: I have not personally tested this yet, but it should work. Boot Ubuntu Linux (a live cd is fine). Open Terminal, make sure you have a working internet connection, and enter sudo apt-get install read-edid. You can now try entering sudo get-edid | sudo parse-edid. If that doesn't show the full EDID hex string, try just sudo get-edid. Once you have the EDID saved somewhere you can access (online, text file, USB key, whatever), reboot to OSX. You should now be able to pick up the instructions in Solution A, starting with step 6. The DOS Way: I've tried this, and it works, though is currently not the most ideal solution. Create a bootable DOS USB key using the instructions here. Once that is done, extract this file and add it to the USB drive. Reboot, and boot off the DOS USB drive. You might have to change the boot order in your bios. Once you're at the command prompt, enter GET-EDID.EXE EDID-OUT. This will create a new file (edid-out, no extension) on your USB drive. Unfortunately, the only way I have found to access the EDID from it is using a hex editor, as it saves it as raw data, not a text file. I have yet to find a simple DOS hex-dump-to-text utility, but if anyone can supply one, I'll create a single *.bat file to do all the work. Once you have the EDID retrieved from the hex editor, you should now be able to pick up the instructions in Solution A, starting with step 6. Solution C; USING SWITCHRESX INSTEAD OF IOREG / TERMINAL: This could be easier for some people. Once you have your EDID using one of the above methods, boot OSX (using screen sharing, if the screen is unusable) and open SwitchResX. Find the fake display and vendor id's it is using (as in the example above, mine is using /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717, which seems to be a sort of universal default). Copy that file to your desktop, and rename it to *.plist. Open it with Plist Editor Pro, and add your EDID. If that file isn't there, create it using the directions in Method A. Once done, remove the .plist extension, overwrite the default Override, and reboot. After you verify the Override is working properly, you CAN get rid of SwitchResX (open Applications, right-click the icon and choose "Move to trash"). It isn't needed anymore. It's a useful tool for setting up an Override, reading your EDID (if OSX has it), or seeing what DisplayVendorID / DisplayProductID path is being used... but once a fix is in place, it's no longer useful. Removing SwitchResX, at least for me, did not affect any of my custom Overrides. Some comments and warnings: Using someone else's unedited Display Override is a bad idea, just like using someone else's DSDT.aml or toothbrush! Even the same make and model laptops have different LCD screens, so the EDID could be drastically different. At best, you end up with a (more) scrambled screen. At worst, there's a chance you could damage your display. If your EDID pickup is flaky like mine, OSX will use the created Override only when it can't find the EDID. The down side to this is OSX sees this situation as having two completely separate displays; settings like wallpaper and Color Calibration will be different for each. As long as you have both settings the same, you'll never notice the difference. However, if for example you change your wallpaper while not using the Override, then on next reboot the Override is used, you'll see the older wallpaper. I consider it a small price to pay for a 100% working display, and as far as I know there's no way around it. I personally have my Wallpaper set to rotate, so never notice Once your Override is created, I recommend backing it up for future use. That way all these steps are not needed the next time you install OSX on the same machine. Think of it as a custom driver; you can just drag and drop the folder into /Overrides/. The Overrides are also version-agnostic, so once created, should be able to be used in 10.5.x and 10.6.x interchangeably. I wish there was a way to have it on /EFI/Extra/, but oh well. OSX updates won't overwrite the Override, so it's only annoying for the first bootup, or for people like me who want every fix completely separate from the OS. Display Overrides are the only 100% solution I have found for EDID detection problems. There are theoretical ways to add EDID to the Boot.plist or DSDT (AAPL01, EDID) but it seems at least some of the OSX Intel drivers (if not all) ignore this data. It's been theorized that this is due to the display device being 'created' when the GMA video drivers load, thus the early-loading Boot.plist and DSDT data is erroneous at the time they are loaded. Another thought is that since the GMA drivers 'create' their own display device, they don't access or use the DSDT LCD entry / information. Regardless of the reason, I can personally attest to Overrides being the only real working X3100 EDID solution. Of course, if anyone has a proven alternate method, please share. *For Intel chipsets, if your screen is blank, there's other possibilities besides EDID issues. If your LCD is 1440x900 or higher, you might need the Dual Link DSDT patch. Some people report that removing all video devices but the LCD forces it to be used. Sometimes the LCD is actually working fine, but a backlight issue keeps anything from being seen. And as with my laptop, sometimes it's a combination of any one of these, plus needing a Display Override. 16 Link to comment Share on other sites More sharing options...
Zprood Posted January 22, 2010 Share Posted January 22, 2010 Great job man.With your help ,OSX can read my EDID,it works perfectly.But now i have some trouble about ApplebacklightDisplay,i notice that there are some info in the Kernel log Jan 22 10:45:28 localhost kernel[0]: IG: Invalid firmware max backlight setting I think this is something wrong in the dsdt.My screen is 14 inch ,resolution is 1280x800 .Also i can see the button adjust Brightness ,but it does not works .I try to correct it ,but failed. I hope you can help me.Thanks a lot.My dsdt :DSDT.dsl.zip Link to comment Share on other sites More sharing options...
CharredPC Posted January 22, 2010 Author Share Posted January 22, 2010 Great job man.With your help ,OSX can read my EDID,it works perfectly.But now i have some trouble about ApplebacklightDisplay,i notice that there are some info in the Kernel log Jan 22 10:45:28 localhost kernel[0]: IG: Invalid firmware max backlight setting I think this is something wrong in the dsdt.My screen is 14 inch ,resolution is 1280x800 .Also i can see the button adjust Brightness ,but it does not works .I try to correct it ,but failed. I hope you can help me.Thanks a lot.My dsdt :DSDT.dsl.zip This is unfortunately an unsolved universal problem with the X3100. Some GMA950 users have reported having a fully working backlight after adding the PNLF device in the DSDT, however I don't know of any X3100 successes. Adding the PNLF only gives us the slider, but no actual control. Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted January 25, 2010 Share Posted January 25, 2010 i have the gma 4500 and I've tried the override change but when I attempt to boot the system apparently crashes. I can see this because i use -v when i boot to see what caused it and I'm sure it's the -717 override because after I replaced it with the orig it was fine but still no resolution fix. dunno wut i'm doing wrong but you're process does seem a little more tedious to the eyes than most would expect oh and i'll throw it outthere that prior to doing it by our method I attempted to use switchreX so the -717 file is "modified" by reX if you could post your copy of the file all I would have to do is just change the hex value for the EDID for my display and give it another shot if you're up to it (and wow my first post on isanelymac ._.) 1 Link to comment Share on other sites More sharing options...
CharredPC Posted January 25, 2010 Author Share Posted January 25, 2010 i have the gma 4500 and I've tried the override change but when I attempt to boot the system apparently crashes. I can see this because i use -v when i boot to see what caused it and I'm sure it's the -717 override because after I replaced it with the orig it was fine but still no resolution fix. I've never tried this on a 4500. That might be a bit different, since no driver is loaded for it. If your system crashes, though, you likely did not create your override correctly. Feel free to post it here. dunno wut i'm doing wrong but you're process does seem a little more tedious to the eyes than most would expect I think the word you're looking for is thorough. oh and i'll throw it outthere that prior to doing it by our method I attempted to use switchreX so the -717 file is "modified" by reX If you followed this guide, all "modifications" done by SwitchResX are undone. Again, if you created it properly as I describe above, the only value we pass along is the proper EDID. Unless that or some syntax is wrong, OSX won't crash from that. if you could post your copy of the file all I would have to do is just change the hex value for the EDID for my display and give it another shot if you're up to it The code I posted above is my Display Override. If you have already previously created one with SwitchResX, you can use it for comparison, or even just add the IODisplayEDID key and data. Again, I've never tried this on a completely unsupported videocard, so please share how it turns out. Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted January 25, 2010 Share Posted January 25, 2010 i manually put in the EDID information into the file and saved it but still no positive results and here's my -717 file DisplayProductID_717.txt Link to comment Share on other sites More sharing options...
CharredPC Posted January 25, 2010 Author Share Posted January 25, 2010 i manually put in the EDID information into the file and saved it but still no positive resultsand here's my -717 file Some more info would be helpful; what videocard do you have? Do you have a driver being loaded for it? What symptoms were you having that you're trying to fix? How did you acquire your proper EDID? How did you verify what Override is being used? Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted January 25, 2010 Share Posted January 25, 2010 this is from my lspci.txt file 00:02.0 VGA compatible controller [0300]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a42] (rev 07) 00:02.1 Display controller [0380]: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller [8086:2a43] (rev 07) (system profiler info) Vendor: Intel (0x8086) Device ID: 0x2a42 Revision ID: 0x0007 as far as the problem i'm trying to fix my 1024x768 resolution problem how did I acquire the EDID? well simple really i used the win program that you provided booted into vista (dual booting os x and vista) and exported the .rtf file went back to os x and opened the file and copied the hex values that were there and put them into the data field for the EDID in the .plist file as far as knowing which actual override I'm supposed to be using well I assumed it to be the 717 as your values you posted match mine perfectly aside from the EDID hex values if there's anything else you need don't hesitate to ask Link to comment Share on other sites More sharing options...
CharredPC Posted January 25, 2010 Author Share Posted January 25, 2010 Okay, so we're working with a 4500 that has no driver to load. To be honest, I've never tried this Override trick when there is no driver loaded whatsoever; I'm not positive you can do anything other than the 1024x768 default. We'll try, though! It sounds like you got the proper EDID. If your IOPrefsKey was AppleBacklightDisplay-756e6b6e-717 like mine, then you're correct, the file we're editing should be /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717. You did use Plist Pro to edit DisplayProductID-717, right? And removed the extension afterward? Another thing to check is going to Displays under System Preferences, and making sure the override is being loaded- it should be named Internal LCD Forced EDID. If not, the override isn't being used. Link to comment Share on other sites More sharing options...
TH3L4UGH1NGM4N Posted January 26, 2010 Share Posted January 26, 2010 thanks a lot for your help so far it seems like we're making it now i'm pretty sure the override is being used because in the display settings I do notice that it does change whenever I change the string in the override file I have more reason to believe that this is the override also judging by the fact that the app edits that particular override file (btw it was Internal LCD Forced EDID until I used an app called displayconfigX and it changed the -717 file) it's just now how to we manipulate it to change the resolution... EDIT nvm i just ended up editing an already modified GMA X3100 and putting in a string here and there and whalah my resolution problem is fixed thanks a lot for your help still Link to comment Share on other sites More sharing options...
afugazzi Posted February 23, 2010 Share Posted February 23, 2010 Hey this is a great solution--thanks a lot! One problem that this is not fixing for me involves the fact that I have 2 identical samsung computers. They have different EDIDs, but the same Vendor ID, Product ID, and would require the same Vendor folder and product file... How do you make separate EDIDs for the same product? Thanks! Link to comment Share on other sites More sharing options...
CharredPC Posted February 23, 2010 Author Share Posted February 23, 2010 Hey this is a great solution--thanks a lot! One problem that this is not fixing for me involves the fact that I have 2 identical samsung computers. They have different EDIDs, but the same Vendor ID, Product ID, and would require the same Vendor folder and product file... How do you make separate EDIDs for the same product?Thanks! Let me get this straight- are there two different computers (computer + screen, or laptops), or are there two screens on one computer? If you have two entirely separate computers, having two different overrides isn't a problem. They will be the same except for the EDID, and being located on two entirely different machines, won't interact in any way. If there are two screens hooked up to the same machine, then I can understand a problem having the two overrides in one directory. If the screens are the same make and model (therefore the same specs), there's a chance that though they have different EDID's, a single EDID / override might work for both. The differences might just be production month / year information, which won't matter as long as the available resolution data etc remain compatible. Link to comment Share on other sites More sharing options...
afugazzi Posted February 23, 2010 Share Posted February 23, 2010 I have one computer with two monitor outputs (a mini dvi and a displayport). When I hook those up to my identical monitors and try to run them as dual monitors, it won't work (screens flash black and blue). Just using a single EDID doesn't seem to work I'm not sure if it's because, if they are both assigned to the same EDID, it doesn't know how to display them as dual monitors?? This is only an issue though when I hook them up through this HDMI switch, which we will hopefully soon be replacing with a DVI switch. Any way to somehow create two files for these identical monitors? Like perhaps create subfolders within the Vendor folder? Either way, still very impressed with this fix! Link to comment Share on other sites More sharing options...
CharredPC Posted February 23, 2010 Author Share Posted February 23, 2010 I have one computer with two monitor outputs (a mini dvi and a displayport). When I hook those up to my identical monitors and try to run them as dual monitors, it won't work (screens flash black and blue). Just using a single EDID doesn't seem to work I'm not sure if it's because, if they are both assigned to the same EDID, it doesn't know how to display them as dual monitors?? This is only an issue though when I hook them up through this HDMI switch, which we will hopefully soon be replacing with a DVI switch. Any way to somehow create two files for these identical monitors? Like perhaps create subfolders within the Vendor folder? Either way, still very impressed with this fix! Hrm. If it's only an issue when using that HDMI switch, that might be causing your issue. Have you tried hooking up only one monitor through the HDMI switch? The results would help isolate if it's the HDMI switch or the dual display that's messing things up. Also, what graphics card / OS / drivers are we working with here? Link to comment Share on other sites More sharing options...
afugazzi Posted February 23, 2010 Share Posted February 23, 2010 I'm running Mac OS x with a NVIDIA GeForce 9400 graphics card. I have two Samsung SyncMaster monitors. When I just hooked one monitor up through the HDMI switch, I initially had trouble displaying the native resolution (could only display 720p vs 1080p), but using this fix I was able to force the 1080p. However, now when I hook up the second monitor for dual monitors it runs into the error. Interestingly enough, it did not have this dual monitor problem before I implemented this override fix (even running through the HDMI switch, the dual monitor set up worked, although without the native resolution). Perhaps the fix is making it think that both monitors should have the same EDID, even though this is not the case? Link to comment Share on other sites More sharing options...
CharredPC Posted February 23, 2010 Author Share Posted February 23, 2010 I'm running Mac OS x with a NVIDIA GeForce 9400 graphics card. I have two Samsung SyncMaster monitors. When I just hooked one monitor up through the HDMI switch, I initially had trouble displaying the native resolution (could only display 720p vs 1080p), but using this fix I was able to force the 1080p. However, now when I hook up the second monitor for dual monitors it runs into the error. Interestingly enough, it did not have this dual monitor problem before I implemented this override fix (even running through the HDMI switch, the dual monitor set up worked, although without the native resolution). Perhaps the fix is making it think that both monitors should have the same EDID, even though this is not the case? That's very likely. Do both monitors show up exactly the same, using the same DisplayProductID? Link to comment Share on other sites More sharing options...
afugazzi Posted February 23, 2010 Share Posted February 23, 2010 Yes they have the same DisplayProductID and DisplayVendorID, but slightly different EDID's. If I now hook them up bypassing the switch, they can dual display. So it looks like it's some combination of this fix and the HDMI switch that is causing the problem. Maybe changing to a DVI switch will help... Link to comment Share on other sites More sharing options...
LFernandoCG Posted February 24, 2010 Share Posted February 24, 2010 I got a problem in the iore -l info, my IODisplayPrefsKey. It looks like: "IODisplayPrefsKey" = "IOService:/AppleACPIPlatformEx$ I can't see the "AppleBacklightDisplay-756e6b6e-717" part. I do everything in your guide whit no results but is seems to me like the problem is in this part. My othe info is: "DisplayVendorID" = 1970170734 and "DisplayProductID" = 1815 This is correct?? Please, help me. Maybe there is a way to edit this "IODisplayPrefsKey" to match with the correct instructions. Link to comment Share on other sites More sharing options...
afugazzi Posted February 25, 2010 Share Posted February 25, 2010 I believe the $ sign means the output is being suppressed because your terminal window is not wide enough. Close the terminal, reopen it and drag it out so that it is like twice the width of your screen. Then try again. Link to comment Share on other sites More sharing options...
bogdan Posted March 12, 2010 Share Posted March 12, 2010 I got a problem in the iore -l info, my IODisplayPrefsKey. It looks like: "IODisplayPrefsKey" = "IOService:/AppleACPIPlatformEx$ I can't see the "AppleBacklightDisplay-756e6b6e-717" part. I do everything in your guide whit no results but is seems to me like the problem is in this part. My othe info is: "DisplayVendorID" = 1970170734 and "DisplayProductID" = 1815 This is correct?? Please, help me. Maybe there is a way to edit this "IODisplayPrefsKey" to match with the correct instructions. same problem here. is there another way to find that value? Thanks. Link to comment Share on other sites More sharing options...
hito_o Posted March 15, 2010 Share Posted March 15, 2010 thanks for the post. I think there is the same EDID problem with nvidia go5200. Link to comment Share on other sites More sharing options...
rockynordberg Posted April 24, 2010 Share Posted April 24, 2010 First of all thank you for this comprehensive guide, it helped me a lot understanding my problem. However somehow it doesent work for me. Problem: Using a Mac Mini as a mediacenter beneath a Philips TV able to show 1080p, however after 3-4hours of none use, the screen goes black and says videoformat not supported, reason being the EDID not transmitting so the Mini choses the standard option which is 1680x1050 and the Philips TV does not support that. If I use SwitchResX the TV is showing up as Unknown Monitor instead of Philips FTV when its working. I've followed your guide step by step, but I may have missed something. First of all, I get stuck at point 7. Upon doing the ioreg -l I cannot locate anything with the names DisplayProductID, DisplayVendorID, or IODisplayPrefsKey, not sure why. Instead I tried solution C with SwitchResX I had no problem locating the file in /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/ Its not showing the VendorID 100% correct (SRX says its 7274, however the file is named DisplayProductID 76697274) but its the only file thats been edited within the last 3 months so if its one these files its gotta be it? I've renamed the file to .Plist and added my EDID, then removed the extension and overwrited the original file. But after a reboot nothing happends, the changed file is still the same, but the Mini is still only showing 8:5 standard displays rather than 16:9 displays when the EDID is being correctly transmitted. Do you have any ideas what Im doing wrong? System info OSX 10.6.3 Intel Nvidia GeForce 9400 Link to comment Share on other sites More sharing options...
acasmc Posted April 26, 2010 Share Posted April 26, 2010 hi. i was trying to get things worked with your tutorial, but something went wrong. could you please assist me in doing it?this is the case:HP Pavilion DV1000, with Intel Extreme Graphics 2.Mac OS X Leopard iAtkos v7, updated to 10.5.8VGA VESA 3.0as you may know, there are no real VGA driver for this VGA since 10.5.xnative resolution on this display is 1280 x 768 @ 60Hzcurently i'm stuck with 1024 x 768 @ 59Hzmost confusing thing in my case is that folder DisplayVendorID-756e6b6e, allready existed. possible from fiddling with SwitchResX, previously???so i used two apps to get my EDID, both from Windows & Mac, and to get things even more confusing, i got diferent HEX values?so here it goes:EDID viewer (link that you provided) Windows: EDID ( Extended Display Identification Data) Report Vendor/Product Identification: Monitor Name : Monitor Serial Number : Manufacturer Name : SEC Product Id : 5642 Serial Number : 0 Week Of Manufacture : 0 Year Of Manufacture : 2004 EDIDVersion : V1.3 Number Of Extension Flag : 0 Display parameters: Video Input Definition : Digital Signal DFP1X Compatible Interface : False Max Horizontal Image Size : 2550 mm Max Vertical Image Size : 2550 mm Max Display Size : 142 Inches Power Management and Features: Standby : Supported Suspend : Supported ActiveOff : Supported Video Input : 1 sRGB Default ColorSpace : False Default GTF : Not Supported Prefered Timing Mode : True Gamma/Color and Etablished Timings: Display Gamma : 3.55 Red : x = 0.625 - y = 0.34 Green : x = 0.285 - y = 0.605 Blue : x = 0.148 - y = 0.062 White : x = 0.281 - y = 0.309 Etablished Timings : 800 x 600 @ 60Hz (VESA) 640 x 480 @ 60Hz (IBM, VGA) 1024 x 768 @ 60Hz (VESA) Display Type : RGB Color Display Standard Timing: Preferred Detailed Timing: Pixel Clock : 68.93 Mhz Horizontal Active : 1280 pixels Horizontal Blanking : 128 pixels Horizontal Sync Offset : 16 pixels Horizontal Sync Pulse Width : 48 pixels Horizontal Border : 0 pixels Horizontal Size : 305 mm Vertical Active : 768 lines Vertical Blanking : 48 lines Vertical Sync Offset : 3 lines Vertical Sync Pulse Width : 6 lines Vertical Border : 0 lines Vertical Size : 183 mm Input Type : Digital Separate Interlaced : False VerticalPolarity : False HorizontalPolarity : False Monitor Range Limit: Maximum Vertical Frequency : 0 Hz Minimum Vertical Frequency : 0 Hz Maximum Horizontal Frequency : 0 KHz Minimum Horizontal Frequency : 0 KHz Maximum Pixel Clock : 0 MHz Stereo Display: Stereo Display : Normal display (no stereo) RAW Data: 0x00 00 FF FF FF FF FF FF 00 4C A3 42 56 00 00 00 00 .ÿÿÿÿÿÿ.L£BV.... 0x10 00 0E 01 03 80 FF FF FF EA 00 00 A0 57 49 9B 26 ....?ÿÿÿê.. WI?& 0x20 10 48 4F 21 08 00 01 01 01 01 01 01 01 01 01 01 .HO!............ 0x30 01 01 01 01 01 01 ED 1A 00 80 50 00 30 30 10 30 ......í..?P.00.0 0x40 36 00 31 B7 10 00 00 19 00 00 00 00 00 00 00 00 6.1·............ 0x50 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 0x70 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 67 ...............g SwitchResX 4.1.2 Mac: DDC block report generated by SwitchResX version 4.1.2 for display Unknown Monitor ----------------------------------------------------- ------------------- RAW DATA ------------------------ ----------------------------------------------------- 0 1 2 3 4 5 6 7 8 9 A B C D E F ----------------------------------------------------- 0 | 00 FF FF FF FF FF FF 00 00 00 17 07 00 00 00 00 1 | 0A 0A 01 01 0C 1E 17 BE E8 2D C9 A0 57 47 98 27 2 | 12 48 4C 00 00 00 01 01 01 01 01 01 01 01 01 01 3 | 01 01 01 01 01 01 00 00 00 FE 00 53 52 58 46 61 4 | 6B 65 45 44 49 44 0A 20 01 01 01 01 01 01 01 01 5 | 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 6 | 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 7 | 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 5A ----------------------------------------------------- < 00FFFFFF FFFFFF00 00001707 00000000 0A0A0101 0C1E17BE E82DC9A0 57479827 12484C00 00000101 01010101 01010101 01010101 01010000 00FE0053 52584661 6B654544 49440A20 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 01010101 0101005A > ----------------------------------------------------- { 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x17, 0x07, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x0A, 0x01, 0x01, 0x0C, 0x1E, 0x17, 0xBE, 0xE8, 0x2D, 0xC9, 0xA0, 0x57, 0x47, 0x98, 0x27, 0x12, 0x48, 0x4C, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0xFE, 0x00, 0x53, 0x52, 0x58, 0x46, 0x61, 0x6B, 0x65, 0x45, 0x44, 0x49, 0x44, 0x0A, 0x20, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x5A, } ----------------------------------------------------- Valid EDID block: checksum passed ----------------------------------------------------- ------------------- MAIN EDID BLOCK ----------------- ----------------------------------------------------- EDID Version........1.1 Manufacturer........@@@ Product Code........5895 (1707) (0717) Serial Number.......00000000 Manufactured........Week 10 of year 2000 Max H Size..........30 cm Max V Size..........23 cm Gamma...............2.90 Display Supported Features: --------------------------- Power Management: Active off Power Management: Suspend Power Management: Standby Display type: ------------- RGB color display Display is non continuous frequency Default color space is not sRGB standard Input signal & sync: -------------------- Analog input with: 0.700V / 0.300V Separate Sync Composite Sync Color info: ----------- Red x = 0.625 Green x = 0.280 Blue x = 0.155 White x = 0.283 Red y = 0.342 Green y = 0.595 Blue y = 0.070 White y = 0.298 Established Timings: -------------------- Manufacturer Reserved Timings: ------------------------------ Standard Timing Identification: ------------------------------- Monitor Description blocks: --------------------------- Descriptor #0 - ASCII data: SRXFakeEDID Descriptor #1 - Empty descriptor Descriptor #2 - Empty descriptor Descriptor #3 - Empty descriptor To get things even more confusing, i used third app from Windows (dont remember the name), and got:Start Component Name = "Machine" Start Group Name = "Monitor Information" ID = 1 Class = "EnTech|Monitor Information|2.0" Start Attribute Name = "Manufacturer description" ID = 1 Type = String(64) Storage = Specific Value = "Seiko-Epson SEC5642" End Attribute Start Attribute Name = "Plug and Play ID" ID = 2 Type = String(7) Storage = Specific Value = "SEC5642" End Attribute Start Attribute Name = "Serial number" ID = 3 Type = String(32) Storage = Specific Value = "n/a" End Attribute Start Attribute Name = "Manufacturer date" ID = 4 Type = String(18) Storage = Specific Value = "2004 ISO week 0" End Attribute Start Attribute Name = "Display frequency" ID = 5 Type = String(36) Storage = Specific Value = "" End Attribute Start Attribute Name = "Orientation" ID = 6 Type = String(21) Storage = Specific Value = "" End Attribute Start Attribute Name = "Display technology type" ID = 7 Type = String(4) Storage = Specific Value = "" End Attribute Start Attribute Name = "Age" ID = 8 Type = String(16) Storage = Specific Value = "55474 hours" End Attribute Start Attribute Name = "Controller type" ID = 9 Type = String(20) Storage = Specific Value = "" End Attribute Start Attribute Name = "Firmware version" ID = 10 Type = String(8) Storage = Specific Value = "" End Attribute Start Attribute Name = "Power state" ID = 11 Type = String(8) Storage = Specific Value = "" End Attribute Start Attribute Name = "Preferred display settings" ID = 12 Type = String(20) Storage = Specific Value = "1280x768 at 60Hz" End Attribute Start Attribute Name = "Raw EDID w/o header" ID = 13 Type = String(240) Storage = Specific Value = "4CA3425600000000000E0103801E12780A87F594574F8C27275054000000010101010101010 10101010101010101ED1A0080500030301030360031B7100000190000000F00000000000000000012 6E132001000000FE0053414D53554E470A2020202020000000FE004C544E31343057312D4C3031470 086" End Attribute End Group Start Group Name = "Monitor Information" ID = 2 Class = "EnTech|Monitor Information|2.0" Start Attribute Name = "Manufacturer description" ID = 1 Type = String(64) Storage = Specific Value = "Seiko-Epson SEC5642" End Attribute Start Attribute Name = "Plug and Play ID" ID = 2 Type = String(7) Storage = Specific Value = "SEC5642" End Attribute Start Attribute Name = "Serial number" ID = 3 Type = String(32) Storage = Specific Value = "n/a" End Attribute Start Attribute Name = "Manufacturer date" ID = 4 Type = String(18) Storage = Specific Value = "2004 ISO week 0" End Attribute Start Attribute Name = "Display frequency" ID = 5 Type = String(36) Storage = Specific Value = "" End Attribute Start Attribute Name = "Orientation" ID = 6 Type = String(21) Storage = Specific Value = "" End Attribute Start Attribute Name = "Display technology type" ID = 7 Type = String(4) Storage = Specific Value = "" End Attribute Start Attribute Name = "Age" ID = 8 Type = String(16) Storage = Specific Value = "55474 hours" End Attribute Start Attribute Name = "Controller type" ID = 9 Type = String(20) Storage = Specific Value = "" End Attribute Start Attribute Name = "Firmware version" ID = 10 Type = String(8) Storage = Specific Value = "" End Attribute Start Attribute Name = "Power state" ID = 11 Type = String(8) Storage = Specific Value = "" End Attribute Start Attribute Name = "Preferred display settings" ID = 12 Type = String(20) Storage = Specific Value = "1280x768 at 60Hz" End Attribute Start Attribute Name = "Raw EDID w/o header" ID = 13 Type = String(240) Storage = Specific Value = "4CA3425600000000000E010380FFFFFFEA0000A057499B2610484F210800010101010101010 10101010101010101ED1A0080500030301030360031B7100000190000000000000000000000000000 000000000000000000000000000000000000000000000000000000000000000000000000000000000 067" End Attribute End Group End Component so i edited DisplayProductID-717, with all this diferent codes, and best that i got is 1024x768 with strange purple colours???? Link to comment Share on other sites More sharing options...
CharredPC Posted April 27, 2010 Author Share Posted April 27, 2010 Value = "4CA3425600000000000E010380FFFFFFEA0000A057499B2610484F21080001010101010101010101010101010101ED1A0080500030301030360031B710000019000000000000000000000000000 0 00000000000000000000000000000000000000000000000000000000000000000000000000000000 0 067" This should be the value you need, but this process may not work if there aren't any drivers for your card. 1280x768 is a pretty non-standard (and likely non-VESA) resolution, so it might not know how to display it properly even with the correct EDID. Link to comment Share on other sites More sharing options...
Tml77 Posted May 5, 2010 Share Posted May 5, 2010 great tut but way too complicated for my idiot brain! Link to comment Share on other sites More sharing options...
Recommended Posts