|
System: Apple MacBook Pro (v1,2), 2.16GHz (A1151) 1680x1050 glossy, OS-X 10.6.2
The original internal LCD panel in the MBP started to die, working only intermittently. I purchased a replacement panel from http://powerbookmedic.com
I have encountered some very strange and difficult problems in the process and hope that someone can shed some light on how to resolve the problems. I appologize in advance for an extremely long post. However, the problem is indeed complicated and I have done a lot of experimentation, the results of which are germane to diagnosis.
The original Apple panel was an LG Philips LP171WE2(TL)(A1). This is exactly what I received from PowerbookMedic.
When I booted the MBP after replacing the screen, only about the center 3/4 of the new internal LCD turned grey. A black/dark bar, about 1" wide appeared on each side of the grey area.
A few seconds later, the Apple logo appeared, but it was of poor quality and a strange color. The progress indicator soon appeared underneath the Apple logo and it began to spin. A short while thereafter, the machine is apparently booted, but the internal display has a random array of thin grey vertical lines.
At this point, if I attach an external LCD display, an extended desktop appears on the external display. There is no change in the internal display. If I hit the F7 key to switch monitors, the main desktop appears on the external display. There is no change in the internal display, although I assume it is attempting to display the extened desktop that was previously on the external disply.
This is a fresh OS install.
===========================================================================
'About This Mac' shows the following display info, after booting and switching the main desktop to the external LCD.
ATI Radeon X1600: Chipset Model: ATY,RadeonX1600 Type: GPU Bus: PCIe PCIe Lane Width: x16 VRAM (Total): 256 MB Vendor: ATI (0x1002) Device ID: 0x71c5 Revision ID: 0x0000 ROM Revision: 113-xxxxxx-086 EFI Driver Version: 01.00.086 Displays: Color LCD (LGP): Resolution: 1280 x 1024 Pixel Depth: 32-Bit Color (ARGB8888) Main Display: Yes Mirror: On Mirror Status: Master Mirror Online: Yes Built-In: Yes Dell E193FP: Resolution: 1152 x 864 @ 75 Hz Pixel Depth: 32-Bit Color (ARGB8888) Mirror: On Mirror Status: Hardware Mirror Online: Yes Rotation: Supported
Note that it shows the internal LCD with 1280x1024 resolution, the Main Display, Mirroring On, and as the Master Mirror. The external monitor is shown as 1152x864.
Neither of these is correct, as the internal lcd is 1680x1050 and the external is 1280x1024.
===========================================================================
Thinking it might be an easy fix, I open the Display Perference panel.
The panel for the internal LCD shows current resolution set at 1280x1024, BUT there is a note stating that 'Useable resolution 1152x864'. It also shows a max available resolution of 1680x1050.
The panel for the external LCD says that it is set at 1152x864 and shows a max available resolution of 1280x1024.
Using the Pref Panel, I set the resolution of the internal LCD to 1680x1050. The external display flashes, turns blue, and then displays the main desktop again. This time, however, the prefs for the internal LCD say that it is at 1680x1050, BUT 'Useable resolution is 1280x1024'. The prefs for the external LCD show that it is now at 1280x1024 -- this is without me ever having changed it manually.
At this point, 'About this Mac' says: Chipset Model: ATY,RadeonX1600 Type: GPU Bus: PCIe PCIe Lane Width: x16 VRAM (Total): 256 MB Vendor: ATI (0x1002) Device ID: 0x71c5 Revision ID: 0x0000 ROM Revision: 113-xxxxxx-086 EFI Driver Version: 01.00.086 Displays: Color LCD (LGP): Resolution: 1680 x 1050 Pixel Depth: 32-Bit Color (ARGB8888) Main Display: Yes Mirror: On Mirror Status: Master Mirror Online: Yes Built-In: Yes Dell E193FP: Resolution: 1280 x 1024 @ 75 Hz Pixel Depth: 32-Bit Color (ARGB8888) Mirror: On Mirror Status: Hardware Mirror Online: Yes Rotation: Supported
===========================================================================
/var/log/windowserver.log shows the following, which corresponds to the boot sequence discussed at the beginning of this post. Changing the screen resolution via Display Preferences (as above) apparently does not log any information.
Feb 11 16:44:24 [48] Server is starting up Feb 11 16:44:25 [48] CGXMappedDisplayStart: Display0 : no display alias property Feb 11 16:44:25 [48] CGXMappedDisplayStart: Display1 : no display alias property Feb 11 16:44:25 [48] GLCompositor: GL renderer id 0x01021902, GL mask 0x00000003, accelerator 0x00002f1b, unit 0, caps 0\ x00000003, vram 256 MB Feb 11 16:44:25 [48] GLCompositor: GL renderer id 0x01021902, GL mask 0x00000003, texture units 8, texture max 4096, vie\ wport max {4096, 4096} extensions 0x0000000f Feb 11 16:44:25 [48] AGCAttach: Couldn't find any matches Feb 11 16:44:25 [48] CGXPerformInitialDisplayConfiguration Feb 11 16:44:25 [48] Display 0x304a240: MappedDisplay Unit 0; Vendor 0x320c Model 0x1289 S/N 0; online enabled built-i\ n (0,0)[1280 x 1024], Rotation 0, base addr 0x5900000 Feb 11 16:44:25 [48] Display 0x3f003d: MappedDisplay Unit 1; Vendor 0xffffffff Model 0xffffffff S/N -1; offline enable\ d (2304,0)[1 x 1], Rotation 0, base addr 0x5900000 Feb 11 16:44:26 [48] Display 0x304a240: MappedDisplay Unit 0; ColorProfile "Color LCD (LGP)" Feb 11 16:44:39 [48] Display 0x2b1c0381: MappedDisplay Unit 1; ColorProfile "Dell E193FP"
Although the replacement panel has the exact same part number as the original panel it replaced -- both are LG Philips LP171WE2(TL)(A1) -- the new panel appears to report a different manufacturer and model than did the original panel (see the log above).
Original panel: Vendor 0x610, Model 0x9c62 Replacement panel: Vendor 0x320c, Model 0x1289
With identical part numbers, I'd have expected the panels to be indistinguishable, but the obviously are not.
===========================================================================
In an attempt to remedy the change in panel identification, I created a new display override file using the new panel's information. Specifically:
0) 'DIR=/System/Library/Displays/Overrides' 1) 'mkdir ${DIR}/DisplayVendorID-320c' 2) 'cp ${DIR}/DisplayVendorID-610/DisplayProductID-9c62 \ ${DIR}/DisplayVendorID-320c/DisplayProductID-1289' 3) In the DisplayProductID-1289 file, changed the DisplayProductName value to a unique value that I could identify as mine.
=========================================================================== I rebooted after adding the display override file. windowserver.log showed that the new override file was actually being used. However, the behavior of the internal panel did not change.
If booted without an external display connected, it behaves exactly as described earlier.
If booted with an external display connected, there is a slight change in behavior. Shortly after boot, the Apple logo appears, however, it is stretched, as if a 1280x1024 image was scaled-up to fill a 1680x1050 display. Shortly thereafter, the spinner appears under the Apple logo and starts to spin. A short while thereafter, the machine is booted, but the internal display has a random array of thin grey vertical lines and the external display is showing the extended desktop.
If I hit the F7 key to switch monitors, the main desktop appears on the external display. There is no change in the internal display.
Display prefs for the external monitor look correct (1280x1024, etc.)
Display prefs for the internal LCD panel show that the display override that I peviously created was being used (I can tell via the unique DisplayProductName). The current resolution of the internal panel is show as 1680x1050n, *BUT* with a message stating 'usable resolution 1280x1024'.
I can swap displays and change resolutions all day long, but the internal panel never changes.
Here is what the windowserver.log shows:
Feb 11 14:23:20 [53] Display 0x304a240: MappedDisplay Unit 0; Vendor 0x320c Model 0x1289 S/N 0; online enabled built-i\ n (0,0)[1280 x 1024], Rotation 0, base addr 0x5800000 Feb 11 14:23:20 [53] Display 0x3f003d: MappedDisplay Unit 1; Vendor 0xffffffff Model 0xffffffff S/N -1; offline enable\ d (2304,0)[1 x 1], Rotation 0, base addr 0x5800000 Feb 11 14:23:20 [53] Display 0x304a240: MappedDisplay Unit 0; ColorProfile "Color LCD (LGP)" Feb 11 14:23:31 [53] Display 0x2b1c0381: MappedDisplay Unit 1; ColorProfile "Dell E193FP"
=========================================================================== At this point, I thought that some previous inconsistent state was hanging around somewhere and being used to setup the display parameters. I then removed the following files:
/Library/Preferences/com.apple.windowserver.plist /Users/khe/Library/Preferences/ByHost/com.apple.windowserver.*.plist /Users/khe/Library/Preferences/ByHost/com.apple.preference.display* /private/var/vm/sleepimage
I don't know enough about the kernel's behavior to manually clean caches, so I also used 'Onyx' to clear the boot cache, the kernel cache, etc.
I checked nvram to make certain that there were no boot-args overriding my settings. The exact settings are at the end of this post.
I checked 'Kernel Flags' in /System/Library/SystemConfiguration/com.apple.Boot.plist, and no flags of any type were set there.
After rebooting, the behavior remains unchanged.
At this point, I am out of ideas. It seems as if the graphics chip is confusing the two 'monitors'. The max usable resolution on the internal LCD seems to be governed by the max resolution of the external LCD. Also, the internal LCD is shown as the 'Main Display' and 'Online' -- this seems wrong, but I don't know the exact semantics of the statuses to know for sure.
PLEASE HELP! I've over a week on this and am completely out of ideas.
Also, I have cleared NVRAM and PRAM, to no avail.
I wonder if the EDID string from the 9c62 override file is correct? I don't know enough about EDID to tell. It sure seems like there is a hidden state that is being assigned to the new internal panel, that I have not yet reset.
Thanks for any suggestions you may have.
+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= bash-3.2$ nvram -xp <?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>SystemAudioVolume</key> <data> Yg== </data> <key>boot-image</key> <data> AgEMANBBAwoAAAAAAQEGAAIfAwEIAAABAAAEASoAAgAAAChABgAAAAAAYKo4JQAAAAAk 9WLIemX9RJanSJx0vFjHAgIEBBgAMwAyAGEANwBjAGMAMAAwADAAAAB//wQA </data> <key>efi-boot-device</key> <data> PGFycmF5PjxkaWN0PjxrZXk+QkxMYXN0QlNETmFtZTwva2V5PjxzdHJpbmc+ZGlzazBz Mjwvc3RyaW5nPjxrZXk+SU9NYXRjaDwva2V5PjxkaWN0PjxrZXk+SU9Qcm9wZXJ0eU1h dGNoPC9rZXk+PGRpY3Q+PGtleT5VVUlEPC9rZXk+PHN0cmluZz5DODYyRjUyNC02NTdB LTQ0RkQtOTZBNy00ODlDNzRCQzU4Qzc8L3N0cmluZz48L2RpY3Q+PGtleT5JT1Byb3Zp ZGVyQ2xhc3M8L2tleT48c3RyaW5nPklPTWVkaWE8L3N0cmluZz48L2RpY3Q+PC9kaWN0 PjwvYXJyYXk+AA== </data> <key>efi-boot-device-data</key> <data> AgEMANBBAwoAAAAAAQEGAAIfAwEIAAABAAAEASoAAgAAAChABgAAAAAAYKo4JQAAAAAk 9WLIemX9RJanSJx0vFjHAgJ//wQA </data> <key>platform-uuid</key> <data> AAAAAAAAEACAAAAWy8mS5g== </data> </dict> </plist> +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+= +=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=+=
|