Jump to content

Fixing Scrambled,Stretched, or Wrong Resolution Laptop Display Problems

- - - - -

  • Please log in to reply
113 replies to this topic

#21
hito_o

hito_o

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
thanks for the post. I think there is the same EDID problem with nvidia go5200.

#22
rockynordberg

rockynordberg

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
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

#23
acasmc

acasmc

    InsanelyMac Protégé

  • Members
  • Pip
  • 20 posts

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.8
VGA VESA 3.0

as you may know, there are no real VGA driver for this VGA since 10.5.x
native resolution on this display is 1280 x 768 @ 60Hz
curently i'm stuck with 1024 x 768 @ 59Hz

most 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????

#24
CharredPC

CharredPC

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 302 posts

Value = "4CA3425600000000000E010380FFFFFFEA0000A057499B2610484F210800010101010101010
10101010101010101ED1A0080500030301030360031B710000019000000000000000000000000000
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.

#25
Tml77

Tml77

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
great tut but way too complicated for my idiot brain!

#26
MatrixF

MatrixF

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 2 posts
I could never get my osx screen work (all scrambled) so I have to follow Method B. Method B asked me to go to step 6 of Method A which then told me to view the osx using a second computer by vnc but I could not even switch on screen sharing on my osx because of the scrambled screen, so how could I use vnc?

I am posting this because the "screen never worked" method seems to need a "screen that worked" condition to "work".

My computer has a dual boot (windows 7 and osx).

I have tried using an external monitor but the screen just gets stretched and I could never find the icon of system preferences.

Please help.

And thank you for your guide.

#27
bramadams

bramadams

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 1 posts
Hi,

Great tutorial. I followed method A, and it almost works. Without overriding my monitor only had 640x480, but after overriding I noticed that all resolutions higher than 1920x1200 are still not available under System Preferences -> Display. I use dual-link DVI to access the monitor, which can handle up to 2500x1600 (recommended resolution).

Any idea how to enable the higher resolutions? Are there some extra plist attributes for this?

Kind regards,

Bram Adams

PS: To avoid the hassle with making the terminal window wider, try "ioreg -w 0 -l > ioreg.txt". The -w flag disables the $ signs in the output, and the redirection makes it easier to search for strings in a text editor.

#28
CharredPC

CharredPC

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 302 posts

Hi,

Great tutorial. I followed method A, and it almost works. Without overriding my monitor only had 640x480, but after overriding I noticed that all resolutions higher than 1920x1200 are still not available under System Preferences -> Display. I use dual-link DVI to access the monitor, which can handle up to 2500x1600 (recommended resolution).

Any idea how to enable the higher resolutions? Are there some extra plist attributes for this?

Kind regards,

Bram Adams

PS: To avoid the hassle with making the terminal window wider, try "ioreg -w 0 -l > ioreg.txt". The -w flag disables the $ signs in the output, and the redirection makes it easier to search for strings in a text editor.


Good tip about avoiding the truncating $!

Do you know if your videocard / driver can output resolutions that high? Even if your display is capable, it's only half of the equation. The videocard still needs to be able to drive it.

Glad this guide helped a bit.

#29
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
Hi CharredPC,

Nice guide. I'm experimenting my Dell Studio with your workaround. Do you know how I can obtain vendor ID for my internal LCD monitor? Since the LCD monitor is not detected, I can't get the vendor ID from the ioreg. I tried with Everest & MonInfo but the only thing I can get is the device ID (DisplayProductID).

Thank you. ;)

#30
CharredPC

CharredPC

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 302 posts

Hi CharredPC,

Nice guide. I'm experimenting my Dell Studio with your workaround. Do you know how I can obtain vendor ID for my internal LCD monitor? Since the LCD monitor is not detected, I can't get the vendor ID from the ioreg. I tried with Everest & MonInfo but the only thing I can get is the device ID (DisplayProductID).

Thank you. ;)


Is the LCD monitor not detected at all, or detected incorrectly? If the actual hardware isn't being seen/used (no DisplayVendorID at all listed in ioreg), I'm not sure if this fix will work. I'd be happy to look at your ioreg output if it would be helpful :P

#31
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

Is the LCD monitor not detected at all, or detected incorrectly? If the actual hardware isn't being seen/used (no DisplayVendorID at all listed in ioreg), I'm not sure if this fix will work. I'd be happy to look at your ioreg output if it would be helpful :)

Its not detected at all when the vanilla driver loaded. I'm not hopping anything but just want to experiment. I already collect all information needed except the vendor ID. Thanks anyway. :(

#32
CharredPC

CharredPC

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 302 posts

Its not detected at all when the vanilla driver loaded. I'm not hopping anything but just want to experiment. I already collect all information needed except the vendor ID. Thanks anyway. :angel:


If the display hardware itself isn't being detected, I don't think this fix will work. We have to be able to reference it somehow, even if it's just by using the default 'generic' override (used when the EDID isn't picked up) of /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717. If no screen is found, then it won't look for or use any specific override. Does that make sense?

Think of the overrride as a driver. To make the driver load, we have to make sure it matches the hardware somehow. So if the hardware isn't being detected at all by OSX, then there's no real way to get the driver (or override) to 'catch.'

Unless by "not being detected," you just mean that the display doesn't turn on / isn't being used. In that case, it might be in fact outputting, but at very wrong settings, and the default /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717 location could be seeded with the full EDID. But this is just speculation without knowing more details about your specific setup :)

#33
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

If the display hardware itself isn't being detected, I don't think this fix will work. We have to be able to reference it somehow, even if it's just by using the default 'generic' override (used when the EDID isn't picked up) of /System/Library/Displays/Overrides/DisplayVendorID-756e6b6e/DisplayProductID-717. If no screen is found, then it won't look for or use any specific override. Does that make sense?

Think of the overrride as a driver. To make the driver load, we have to make sure it matches the hardware somehow. So if the hardware isn't being detected at all by OSX, then there's no real way to get the driver (or override) to 'catch.'

You can take my word for it when I said the internal LCD isn't detected. Sorry, I don't want to "think" it doesn't work but I want to test it myself before making any conclusion.

Without the vanilla driver loaded (I'm intentionally removed the driver) & with RadeonHD.kext, I can get the override working with generic vendor & product ID but only with external monitor; correct resolution & without QE/CI. I can see "Internal LCD Forced EDID" in System Profiler. Display at the internal LCD is bad; object displayed is not clear. However, EDID is not appear in ioreg since the RadeonHD.kext is not providing hardware acceleration support. I can get the same result without the override.

With the vanilla driver loaded, both internal & external monitor are not detected. Just blank screen. Even ioreg is not listing any connected monitor. :)

#34
GGuyZ

GGuyZ

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 4 posts
I'm a bit puzzled here. Perhaps someone could shed some light.

The tutorial seems straightforward, and I was able to do whatever was necessary except for one significant detail. The windows software provides us with an .rtf file. It hardly has any hex values in it to be used, let alone some cryptic encoded code.

Hope you guys can help, here's what I get as an output of the EDID:

Vendor/Product Identification: 
	  Monitor Name :  DELL 2209WA

	  Monitor Serial Number :  H735H02318TL

	  Manufacturer Name :  Dell Computer Corp.

	  Product Id :  F011

	  Serial Number :  825775180

	  Week Of Manufacture :  6

	  Year Of Manufacture :  2010

	  EDIDVersion :  V1.3

	  Number Of Extension Flag :  0 

Display parameters: 
	  Video Input Definition :  Digital Signal

	  DFP1X Compatible Interface :  False

	  Max Horizontal Image Size :  470 mm

	  Max Vertical Image Size :  300 mm 

Power Management and Features: 
	  Standby :  Not Supported

	  Suspend :  Not Supported

	  ActiveOff :  Supported

	  Video Input :  1

	  sRGB Default ColorSpace :  True

	  Default GTF :  Not Supported

	  Prefered Timing Mode :  True 

Gamma/Color and Etablished Timings: 

	  Display Gamma :  2.2

	  Red :  x = .64 - y = .33

	  Green :  x = .3 - y = .6

	  Blue :  x = .15 - y = .06

	  White :  x = .313 - y = .329 

	  Etablished Timings :  

			800 x 600 @ 60Hz (VESA)

			640 x 480 @ 75Hz (VESA)

			640 x 480 @ 60Hz (IBM, VGA)

			720 x 400 @ 70Hz (IBM, VGA)

			1280 x 1024 @ 75Hz (VESA)

			1024 x 768 @ 75Hz (VESA)

			1024 x 768 @ 60Hz (VESA)

			800 x 600 @ 75Hz (VESA) 
	  Display Type :  RGB Color Display 

Standard Timing: 
 

	  Standard Timings n° 1

	  X Resolution :  1152

	  Y Resolution :  864

	  Vertical Frequency :  75 

	  Standard Timings n° 2

	  X Resolution :  1280

	  Y Resolution :  1024

	  Vertical Frequency :  60 

Preferred Detailed Timing: 
	  Pixel Clock :  146.25 Mhz 

	  Horizontal Active :  1680 pixels

	  Horizontal Blanking :  560 pixels

	  Horizontal Sync Offset :  104 pixels

	  Horizontal Sync Pulse Width :  176 pixels

	  Horizontal Border :  0 pixels

	  Horizontal Size :  474 mm 

	  Vertical Active :  1050 lines

	  Vertical Blanking :  39 lines

	  Vertical Sync Offset :  3 lines

	  Vertical Sync Pulse Width :  6 lines

	  Vertical Border :  0 lines

	  Vertical Size :  552 mm 

	  Input Type :  Digital Separate

	  Interlaced :  False

	  VerticalPolarity :  True

	  HorizontalPolarity :  False 

Monitor Range Limit: 
	  Maximum Vertical Frequency :  75 Hz

	  Minimum Vertical Frequency :  56 Hz

	  Maximum Horizontal Frequency :  83 KHz

	  Minimum Horizontal Frequency :  30 KHz

	  Maximum Pixel Clock :  160 MHz 

Stereo Display: 
	  Stereo Display :  Normal display (no stereo)

I hope you guys have any idea how to convert the above, into something like:

<key>IODisplayEDID</key>
<data>
AP///////wA4o3ukAAAAABwKAQOAXDR4KADloFonuiUXQk6vzgCBgEvAAQEBAQEBAQEB
AQEBLw1Q8DDgJRAQcGgAmAYyAAAe1gmAoCDgLRAPYGIAswYiAAAYAAAA/ABQWC00MlZN
CiAgICAgAAAA/AAKICAgICAgICAgICAgAHA=
</data>

Thanks in advance,
Guy.

#35
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
Hi GGuyZ, you can use MonInfo application instead to obtain the EDID value. If you're using MonInfo, the "Raw data" is EDID value. You will get something like this (in one line):-
00,FF,FF,FF,FF,FF,FF,00,25,CC,0A,00,00,00,00,00,00,13,01,03,90,22,13,78,0A,C8,85,9E,57,54,9B,26,12,50,54,00,00,00,01,01,01,01,01,01,01,01,01,01,01,01,01,01,
 01,01,36,1A,56,44,50,00,0D,30,11,0C,32,00,58,C2,10,00,00,1A,36,1A,56,44,50,00,0D,30,11,0C,32,00,58,C2,10,00,00,1A,00,00,00,FE,00,31,47,35,44,33,81,31,35,36,
 47,57,30,31,00,00,00,00,00,00,00,00,00,00,00,00,00,01,01,0A,20,20,00,F2
Remove the comma character (,) & you will get this (EDID in HEX - in one line):-
00FFFFFFFFFFFF0025CC0A000000000000130103902213780AC8859E57549B2612505400000001010101010101010101010101010101361A564450000D30110C32
 0058C21000001A361A564450000D30110C320058C21000001A000000FE00314735443381313536475730310000000000000000000000000001010A202000F2
Use PlistEdit Pro application in Mac to edit the .PLIST file. You will see two section when you open the .plist file. Add & paste the EDID (in HEX) value at the upper section. It will automatically convert the EDID value from hexadecimal to Base 64 encoded data at lower section, like this:-
AP///////wAlzAoAAAAAAAATAQOQIhN4CsiFnldUmyYSUFQAAAABAQEBAQEBAQEBAQEBAQEBNhpWRFAADTARDDIAWMIQAAAaNhpWRFAADTARDDIAWMIQAAAaAAAA/gAxRzVEM4ExNTZHVzAxAAAAAAAAAAAAAAAAAAEBCiAgAPI=
Save & exit. You done!

You might interested with these online tools:-
Convert Base 64 Encoded Data to ASCII text
Data Converter Tool - Just need to set at "Decode" section to HEX & "Output Encode" to BASE64, if you want to convert from HEX to BASE64.

#36
GGuyZ

GGuyZ

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 4 posts
Thanks!

I wasn't aware the bottom section was using a base64 convention, and that the upper row is the hex interpretation. Anyway, that helped a lot and I was able to follow the tutorial and get the overrided 'Forced LCD' to use the real EDID.

However, and here's the strange part, it doesn't seem to help one bit. After doing this, I tried exporting the EDID with SwitchResX and got the real complete EDID of my screen. So it 'should be working'. Nevertheless, I'm stuck on 1400x1050 resolution (this is a desktop with an 1680x1050 monitor and the EDID verifies this).

I tried forcing resolutions using "Graphics Mode" kernel flag, and also tried creating custom resolution using SwitchResX. They are simply not accepted!

When I tried switching graphic cards, from an x1800 ati to nvidia's 6600gt, I got my screen (DELL 2209wa) identified on the spot, with all resolutions and no tweaking. However, no QE/CI are available there.

So I wonder, what could be the culprit? Why can't I force resolutions even with the EDID, and why doesn't ATI + SL like my monitor? :)

#37
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

However, and here's the strange part, it doesn't seem to help one bit. After doing this, I tried exporting the EDID with SwitchResX and got the real complete EDID of my screen. So it 'should be working'. Nevertheless, I'm stuck on 1400x1050 resolution (this is a desktop with an 1680x1050 monitor and the EDID verifies this).

I tried forcing resolutions using "Graphics Mode" kernel flag, and also tried creating custom resolution using SwitchResX. They are simply not accepted!

When I tried switching graphic cards, from an x1800 ati to nvidia's 6600gt, I got my screen (DELL 2209wa) identified on the spot, with all resolutions and no tweaking. However, no QE/CI are available there.

So I wonder, what could be the culprit? Why can't I force resolutions even with the EDID, and why doesn't ATI + SL like my monitor? :)

At least OS X have to recognized your GPU first before it can recognized your monitor. This is important in order for OS X to pickup correct vendor & device ID of your monitor which are important for display override to work. I don't think X1800 will work though. You have better chances with 6600GT. I bet you can get QE & CI working with it. Have you try boot with GraphicsEnabler=Yes flag with either X1800 or 6600GT? Can you post here ioreg dump using IORegistryExplorer with the 6600GT? I want to take a look. Maybe we can experiment the display override with X1800, if your monitor vendor & device ID is detected by your 6600GT.

#38
GGuyZ

GGuyZ

    InsanelyMac Protégé

  • Just Joined
  • Pip
  • 4 posts
First, thanks a lot for the assistance. This has been bothering me for a few days now.

I gathered the information your requested and some more. Feel free to go over it or skip it. I'm also attaching the ioreg dumps.
Here's a sum up of the x1800 GTO:

As you can see, ATIRadeonX1000.kext is loaded, which is why I have QE/CI enabled. ATIFramebuffer is NOT loaded for some reason, which as far as I know is in charge of the resolution. I can load it with kextload just fine, but it doesn't seem to make a difference:
bash-3.2# kextstat | grep ATI
   58	0 0xffffff7f808b8000 0x30000	0x30000	com.apple.kext.ATISupport (6.1.0) <57 9 8 7 5 4 3 1>
   67	0 0xffffff7f8095e000 0x61000	0x61000	com.apple.ATIRadeonX1000 (6.1.0) <66 57 9 7 6 5 4 3 1>

bash-3.2# kextload -v /System/Library/Extensions/ATIFramebuffer.kext
Requesting load of /System/Library/Extensions/ATIFramebuffer.kext.
/System/Library/Extensions/ATIFramebuffer.kext loaded successfully (or already loaded).
bash-3.2# kextstat | grep ATI
   58	1 0xffffff7f808b8000 0x30000	0x30000	com.apple.kext.ATISupport (6.1.0) <57 9 8 7 5 4 3 1>
   67	0 0xffffff7f8095e000 0x61000	0x61000	com.apple.ATIRadeonX1000 (6.1.0) <66 57 9 7 6 5 4 3 1>
   89	0 0xffffff7f809e3000 0x13000	0x13000	com.apple.kext.ATIFramebuffer (6.1.0) <58 57 9 8 7 5 4 3 1>
bash-3.2#

Here's the information from the System Profiler:
ATI Radeon X1800XL:

  Chipset Model:	ATI Radeon X1800XL
  Type:	GPU
  Bus:	PCIe
  Slot:	Slot-1
  PCIe Lane Width:	x16
  VRAM (Total):	256 MB
  Vendor:	ATI (0x1002)
  Device ID:	0x710a
  Revision ID:	0x0000
  ROM Revision:	113-B7710C-176
  EFI Driver Version:	01.00.318
  Displays:
SwitchResX4 - Internal LCD Forced EDID:
  Resolution:	1400 x 1050
  Pixel Depth:	32-Bit Color (ARGB8888)
  Main Display:	Yes
  Mirror:	Off
  Online:	Yes
Display Connector:

Now, with the 6600GT I don't get QE/CI at all. But the screen is identified flawlessly. EDID, all resolutions and everything. here's the information from the System Profiler:
GeForce 6600 GT:

  Chipset Model:	GeForce 6600 GT
  Type:	GPU
  Bus:	PCIe
  Slot:	Slot-1
  PCIe Lane Width:	x16
  VRAM (Total):	128 MB
  Vendor:	NVIDIA (0x10de)
  Device ID:	0x0140
  Revision ID:	0x00a2
  ROM Revision:	xx.xx.xx - internal
  Displays:
Display Connector:
  Status:	No Display Connected
Display:
  Resolution:	1680 x 1050 @ 60 Hz
  Pixel Depth:	32-Bit Color (ARGB8888)
  Main Display:	Yes
  Mirror:	Off
  Online:	Yes
  Rotation:	Supported

Loaded kexts: NVDANV40Hal, NVDANV50Hal, NVDAResman.

But no QE/CI :thumbsdown_anim:.

Hope you could help. I tried all kinds of injectors and they didn't work I'm afraid. Running SL 10.6.4 Vanilla.

P.S: I tried GraphicsEnabler=Yes on both cards. It didn't make any difference.

Attached Files



#39
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts
Hi GGuyZ,

Thanks to your 6600GT, it able to correctly recognized your monitor. I use the DisplayVendorID, DisplayProductID & EDID, detected by your 6600GT, to create the display override PLIST file. I hope it will help your X1800 GTO to properly recognized the monitor. Copy the display override PLIST file, the DisplayVendorID-10ac folder, to /System/Library/Displays/Overrides/ folder. Fix the file permissions if necessary & reboot for the changes to take effect. If it loaded, you should see LCD Monitor Forced EDID under Displays (Graphics/Displays section) in System Profiler. Please let me know whether it is working or not.
http://www.mediafire...tdylsjrtlr988gr

#40
mtest

mtest

    InsanelyMac Protégé

  • Members
  • PipPip
  • 68 posts
  • Gender:Male
  • Location:Switzerland
Dear friends,
Someone pointed me to this post regarding an issue I'm currently facing with my (almost) fully working Samsung N130 hackintosh.

Here is the issue: the system seems not to be able to "remember" the brightness/backlight level between two reboots. At each boot, the brightness is set back to the maximum. I do not have _any_ sort of problem with the display beside that brightness problem.

Not sure if this display override technique could help, to me it seems that the system is able to read the IODisplayEDID as expected, and in the pref pane, my netbook display is identified as "BT101IW03V1". If I understand well even if I create an override file it won't be read, is it right ?

Any idea ?





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy