Jump to content

Lenovo ThinkPad T420 with UEFI Only


K0gen
 Share

5,274 posts in this topic

Recommended Posts

@miaumaiu2 - glad voodooHDA is working for you X220. Otherwise, you may be able to take the AppleHDA i posted and (re)patch the AppleHDA.kext (move the original MacOS/binary back in place) with your codec. i patched it with bcc9 script from 2012 called patch-hda.pl using codec-id 14f1506e for the CX20590.

 

the display port should just work if you are using macbookpro8,1 or similar model as it has 4 buffers - LCD and 3 digital ones DP, HDMI, DVI, if you are using the config.plist its possible kext patch replacing the 4th buffer for VGA. you could try not doing that if you are?

 

@k.surachai - "I'm interested in your new approach (#3, remove DSDT.aml and use built-in DSDT with Clover patching)"

well i thought it would be obvious! - remove DSDT.aml

 

so in more detail.

1) you copy config.nodsdt.plist to config.plist

2) (effectively) remove (or rename) the DSDT.aml files in both ACPI/patched folders

3) on boot, Clover will not find these folders/files and then use the built-in DSDT from BIOS to start the patching.

 

Note: i just rename both ACPI folders to ACPI.x - it is ok to mention dsdt.aml in config.plist even if not there or not found.

Link to comment
Share on other sites

@miaumaiu2 - glad voodooHDA is working for you X220. Otherwise, you may be able to take the AppleHDA i posted and (re)patch the AppleHDA.kext (move the original MacOS/binary back in place) with your codec. i patched it with bcc9 script from 2012 called patch-hda.pl using codec-id 14f1506e for the CX20590.

 

the display port should just work if you are using macbookpro8,1 or similar model as it has 4 buffers - LCD and 3 digital ones DP, HDMI, DVI, if you are using the config.plist its possible kext patch replacing the 4th buffer for VGA. you could try not doing that if you are?

 

@k.surachai - "I'm interested in your new approach (#3, remove DSDT.aml and use built-in DSDT with Clover patching)"

well i thought it would be obvious! - remove DSDT.aml

 

so in more detail.

1) you copy config.nodsdt.plist to config.plist

2) (effectively) remove (or rename) the DSDT.aml files in both ACPI/patched folders

3) on boot, Clover will not find these folders/files and then use the built-in DSDT from BIOS to start the patching.

 

Note: i just rename both ACPI folders to ACPI.x - it is ok to mention dsdt.aml in config.plist even if not there or not found.

 

Thank you very much for your help tluck, your guide is very comprehensive and your work is amazing.

 

I also have a X220 and the same display port problem. Deleting the VGA patch from the config.plist didn't help. I changed the bios setting from Thinkpad LCD to Digital because otherwise I wouldn't get signal out. Now I get to Clover Bootloader but shortly after the system starts loading I get KP. I send a couple of images attached. Any ideas?

 

I'm booting from a external usb though I don't think that makes much of a difference...

 

 

 

 

 

post-36060-0-79917300-1395337622_thumb.jpg

post-36060-0-65765200-1395337641_thumb.jpg

Link to comment
Share on other sites

@espamac -
huh wonder why DP is not live? i don't see any KP in these pics? these 2 pics just seem to show verbose output of boot - but without going to gfx mode at the end?

 

hmm i would not put the boot device to digital - LCD seem right to me. 

 

what do you have for system type and what are listed as frame buffers? do you specify snb-platform-id 

 

do you have a custom dsdt or are you using clover to patch it? i don't have an X220 - just assuming it very similar to T420

 

my 4 framebuffers:

1 LCD

2 DP on side

3 DP on dock 

4 VGA on side - when patched by clover - otherwise DVI on dock

 

capture

ioreg -l  > ioreg.txt

 

and look for start of this section

 

+-o SNBGraphics

Link to comment
Share on other sites

@espamac -

huh wonder why DP is not live? i don't see any KP in these pics? these 2 pics just seem to show verbose output of boot - but without going to gfx mode at the end?

 

hmm i would not put the boot device to digital - LCD seem right to me. 

 

what do you have for system type and what are listed as frame buffers? do you specify snb-platform-id 

 

do you have a custom dsdt or are you using clover to patch it? i don't have an X220 - just assuming it very similar to T420

 

my 4 framebuffers:

1 LCD

2 DP on side

3 DP on dock 

4 VGA on side - when patched by clover - otherwise DVI on dock

 

capture

ioreg -l  > ioreg.txt

 

and look for start of this section

 

+-o SNBGraphics

@tluck

 

Again many thanks, you are of great help

 

If I set my BIOS to Thinkpad LCD the signal doesn't get out and the external display shows NO-DVI signal.

 

In any of the other BIOS display settings I can get Clover to show on the display. After the last line (VM Swap Subsystem is ON) the computer reboots. I can't get past that.

 

My system is MacBookPro 8,3. Is 8,1 better? How can I change it?

 

I'm using the same updated package you posted the 14th of march and the rest of the system seems to work fine. I upload my complete EFI folder just in case, since I can't find any frame buffers listed.

 

In the Ioreg file I get this which I honestly have no clue of what it means, though I'd love to learn...

 

 +-o AppleIntelSNBGraphicsFB  <class AppleIntelSNBGraphicsFB, id 0x1$

    | |   | | +-o AppleMEClientController  <class AppleMEClientController, id 0$

    | |   | +-o AppleIntelFramebuffer@0  <class AppleIntelFramebuffer, id 0x100$

    | |   | | +-o AppleMCCSControlModule  <class AppleMCCSControlModule, id 0x1$

    | |   | | | +-o AppleMCCSParameterHandler  <class AppleMCCSParameterHandler$

    | |   | | +-o AppleUpstreamUserClientDriver  <class AppleUpstreamUserClient$

    | |   | | +-o AGPM  <class AGPM, id 0x1000002cd, registered, matched, activ$

    | |   | | | +-o gpu-control  <class IOService, id 0x1000002ce, registered, $

    | |   | | |   +-o IOHWControl  <class IOHWControl, id 0x100000358, register$

    | |   | | +-o IOFramebufferI2CInterface  <class IOFramebufferI2CInterface, $

    | |   | | +-o display0  <class IODisplayConnect, id 0x100000353, registered$

    | |   | | | +-o AppleBacklightDisplay  <class AppleBacklightDisplay, id 0x1$

    | |   | | +-o IOFramebufferUserClient  <class IOFramebufferUserClient, id 0$

    | |   | | +-o IOFramebufferSharedUserClient  <class IOFramebufferSharedUser$

    | |   | +-o Gen6Accelerator  <class Gen6Accelerator, id 0x100000276, regist$

    | |   |   +-o Gen5752DContext  <class Gen5752DContext, id 0x10000035b, !reg$

    | |   |   +-o Gen575Device  <class Gen575Device, id 0x10000035f, !registere$

    | |   |   +-o Gen6GLContext  <class Gen6GLContext, id 0x100000360, !registe$

    | |   |   +-o Gen6Surface  <class Gen6Surface, id 0x100000364, !registered,$

    | |   |   +-o Gen6Surface  <class Gen6Surface, id 0x100000397, !registered,$

    | |   |   +-o Gen6Surface  <class Gen6Surface, id 0x100000398, !registered,$

    | |   |   +-o Gen575Device  <class Gen575Device, id 0x1000003a7, !registere$

    | |   |   +-o Gen6GLContext  <class Gen6GLContext, id 0x1000003a8, !registe$

    | |   |   +-o Gen575Device  <class Gen575Device, id 0x10000041b, !registere$

    | |   |   +-o Gen6GLContext  <class Gen6GLContext, id 0x10000041c, !registe$

    | |   |   +-o Gen6GLContext  <class Gen6GLContext, id 0x10000041d, !registe$

    | |   |   +-o Gen6Surface  <class Gen6Surface, id 0x10000041e, !registered,$

 

 

 

I also have this information:

 

"DisplayProductID" = 728

 

"DisplayVendorID" = 12516

 

 

 

I've placed the ssdt.dsl file on the Patched folder along side the dsdt you posted. Should I change generate c and p states to "false" in the config.plist file?

 

Again thanks

Link to comment
Share on other sites

ah! well yes i believe, mbp8,3 uses the 2nd buffer table which has single buffer for LCD which is what is showing in the output.

versus mbp8,1 which has the 4 buffers LCD + 3 for DP/HDMI/DVI

 

you can either set the model to macbookpro8,1 or inject property AAPL,snb-platform-id=0x00000100

 

to make clover use mbp8,1 change/add this to SMBIOS section of config.plist

 

<key>SMBIOS</key>

<dict>

<key>BiosVersion</key>

<string>MBP81.88Z.0047.B27.1102071707</string>

<key>ProductName</key>

<string>MacBookPro8,1</string>

<key>SerialNumber</key>

<string>W89F9196DH2G</string>

<key>Trust</key>

<true/>

</dict>

@tluck

 

Thank you so much!

 

MacBookPro 8,1 was the issue. It works now.

 

I have another problem though. The changes I make in the config.plist don't make any change. On the contrary I can only change the product name if I change it on the Clover Boot Options menu, which is a little bit annoying. Any way you can make the config.plist "prevail" over the clover boot options?

Link to comment
Share on other sites

@espamac - which config.plist are changing? there are 2.

 

/EFI/CLOVER/config.plist                                              setup for OSX installers or virgin OS. 

/EFI/CLOVER/OEM/<product-board-id>/config.plist   edit/change this one for normal use.

Link to comment
Share on other sites

Hey truck,

 

funny someone had the same problem... I also had figured out I need to set to MacbookPro8,1 which I did (Clover was setting MacbookPro8,3). However, the problem persists.

 

Looks like I also only have one frame buffer, but why?

 

    | |   | +-o AppleIntelSNBGraphicsFB  <class AppleIntelSNBGraphicsFB, id 0x1000002b3, registered, matched, active, busy 0 (114 ms), retain 7>
    | |   | | | {
    | |   | | |   "IOClass" = "AppleIntelSNBGraphicsFB"
    | |   | | |   "CFBundleIdentifier" = "com.apple.driver.AppleIntelSNBGraphicsFB"
    | |   | | |   "FeatureControl" = {"Watermarks"=1,"RenderStandby"=1,"GPUInterruptHandling"=1,"DPM"=1,"MaximumSelfRefreshLevel"=3,"Gamma"=1,"PowerStates"=1,"IgnorePanelTimings"=0,"UseInterruptFilter"=1,"SpreadON"=1,"CachedEDIDDisable"=0,"FastDisplayDetectDisable"=0,"FBC"=0,"SetRC6Voltage"=0}
    | |   | | |   "IOProviderClass" = "IOPCIDevice"
    | |   | | |   "IOPCIClassMatch" = "0x03000000&0xff000000"
    | |   | | |   "IOSourceVersion" = "0.0.0.0.0"
    | |   | | |   "FBCControl" = {"Compression"=0}
    | |   | | |   "IOProbeScore" = 80000
    | |   | | |   "NumFrameBuffer" = <01>
    | |   | | |   "VRAM,totalsize" = <00000020>
    | |   | | |   "IOMatchCategory" = "IOFramebuffer"
    | |   | | |   "dpm" = <01000000>
    | |   | | |   "fRC6HandlingFuncs" = <b881261180ffffff>
    | |   | | |   "IOPCIPrimaryMatch" = "0x01068086 0x11068086 0x16018086 01168086 01268086"
    | |   | | | }
 
This is using your DSDT. I tried using the one I had for ML, but ports don't work there either (though I haven't tried ioreg there).
 
Also have this in the logs:
 
21/03/14 16:08:58,000 kernel[0]: [AGPM Controller] unknownPlatform
 
There is a fix here for it I could try, can I somehow patch using Clover or does it only patch binaries? 
Link to comment
Share on other sites

@miaumiau2 

 

well something is not right. it looks like MPB8,1 is not set right? capture your /EFI folder and and "ioreg -l" output and post. 

 

are you using the OEM folder? meaning which config.plist are you editing? 

 

AGPM should pick up the  IGPU device in the MBP8,1 key (again if set right.)

Link to comment
Share on other sites

@tluck

 

This is weird... I must be doing something wrong because I'm editing the config.plist on the OEM folder! I even deleted the other config.plist. But still it only changes to 8,1 if set in the Clover boot options...

Link to comment
Share on other sites

@Espamac

Relax, and take a deep breath...

 

First, don't delete the config.plist outside of your 'OEM' folder. That's clover's main configuration. If it doesn't exist, Clover will start up with default settings which are not specific to our thinkpad systems. Second, if you intend to use the OEM folder, the config.plist should reside within another folder within OEM folder. It should be named whatever your system id is. So for example my config.plist is in /EFI/CLOVER/OEM/2349GCU/config.plist

 

if your config is not in the right place, it won't be read.

 

EDIT: Sorry Tluck, you posted your response while I was still typing mine. I think I'm way off on Espamac's problem

Link to comment
Share on other sites

@sheep_reaper

 

Thank you! The config.plist is already in the OEM/4291BG/ folder so it theoretically should be reading it alright. 

 

@tluck 

 

I'm gonna try your suggestion and will post back the results, again thanks for your time.

Link to comment
Share on other sites

this maybe all you need in the config.plist for the SMBIOS section.   it was enough to make my box a MBP8,3 when i changed the 1 to 3.

 

<key>SMBIOS</key>

<dict>

  <key>BoardVersion</key>

  <string>MacBookPro8,1</string>

  <key>ProductName</key>

  <string>MacBookPro8,1</string>

  <key>Mobile</key>

  <true/>

  <key>Trust</key>

  <true/>

</dict>

Link to comment
Share on other sites

Ok, back on track... I had only changed one of the values. I now have 4 frame buffers. However, when connecting to my External Display via Displayport it crashes. Not mavericks, the display! I can't switch sources our even turn it off anymore and need to unplug it... Never knew Monitors could Crash.

 

21/03/14 21:43:40,115 WindowServer[90]: Received display connect changed for display 0x3900b600
21/03/14 21:43:40,117 WindowServer[90]: Found 11 modes for display 0x3900b600 [6, 5]
21/03/14 21:43:40,121 WindowServer[90]: Received display connect changed for display 0x3f003d
21/03/14 21:43:40,123 WindowServer[90]: Found 15 modes for display 0x003f003d [12, 3]
21/03/14 21:43:40,124 WindowServer[90]: Display 0x003f003d changed state to online
21/03/14 21:43:40,132 WindowServer[90]: Received display connect changed for display 0x3f003e
21/03/14 21:43:40,132 WindowServer[90]: Found 1 modes for display 0x003f003e [1, 0]
21/03/14 21:43:40,132 WindowServer[90]: Received display connect changed for display 0x3f003f
21/03/14 21:43:40,132 WindowServer[90]: Found 1 modes for display 0x003f003f [1, 0]
21/03/14 21:43:40,157 WindowServer[90]: Display 0x3900b600: GL mask 0x1; bounds (0, 0)[1366 x 768], 11 modes available
Main, Active, on-line, enabled, built-in, boot, OpenGL-accel, Vendor 30e4, Model 2d8, S/N 0, Unit 0, Rotation 0
UUID 0x56a261ac023a91a83de96bf5cb585786, ColorProfile { 3, "Generic RGB Profile"}
21/03/14 21:43:40,157 WindowServer[90]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:43:40,158 WindowServer[90]: Display 0x003f0040: GL mask 0x10; bounds (2390, 0)[1 x 1], 2 modes available
off-line, enabled, OpenGL-accel, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 4, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:43:40,158 WindowServer[90]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:43:40,158 WindowServer[90]: Display 0x003f003f: GL mask 0x8; bounds (2391, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 3, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:43:40,159 WindowServer[90]: Display 0x003f003e: GL mask 0x4; bounds (2392, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 2, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:43:40,159 WindowServer[90]: Display 0x70c81a01: GL mask 0x2; bounds (1366, 0)[1920 x 1080], 15 modes available
Active, on-line, enabled, Vendor 15c3, Model 2068, S/N 0, Unit 1, Rotation 0
UUID 0x3816f6df8e010805ab26430c1aa32b1b, ColorProfile { 4, "EV2333W"}
21/03/14 21:43:40,160 Dock[205]: Set a breakpoint at CGSLogError to catch errors as they are logged.
21/03/14 21:43:40,160 Dock[205]: CGSCopyDisplayUUID: Invalid display 0x70c81a01
21/03/14 21:43:40,160 Dock[205]: uuid_callback_master: failed to retrieve UUID for display 0x70c81a01 (1001) (invariant failure)
21/03/14 21:43:40,161 Dock[205]: CGSCopyDisplayUUID: Invalid display 0x70c81a01
21/03/14 21:43:40,161 Dock[205]: uuid_callback_master: failed to retrieve UUID for display 0x70c81a01 (1001) (invariant failure)
21/03/14 21:43:40,162 Dock[205]: CGSCopyDisplayUUID: Invalid display 0x70c81a01
21/03/14 21:43:40,162 Dock[205]: uuid_callback_master: failed to retrieve UUID for display 0x70c81a01 (1001) (invariant failure)
21/03/14 21:43:40,166 WindowServer[90]: Display 0x3900b600: Unit 0: Startup Mode 1366 x 768, CGSThirtytwoBitColor, Resolution 1, ioModeID 0x80000000, ioModeDepth 0x0, IOReturn 0x0
21/03/14 21:43:40,166 WindowServer[90]: Display 0x70c81a01: Unit 1: Startup Mode 1920 x 1080, CGSThirtytwoBitColor, Resolution 1, ioModeID 0x80000000, ioModeDepth 0x0, IOReturn 0x0
21/03/14 21:43:40,166 WindowServer[90]: Display added
21/03/14 21:43:40,166 WindowServer[90]: Display removed
21/03/14 21:43:40,168 WindowServer[90]: Display 0x3900b600: GL mask 0x1; bounds (0, 0)[1366 x 768], 11 modes available
Main, Active, on-line, enabled, built-in, boot, OpenGL-accel, Vendor 30e4, Model 2d8, S/N 0, Unit 0, Rotation 0
UUID 0x56a261ac023a91a83de96bf5cb585786, ColorProfile { 3, "Generic RGB Profile"}
21/03/14 21:43:40,169 WindowServer[90]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:43:40,169 WindowServer[90]: Display 0x003f0040: GL mask 0x10; bounds (4310, 0)[1 x 1], 2 modes available
off-line, enabled, OpenGL-accel, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 4, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:43:40,169 WindowServer[90]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:43:40,169 WindowServer[90]: Display 0x003f003f: GL mask 0x8; bounds (4311, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 3, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:43:40,169 WindowServer[90]: Display 0x003f003e: GL mask 0x4; bounds (4312, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 2, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:43:40,169 WindowServer[90]: Display 0x70c81a01: GL mask 0x2; bounds (1366, 0)[1920 x 1080], 15 modes available
Active, on-line, enabled, Vendor 15c3, Model 2068, S/N 0, Unit 1, Rotation 0
UUID 0x3816f6df8e010805ab26430c1aa32b1b, ColorProfile { 4, "EV2333W"}
21/03/14 21:43:40,169 WindowServer[90]: _CGXGLDisplayContextForDisplayDevice: acquired display context (0x7fb30ac11ff0) - enabling OpenGL
21/03/14 21:43:40,170 WindowServer[90]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:43:42,122 WindowServer[90]: **DMPROXY** (2) Found `/System/Library/CoreServices/DMProxy'.
21/03/14 21:43:42,133 WindowServer[90]: **DMPROXY** (2) Found `/System/Library/CoreServices/DMProxy'.
21/03/14 21:43:42,164 WindowServer[90]: **DMPROXY** (2) Found `/System/Library/CoreServices/DMProxy'.
21/03/14 21:43:42,168 WindowServer[90]: **DMPROXY** (2) Found `/System/Library/CoreServices/DMProxy'.
21/03/14 21:43:42,173 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,174 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,195 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,196 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,216 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,217 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,246 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,247 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,260 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,261 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,270 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,271 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,280 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,280 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,290 WindowServer[90]: Display 0x3900b600: Unit 0; ColorProfile { 3, "Generic RGB Profile"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:43:42,290 WindowServer[90]: Display 0x70c81a01: Unit 1; ColorProfile { 4, "EV2333W"}; TransferFormula (1.000000, 1.000000, 1.000000)

EDIT:

 

I switched to sot's DSDT and it looks better in the logs, but still freezes my external monitor (black screen, no more reaction on button presses)

 

21/03/14 21:54:18,100 WindowServer[92]: Received display connect changed for display 0x2b903800
21/03/14 21:54:18,102 WindowServer[92]: Found 12 modes for display 0x2b903800 [7, 5]
21/03/14 21:54:18,105 WindowServer[92]: Received display connect changed for display 0x70c81a01
21/03/14 21:54:18,106 WindowServer[92]: Found 1 modes for display 0x70c81a01 [1, 0]
21/03/14 21:54:18,106 WindowServer[92]: Display 0x70c81a01 changed state to offline
21/03/14 21:54:18,106 WindowServer[92]: Received display connect changed for display 0x3f003e
21/03/14 21:54:18,107 WindowServer[92]: Found 1 modes for display 0x003f003e [1, 0]
21/03/14 21:54:18,107 WindowServer[92]: Received display connect changed for display 0x3f003f
21/03/14 21:54:18,107 WindowServer[92]: Found 1 modes for display 0x003f003f [1, 0]
21/03/14 21:54:18,123 WindowServer[92]: Display 0x2b903800: GL mask 0x1; bounds (0, 0)[1366 x 768], 12 modes available
Main, Active, on-line, enabled, built-in, boot, OpenGL-accel, Vendor 30ae, Model 40e0, S/N 0, Unit 0, Rotation 0
UUID 0xb5952b58f709432e814c28b243072c9b, ColorProfile { 2, "Display"}
21/03/14 21:54:18,123 WindowServer[92]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:54:18,123 WindowServer[92]: Display 0x003f0040: GL mask 0x10; bounds (4310, 0)[1 x 1], 2 modes available
off-line, enabled, OpenGL-accel, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 4, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:54:18,123 WindowServer[92]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:54:18,123 WindowServer[92]: Display 0x003f003f: GL mask 0x8; bounds (4311, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 3, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:54:18,123 WindowServer[92]: Display 0x003f003e: GL mask 0x4; bounds (4312, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 2, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:54:18,123 WindowServer[92]: Display 0x003f003d: GL mask 0x2; bounds (1366, 0)[1 x 1], 1 modes available
off-line, enabled, OpenGL-accel, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 1, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff, ColorProfile { 3, "EV2333W"}
21/03/14 21:54:18,123 WindowServer[92]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:54:18,127 WindowServer[92]: Display 0x2b903800: Unit 0: Startup Mode 1366 x 768, CGSThirtytwoBitColor, Resolution 1, ioModeID 0x80001000, ioModeDepth 0x0, IOReturn 0x0
21/03/14 21:54:18,127 WindowServer[92]: Display added
21/03/14 21:54:18,127 WindowServer[92]: Display removed
21/03/14 21:54:18,129 WindowServer[92]: Display 0x2b903800: GL mask 0x1; bounds (0, 0)[1366 x 768], 12 modes available
Main, Active, on-line, enabled, built-in, boot, OpenGL-accel, Vendor 30ae, Model 40e0, S/N 0, Unit 0, Rotation 0
UUID 0xb5952b58f709432e814c28b243072c9b, ColorProfile { 2, "Display"}
21/03/14 21:54:18,129 WindowServer[92]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:54:18,129 WindowServer[92]: Display 0x003f0040: GL mask 0x10; bounds (2390, 0)[1 x 1], 2 modes available
off-line, enabled, OpenGL-accel, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 4, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:54:18,129 WindowServer[92]: GLCompositor: GL renderer id 0x01024301, GL mask 0x0000001f, accelerator 0x000049cb, unit 0, caps QEX|MIPMAP, vram 579 MB
texture max 8192, viewport max {8192, 8192}, extensions FPRG|NPOT|GLSL|FLOAT
21/03/14 21:54:18,129 WindowServer[92]: Display 0x003f003f: GL mask 0x8; bounds (2391, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 3, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:54:18,129 WindowServer[92]: Display 0x003f003e: GL mask 0x4; bounds (2392, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 2, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff
21/03/14 21:54:18,129 WindowServer[92]: Display 0x003f003d: GL mask 0x2; bounds (2393, 0)[1 x 1], 1 modes available
off-line, enabled, Vendor ffffffff, Model ffffffff, S/N ffffffff, Unit 1, Rotation 0
UUID 0xffffffffffffffffffffffffffffffff, ColorProfile { 3, "EV2333W"}
21/03/14 21:54:20,106 WindowServer[92]: **DMPROXY** (2) Found `/System/Library/CoreServices/DMProxy'.
21/03/14 21:54:20,127 WindowServer[92]: **DMPROXY** (2) Found `/System/Library/CoreServices/DMProxy'.
21/03/14 21:54:20,137 WindowServer[92]: Display 0x2b903800: Unit 0; ColorProfile { 2, "Display"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:54:20,158 WindowServer[92]: Display 0x2b903800: Unit 0; ColorProfile { 2, "Display"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:54:20,170 WindowServer[92]: Display 0x2b903800: Unit 0; ColorProfile { 2, "Display"}; TransferFormula (1.000000, 1.000000, 1.000000)
21/03/14 21:54:20,179 WindowServer[92]: Display 0x2b903800: Unit 0; ColorProfile { 2, "Display"}; TransferFormula (1.000000, 1.000000, 1.000000)

 

EDIT 2: I suspect it has to do with hardware acceleration not working... no ripple effect on dashboard. But hey the unknown platform is gone

 

EDIT 3: Nope, hardware acceleration works, I have ripples :-) But still no progress on display port monitor. Looks like display is added and removed. is it normal?

Link to comment
Share on other sites

I've done that to my monitor before. I have an Acer 19" LCD from like 5 years ago. It only has a vga port, but its EDID Allows it to pnp and Windows hot detects it just fine. But one day, out of the blue it stopped working. After a reboot or two, it came back on, But windows was calling it a non-pnp monitor. I said 'that's odd...' Up until then it was always detected by name and its driver loaded and everything. But that day it just showed non-pnp monitor. Then I noticed that a whole bunch of new resolutions and refresh rates opened up. And I thought, well awesome, let's see if we can't tweak these. So stupidly, instead of realizing that Windows could not correctly communicate with the monitor (so it couldn't probe for valid res+rr) I set about picking combinations that i'd never used before.

 

Some of them made the screen go rainbow.. some of them made the rainbow kind of twinkle like tripping on acid... some cut off a portion of the image, and the auto-adjuster couldn't fix it ... the last one i tried made the screen go completely black. At no point did I see an OSD message about an invalid resolution. My Gateway 21" on the other hand let's you know when you screwed something up. So I slowly wept when the monitor didn't come back on after the 15 sec confirmation reset. The light remained amber and I though I had blown it up. But lo, when I rebooted, it came back on, and cried some more. (So pathetic to get attached to your toys. But you tend to appreciate them more when every piece of equipment you have is a hand me down or a garbage pick or an inheritance from work you do on other's computers.)

 

So after all of that, while doing doing some cable management a few days later, I found that one of my 2 dip{censored}, butthole, {censored} cats had chewed (almost) through several cables, including, to my surprise, my vga cable. I examined it thoroughly and found that some of the wires were exposed and possibly shorting. I was amazed because the jacket on this cable was really thick. Even thicker, some of my AC cables had deep punctures in them. I almost wish they'd have been a little deeper...

 

Anyways, I replaced the vga cable, and the monitor started working properly again. It was detected correctly in Windows and I was once again restricted to only valid res+rr. Driver loaded and everything.

 

</endstory>

  • Like 1
Link to comment
Share on other sites

this maybe all you need in the config.plist for the SMBIOS section.   it was enough to make my box a MBP8,3 when i changed the 1 to 3.

 

SMBIOS

 

  BoardVersion

  MacBookPro8,1

  ProductName

  MacBookPro8,1

  Mobile

 

  Trust

 

 

@tluck

 

Something was wrong with my install. The config.plist wasn't loading. I did a fresh install and pasting that into the config.plist solved it. Thank you so much for your help.

Link to comment
Share on other sites

Hi tulck, 

 

My external monitor(Dell U2211H) not work no matter using VGA cable , DP cable or DVI cable(on dock). Everything works fine under Win8 exclude the hardware bug.

I can guaranty the setup is fully follow the steps in your guideline.

 

when I close the lid , It can be boot into clover screen and choose MAC OS ,splash screen spin normal, then go to balckscreen(without input signal), automatic  reboot system again.

check with `bdmesg` show it loading right the OEM config.plist without errors happen. My T420 is 4180CTO(get to know from bios). the hardware is almost same like your's except CPU (i7 2820 BGA TO PGA)

 

if i remove the /System/Library/Displays/Overrides/DisplayVendorID-30e4, the phenomenon is same like external monitor have...automatic reboot. So maybe need update DisplayVendorID for external monitor.

 

I try to generate my specific monitor edid under MAC but fail when I log in safe and verbose mode using genedid.sh . because it cannot detect get any information of external monitor in this  mode.

`ioreg -l` only find built-in monitor.

 

So I try to get edie under linux  //using this same monitor connect another pc with centos installed:


sh#monitor-get-edid | hexdump -C

00000000  00 ff ff ff ff ff ff 00  10 ac 5e 40 4c 34 36 37  |..........^@L467|

00000010  17 14 01 03 80 30 1b 78  ee ee 95 a3 54 4c 99 26  |.....0.x....TL.&|

00000020  0f 50 54 a5 4b 00 71 4f  81 80 d1 c0 01 01 01 01  |.PT.K.qO........|

00000030  01 01 01 01 01 01 02 3a  80 18 71 38 2d 40 58 2c  |.......:..q8-@X,|

00000040  45 00 db 0b 11 00 00 1e  00 00 00 ff 00 4d 46 31  |E............MF1|

00000050  58 58 30 36 38 37 36 34  4c 0a 00 00 00 fc 00 44  |XX068764L......D|

00000060  45 4c 4c 20 55 32 32 31  31 48 0a 20 00 00 00 fd  |ELL U2211H. ....|

00000070  00 38 4c 1e 53 11 00 0a  20 20 20 20 20 20 00 74  |.8L.S...      .t|

 

pick middle parts of hex number to a single line:

00ffffffffffff0010ac5e404c3436371714010380301b78eeee95a3544c99260f5054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500db0b1100001e000000ff004d463158583036383736344c0a000000fc0044454c4c205532323131480a20000000fd00384c1e5311000a2020202020200074  

 

sh#origEDID=00ffffffffffff0010ac5e404c3436371714010380301b78eeee95a3544c99260f5054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500db0b1100001e000000ff004d463158583036383736344c0a000000fc0044454c4c205532323131480a20000000fd00384c1e5311000a2020202020200074

 

sh#echo "$origEDID" | xxd -r -p | openssl base64

AP///////wAQrF5ATDQ2NxcUAQOAMBt47u6Vo1RMmSYPUFSlSwBxT4GA0cABAQEB

AQEBAQEBAjqAGHE4LUBYLEUA2wsRAAAeAAAA/wBNRjFYWDA2ODc2NEwKAAAA/ABE

RUxMIFUyMjExSAogAAAA/QA4TB5TEQAKICAgICAgAHQ=


 

the red one should be i wanted it is different with built-in monitors below:


AP///////wAw5OICAAAAAAEUAQOAHxF46jOFmVZVkScXUFQAAAABAQEBAQEB

AQEBAQEBAQEBgCVAgGCEGjAwIDUANq4QAAAYQB9AgGCEGjAwIDUANq4QAAAY

AAAA/gBMZW5vdm8KICAgICAgAAAA/gAxNjAweDkwMAogICAgAMc=


 

but i don't know  how to get DisplayProductID , DisplayVendorID and other parameters of Dell U2211H.

 

Hi tulck, could you please help me here? I really don't have a clue for this problem.

Any more information you may want me show you,please let me know.

 

 

Installation

 

Usb clean install

Boot with CLOVER uefi only

Post-install

1. Use OEM folder and config.plist as is, install custom kexts by Kext Utility from zip to /System/Library/Extension. 

2. Reboot - hit spacebar on your boot selection to restart without kext caches to make sure it loads custom kexts just installed.

3. Create custom SSDT for proper P/C states to match system and put it into OEM folder

Edited by plinux
Link to comment
Share on other sites

@plinux - hmm. what is your Product Model set? if set to MBP8,1 then there will be 4 frame buffers. if you have different product set it may not have 4 buffers. i just added an explicit setting of MPB8,1 to my clover files but have not published this new config yet. anyway....

 

the DSDT and/or clover config.plist for the 1600x900 display,  sets the built-in LCD EDID to be vendor 30e4 product 2e2.  the System Display Override file is  a match for this vendor/product and  OSX reads from the supplied EDID and looks for this file to get other Display params and setting.  this file is not required.

 

if you attach an external monitor, the EDID for that monitor is read and if OSX and looks at vendor/product and if a matching Display file is there,  it will read it. again that file is not required.  For example, i use a 24" HP monitor attached via DP to DP. there is no Display Override file for this monitor.    when i attach a monitor to the DP it auto senses the presence and then uses  the 2nd or 3rd frame buffer depending on  whether it is attached to the Side port or Dock Port. 

 

here are 2 commands to run and capture....

 

ioreg -l | grep EDID

ioreg -l | grep -i framebuffer | grep -v IOK 

 

shows the 2 frame buffers in use. anyway the Vendor ID and Product ID are in bytes 9-12

to answer your question .... from your EDID...

origEDID=00ffffffffffff0010ac5e404c3436371714010380301b78eeee95a3544c99260f5054a54b00714f8180d1c001010101010101010101023a801871382d40582c4500db0b1100001e000000ff004d463158583036383736344c0a000000fc0044454c4c205532323131480a20000000fd00384c1e5311000a2020202020200074

 

bytes 9-12 are:

 

10 ac 5e 40

 

so the 

vendorID =10ac

productid=405e

 

the product bytes are swapped. 

 

EDIT - more info...

 

@miaumiau2 and plinux - 

 

here is a nice post with a tool that may address your external monitor issues for Dell. builds a property display override. 

 

http://www.ispcolohost.com/2013/07/11/connecting-a-dell-ultrasharp-u3014-to-a-mac-ugh/

Edited by tluck
Link to comment
Share on other sites

@plinux - cool.

 

I just posted a new bundle to the guide with model MackBookPro8,1 explicitly called out - given the recent number of incidents where the model is not set to this expectation.

Note: I have been booting with UEFI lately (last few months vs MBR off usb) and the random sleep/wake or PS2 problems seem to be gone! 

  • Like 1
Link to comment
Share on other sites

@tluck this is fantastic. Literally everything works. Thanks so much!!!


Okay I may have spoken a bit too soon... My UltraNav mouse buttons are acting weird. A single click actually clicks TWICE instead... and this is happening on both the left and right UltraNav buttons. Is anyone else having this issue? So close to perfection!

 

So I just replaced voodoops2controller with the old version and it works perfectly now. heehee...

Link to comment
Share on other sites

 Share

×
×
  • Create New...